BAB 2 LANDASAN TEORI
2.1
Teori Umum
2.1.1
Pengertian Analisis Sistem Menurut O’Brien (2003,p8), analisis adalah studi sistem untuk menentukan apa yang akan di lakukan di berbagai keadaan dan konsekuensi dari apa yang dikerjakan. Sedangkan sistem adalah sekumpulan komponen yang berhubungan yang bekerja sama untuk tujuan yang sama dengan menerima masukan dan menghasilkan keluaran dalam sebuah proses transformasi yang terorganisasi. Jadi analisis sistem merupakan proses mempelajari suatu sistem untuk menetapkan apa yang dilakukan sistem dalam berbagai keadaan dan apa akibat dari yang dilakukan oleh sistem tersebut. Sedangkan menurut McLeod (2001, p190), analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui. Jadi dapat disimpulkan bahwa analisis sistem adalah memeriksa, meneliti, mencari di mana letak kesalahan sistem yang sudah ada, serta menentukan apa yang akan dilakukan sistem, kemudian diperbaiki atau diperbaharui untuk merancang sistem yang baru. Analisis sistem juga merupakan bagian dari SDLC (System Development Life Cycle) dimana sistem analis menentukan jalannya sistem informasi yang sudah ada didalam suatu perusahaan, kemudian memperkirakan kebutuhan apa yang diinginkan user pada sistem yang baru. Tujuan utama dari analisis sistem adalah untuk memenuhi kebutuhan user, sehingga diperlukan gambaran yang lengkap, tidak ambigu, dan konsisten 7
8 mengenai kebutuhan suatu sistem dan apa yang perlu dilakukan oleh sistem tersebut.
2.1.2
Pengertian Perancangan Sistem Menurut Valacich, George dan Hoffer (2004, p23), perancangan sistem adalah suatu tahap dalam siklus pengembangan sistem (System Development Life Cycle) dimana sistem yang dipilih untuk pengembangan dalam analisis sistem pertama kali dijabarkan secara tersendiri dari semua platform komputer (desain logika) dan kemudian diubah menjadi detil-detil teknologi secara spesifik (desain fisik) dari semua rancangan pemrograman dari sistem yang dapat diselesaikan. Menurut McLeod (2001, p192), perancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru. Jika sistem itu berbasis komputer, rancangan dapat menyertakan spesifikasi jenis peralatan yang akan dipergunakan. Jadi dapat disimpulkan bahwa perancangan sistem adalah penentuan bagaimana sebuah sistem yang akan dibuat, dan mengembangkannya sesuai dengan diinginkan oleh analisis sistem baik penentuan proses maupun datanya.
2.1.3
UML (Unified Modelling Language) UML (Unified Modeling Language) (Whitten, Bentley dan Dittman, 2004, p408), adalah sekumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. Sedangkan menurut Roff, Jason T (2003, p35), UML adalah sebuah notasi
9 dan bahasa semantic yang bisa diaplikasikan pada setiap proses pengembangan perangkat lunak. Diagram UML dikelompokan menjadi beberapa perspektif yang berbeda untuk memodelkan suatu sistem, antara lain: a.
Class Diagram Class diagram adalah diagram yang menunjukkan serangkaian kelas, antara muka, kolaborasi dan hubungan diantaranya (James Rumbaugh, Ivar Jacobson, Grady Booch, 1998, p107). Class Diagram menggambarkan elemen – elemen data dalam sistem yang hendak dikembangkan, cara mengelompokkan elemen – elemen data, serta hubungan antar elemen data. Diagram ini mengidentifikasi atribut dan operasi yang dimiliki oleh setiap class. ( Britton and Doake, 2001, p.69) Pada class diagram terdapat beberapa simbol yang biasa digunakan dalam pemodelan sistem, seperti yang ditunjukkan pada gambar.
−
= Class
−
= Assosiation
−
= Generalization
10
Gambar 2. 1: Contoh Class Diagram Sumber : http://mattonsoftware.com/Images/Order_Example_Class_Diagram.JPG b.
Use case Diagram Use case diagram merupakan gambaran yang digunakan untuk memahami kebutuhan sistem. Suatu use case model dapat membantu dalam perencanaan, pengembangan proyek, dan dokumentasi kebutuhan sistem. Use case adalah suatu interaksi antara user dengan suatu sistem yang menggambarkan keinginan dari user dan tanggapan sistem terhadap user.(Bahrami, 1999, p.129). Pada use case diagram terdapat beberapa simbol yang biasa digunakan (ditunjukkan pada gambar). Contoh penggunaan use case diagram ditunjukkan pada gambar
11 −
= Aktor, menggambarkan user yang berperan
−
= System boundary
−
=
Use case, merupakan even yang terjadi
−
= Association, penghubung antara aktor dan use case
Berikut adalah contoh dari use case diagram :
Gambar 2. 2 : Contoh Use case Diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/uc08.GIF
12 c.
Sequence diagram Sequence diagram adalah sebuah bentuk diagram interaksi yang menunjukan objek sebagai lifeline beroperasi dengan interaksi yang merepresentasikan sebagai pesan bergambar, anak panah dari sumber lifeline kepada sasaran lifeline. Sequence diagram sangat efektif untuk menunjukan bagaimana komunikasi antar objek, dan pesan apa yang menjadi pemicu dari komunikasi tersebut. Selain itu Sequence diagram tidak ditujukan untuk menunjukkan logika prosedural yang kompleks. Komponen – komponen yang digunakan dalam Sequence diagram antara lain: 1.
Lifeline merepresentasikan partisipasi individual ( object class ).
Gambar 2. 3 : Contoh Lifeline Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq01.GIF
2.
Aktor Aktor sebenarnya masih termasuk dalam lifeline, tetapi dalam kasus tertentu jika Sequence diagram dimiliki oleh use case.
13
Gambar 2. 4 : Contoh aktor dalam Sequence diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq02.GIF
3.
Message (pesan) Ditunjukkan sebagai anak panah.
Gambar 2. 5 : Contoh pesan dalam Sequence diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq03.GIF
14 4.
Self message Mereprensentasikan pengulangan ( recursive ) dari suatu operasi, atau metode yang memanggil metode yang sama.
Gambar 2. 6 : Contoh self message pada Sequence diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq04.GIF
5.
Start / end lifeline Lifeline dapat di buat atau dihancurkan selama skala waktu yang direpresentasikan oleh Sequence diagram. Pada kasus tertentu lifeline
berakhir dengan tanda stop yang
direprensentasikan oleh garis silang.
15
Gambar 2. 7 : Contoh Start/end lifeline pada Sequence diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq05.GIF Berikut adalah contoh dari Sequence diagram :
Gambar 2. 8 : Contoh Sequence diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/seq07.GIF
16 d.
State Transition Diagram Menurut Britton dan Doake (2001, p.109), state transition diagram menggambarkan tanggapan dari suatu objek terhadap suatu aksi, tanggapan dapat berupa perpindahan objek dari suatu keadaan pada suatu waktu ke keadaan lainnya, atau objek tetap berada pada keadaan yang sama. State transition diagram merupakan sifat ( behavior ) dari suatu class . Notasi yang digunakan pada State Transation Diagram ditunjukan pada gambar di bawah ini : 1.
Initial State
2.
Final State
3.
Transition
4.
State
Keterangan : 1.
Initial state yaitu titik awal proses.
2.
Final State yaitu kondisi akhir proses.
3.
Transition yaitu suatu hubungan antara dua state yang menunjukkan bahwa suatu objek pada state pertama akan melakukan aksi tertentu dan memasuki state kedua ketika terjadi suatu kejadian dan memenuhi kondisi tertentu.
17 4.
State merupakan suatu kondisi atau keadaan suatu objek pada waktu
tertentu
selama
memenuhi
beberapa
kondisi,
melakukan aktivitas, atau menunggu suatu kejadian.
Gambar 2. 9 : Contoh State Diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/sm01.GIF
e.
Activity diagram Activity diagrams menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan State Diagram khusus, di mana sebagian besar state adalah aksi dan sebagian besar transisi dipicu oleh selesainya state sebelumnya (internal processing).
18 Oleh karena itu Activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Notasi yang digunakan pada State Transation Diagram ditunjukan pada gambar di bawah ini : •
= Activity
•
= intitial state
•
= final state
19
•
= decision
•
= fork
•
= join
•
= control flow
Keterangan : 1. Activity
= spesifikasi dari sifat-sifat yang memiliki parameter yang berurutan.
2. Intial state
= posisi ( state ) dimana activity dimulai
3. Final state
= posisi ( state ) dimana activity berakhir
4. Decision
= merupakan sebuah node, yang mengharuskan adanya pemenuhan tugas / activity untuk dapat menuju ke activity berikut
5. Fork
= memisahkan sebuah activity menjadi 2 activity yang berbeda
20 6. Join
=
menggabungkan 2 activity menjadi sebuah activity
7. Control flow =
menunjukkan arus kontrol dari activity
ke
activity yang lain
Gambar 2. 10 : Contoh Activity diagram Sumber : http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/dd06.GIF
f.
Deployment Diagram Deployment diagram digunakan untuk melayani pemodelan hardware yang digunakan dalam implementasi sistem dan asosiasinya antara komponen-komponen tersebut. Elemen yang digunakan dalam deployment diagram adalah nodes (ditunjukkan sebagai sebuah cube), komponen (ditunjukkan sebagai sebuah kotak bujursangkar) dan juga asosiasi.
21
Gambar 2. 11 : Contoh Deployment Diagram Sumber : http://wiki.perfsonar.net/jra1-wiki/images/8/80/Deployment_Diagram_AS.png
2.1.4
Internet Internet adalah suatu media informasi komputer global yang dapat dikatakan sebagai teknologi tercanggih abad ini. Dengan adanya internet dapat melakukan semua aktivitas yang sulit dilakukan secara biasa mulai dari menonton, baca berita, belanja, melakukan pemesanan produk secara online dan lainnya. Secara etimologis internet berasal dari bahasa inggris, yakni inter berarti antar dan net berarti jaringan sehingga dapat kita artikan hubungan antarjaringan (Bunafit Nugroho, 2004, p1).
2.1.5 Protokol internet Protokol Internet (Inggris Internet Protocol disingkat IP) adalah protokol lapisan jaringan (network layer dalam OSI Reference Model) atau protokol lapisan internetwork (internetwork layer dalam DARPA Reference Model) yang
22 digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing paket data antar host-host di jaringan komputer berbasis TCP/IP. Versi IP yang banyak digunakan adalah IP versi 4 (IPv4) yang didefinisikan pada RFC 791 dan dipublikasikan pada tahun 1981, tetapi akan digantikan oleh IP versi 6 pada beberapa waktu yang akan datang. Protokol IP merupakan salah satu protokol kunci di dalam kumpulan protokol TCP/IP. Sebuah paket IP akan membawa data aktual yang dikirimkan melalui jaringan dari satu titik ke titik lainnya. Metode yang digunakannya adalah connectionless yang berarti protokol tidak perlu membuat dan memelihara sebuah sesi koneksi. Selain itu, protokol ini juga tidak menjamin penyampaian data, tapi hal ini diserahkan kepada protokol pada lapisan yang lebih tinggi (lapisan transport dalam OSI Reference Model atau lapisan antar host dalam DARPA Reference Model), yakni protokol Transmission Control Protocol (TCP). (http ://id.wikipedia.org/wiki/protokol internet)
2.1.6
HTTP (Hyper Text Transfer Protocol) HTTP (Hypertext Transfer Protocol) adalah Protokol yang dipergunakan untuk mentransfer dokumen dalam world wide web (WWW). Protokol ini adalah protokol ringan , tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen. Prosedur HTTP berkerja ketika client melakukan sebuah permintaan (request) akan suatu file tertentu dari server dalam suatu hubungan TCP/IP. Kemudian server yang menerima pesan request tersebuat akan mencari dan
23 mengirimkan file yang diminta bila ada. Sedangkan bila tidak ada maka server akan mengirimkan sebuah pesan kesalahan. Protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990. Pada saat tersebut yang dipakai adalah protokol HTTP versi 0.9. Kemudian pada tahun 1996 protokol HTTP diperbaiki menjadi HTTP versi 1.0. Perubahan ini untuk mengakomodasi tipe–tipe dokumen yang hendak dikirim beserta encoding yang dipergunakan dalam pengiriman data dokumen. Pada tahun 1999 sesuai dengan perkembangan infrastruktur internet maka dikeluarkan HTTP versi 1.1 untuk mengakomodasi proxy cache , dan koneksi yang persisten.(http ://id.wikipedia.org/wiki/HTTP)
2.1.7
TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam tukar menukar data dari satu komputer ke komputer lain. Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputerkomputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok
24 untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga
UNIX)
untuk
membentuk
jaringan
yang
heterogen.
(http://id.wikipedia.org/ wiki/TCP/IP) Semakin hari pengguna komputer semakin banyak. Oleh karena itu, protokol resmi diakui oleh semua jaringan sangatlah diperlukan. Pada tahun 1982 terbentuklah transmission protokol dan internet protokol / IP sebagai sebuah jaringan besar yang memberikan kesempatan bagi pengguna untuk saling berkomunikasi.
2.1.8
WWW (World Wide Web) World Wide Web (WWW atau Web) merupakan sistem informasi terdistribusi yang berbasis hypertext. Dokumen-dokumen yang dikelola dalam Web bisa beraneka jenis (pengolah kata, lembaran kerja, tabel basis data, presentasi, hypertext dan lain-lain) dan beragam format ( .doc, .pdf dan lain-lain). Jenis dokumen yang paling umum adalah dokumen hypertext yang dibentuk berdasarkan format HTML (HyperText Markup Language). HTML sendiri sesungguhnya merupakan varian dari SGML (Standard Generalized Markup Language). Dokumen HTML umumnya berisi teks dengan spesifikasi font dan berbagai intruksi format lainnya. Link ke dokumen yang lain (baik lokal maupun jarak jauh atau remote) dapat diletakkan sebagai bagian dari teks. Begitu juga dengan objek gambar yang dapat pula ditampilkan melalui perintah format yang khusus untuk itu (Fathansyah, 2004, p325).
25 2.1.9
URL (Uniform Resource Locator) Uniform Resource Locator (URL) adalah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di internet.URL merupakan suatu inovasi dasar bagi perkembangan sejarah internet. URL pertama kali diciptakan oleh Tim Berners Lee pada tahun 1991, agar penulis–penulis dokumen dapat mereferensikan makalahnya ke WWW. Sejak tahun 1994 konsep URL telah dikembangkan menjadi istilah Uniform Resource Indentifier atau URL yang lebih umum sifatnya. (http://id.wikipedia.org/ wiki / URL).
2.1.10 HTML (Hyper Text Markup Language) HTML (Hypertext Markup Language) adalah bahasa Markup yang umum digunakan dalam dunia internet. Kepopuleran HTML disebabkan karena HTML ini mudah digunakan. Pembuatan dokumen web dengan HTML dapat dilakukan dengan mudah dan cepat. Dokumen web dapat tersaji dengan cepat kepada pembaca diseluruh dunia sekaligus. Sebenarnya HTML bukanlah bahasa pemograman, melainkan bahasa interpreter. Hal ini terlihat dari penamaan HTML yang berarti bahasa markup (penandaan terdapat sebuah dokumen teks). Halaman web dibangun oleh kode–kode HTML yang disebut juga dengan tagtag HTML. Pada masa sekarang ini HTML merupakan interface standar internet. Kekuatan utama file HTML adalah kemampuannya dalam melakukan link hypertext. Sebuah text yang diberi link dapat membuat browser melompat dari satu halaman ke halaman lain. Halaman–halaman HTML ini bisa mengandung
26 animasi suara, video, bahkan sampai program interaktif yang kompleks (Winasis, T.A, 2001, p42). HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser internet. HTML juga merupakan sebuah standar yang digunakan secara luas untuk menampilkan halaman web dan HTML kini merupakan standar internet yang saat ini.dikendalikan oleh World Wide Web Consortium (W3C). (http://id.wikipedia. org/ wiki / HTML)
2.1.11 XML (Xtensible Markup Language) Menurut Widodo Budiharto (2005, p151), XML ialah bahasa markup berbasis teks yang menjadi bahasa standar pertukaran data di web. Tidak seperti HTML, XML tag mengidentifikasikan data selain menentukan bagaimana menampilkannya. XML menjadi landasan dari pengguna web services yang mulai popular tahun 2001. XML merupakan sebuah ”Markup Language” seperti HTML yang dipergunakan untuk menguraikan atau menjelaskan data–data. Namun XML tidaklah sama dengan HTML , dan perbedaan tersebut adalah •
XML digunakan untuk menjelaskan atau menggambarkan informasi yang ada, sedangkan HTML digunakan untuk menampilkan informasi.
•
Tag pada HTML telah didefinisikan sebelumnya dan tidak dapat berubah, sedangkan tag pada XML tidak didefinisikan melainkan ditentukan oleh pembuatnya sendiri sehingga tiap orang dapat membuat tag–tag yang berbeda.
27 Berdasarkan keterangan di atas maka dapat dikatakan bahwa XML berupa file teks yang tidak tergantung pada hardware maupun software tertentu sehingga XML dapat dipergunakan oleh banyak user yang berbeda untuk mengakses data–data dengan hardware dan software yang berbeda.
2.1.12 Web Browser Web Browser adalah suatu paket perangkat lunak yang membolehkan seorang pengguna untuk menampilkan dan berinteraksi dengan dokumendokumen yang di host oleh server-server web. Contoh web browser adalah Mozilla
Firefox,
Internet
Explorer,
Netscape,
dan
lain-lain..
(http://id.wikipedia.org/wiki /Web Browser).
2.1.13 E-mail Surat eletronik (disingkat surel atau surat-e) atau nama umumnya dalam bahasa inggris e-mail atau email adalah sarana kirim mengirim surat melalui jalur internet. Dengan surat biasa seseorang perlu membeli perangko sebagai biaya pengiriman, tetapi surat elekronik tidak perlu memakai biaya untuk mengirim. Biaya yang mungkin dikeluarkan hanyalah biaya untuk mem- bayar koneksi internet. Surat elektronik sudah memulai dipakai di tahun 1960-an. Pada saat itu internet belum terbentuk, yang ada hanyalah kumpulan “mainframe“ yang terbentuk sebagai jaringan. Mulai tahun 1980-an, surat elektronik sudah bisa dinikmati oleh khalayak umum. Sekarang ini banyak perusahaan pos diberbagai
28 negara menurun penghasilannya disebabkan masyarakat sudah tidak memakai jasa pos lagi. (http://id.wikipedia.org/ wiki / E-mail).
2.1.14 IMK (Interaksi Manusia dan Komputer) Interaksi Manusia dan Komputer adalah displin ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena yang berhubungan dengannya (Shneiderman 1998, p95). Delapan Aturan Emas desain antarmuka Shneiderman (1998, p95-96), adalah sebuah petunjuk yang baik untuk desain yaitu : 1. Berusaha untuk konsisten (Strive for consistency). Rangkaian aksi yang konsisten sebaiknya digunakan dalam situasi yang mirip. Terminologi yang serupa harus digunakan dalam prompts, menu dan layer bantu. Dan perintah yang konsisten harus digunakan pada keseluruhan aplikasi. 2. Memungkinkan penggunaan shortcut bagi user (Enable frequent users to use shortcuts). Seiring dengan peningkatan penggunaan, begitu juga keinginan user untuk mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. 3. Memberikan reaksi yang informatif (Offer informative feedback). Untuk setiap aksi dari pengguna, seharusnya sistem memberikan reaksi yang informatif. Untuk aksi yang sering terjadi, reaksi yang diberikan bisa sederhana, sedangkan untuk aksi yang jarang terjadi, reaksi yang diberikan harus lebih lengkap
29 4. Mendesain dialog untuk menyatakan penutupan (Design dialog to yield closure). Rangkaian aksi harus dikumpulkan kedalam suatu kelompok dimana terdapat awal, tengah dan akhir. 5. Penanganan error yang sederhana (Offer simple error handling). Sebanyak mungkin, rancanglah sistem agar user tidak membuat kesalahan fatal. Bila terjadi sebuah kesalahan, sistem harus bisa mendeteksi kesalahan tersebut dan memberikan mekanisme yang sederhana dan mudah dimengerti untuk menangani kesalahan tersebut. 6. Izinkan pembalikan aksi yang mudah (permit easy reversal of actions). Fasilitas ini menghilangkan kegelisahan, karena user mengetahui bahwa kesalahan dapat dibatalkan, dengan begitu maka akan meningkatkan keinginan untuk mencoba pilihan-pilihan yang tidak dikenal. 7. Pusat kendali pada user (provide a sense of user control). User berpengalaman
sangat
menginginkan
perasaan
bahwa
mereka
mengendalikan sistem dan sistem memberi respon terhadap aksi mereka. Rancanglah sistem agar user yang memulai suatu aksi daripada hanya merespon. 8. Kurangi beban ingatan jangka pendek (Reduce short-term memory load). Keterbatasan dari kemampuan manusia untuk memproses informasi dalam ingatan jangka pendek menghasilkan suatu kebutuhan akan tampilan untuk dibuat tetap sederhana, banyak halaman tampilan digabungkan, dan waktu pelatihan yang cukup dialokasikan untuk kode-kode, menghafal dan rangkaian aksi.
30 2.1.15
Rekayasa Piranti Lunak Software Engineering atau RPL (Pressman, 1997, p20) merupakan aplikasi dari sebuah pendekatan sistematik yang dapat diukur untuk mengembangkan, mengoperasikan, dan memelihara software. Software engineering ini juga merupakan teknologi yang dibagi menjadi beberapa layer atau lapisan yaitu : 1. Tools Dimana tools – tools dari software engineering ini menyediakan support yang automated atau yang semi-automated untuk process dan methods. CASE (Computer Aided Software Engineering) merupakan sistem untuk menopang perkembangan perangkat lunak. 2. Methods Dimana metode – metode dari software engineering ini menyediakan teknik bagaimana cara untuk membuat atau membangun software. Method ini juga termasuk perencaan proyek (projet planning) dan estimasi, serta sistem – sistem, software requirements, dan seluruh tahap – tahap dalam SDLC (Software Development Life Cycle). 3. Process Dimana pada lapisan ini berfungsi sebagai perekat antara lapisan – lapisan teknologi (technology layers) bersamaan dengan enables rational dan dengan waktu pengembangan dari software komputer. 4. Quality Focus Dimana pada lapisan ini kebanyakan software masih berorientasi atau masih berfokus pada kualitas yang akan dihasilkan dari software tersebut.
31 Software merupakan sebuah elemen sistem yang lebih mengarah ke suatu logika daripada mengarah ke suatu yang bersifat fisikal. Karakteristik Software, antara lain: 1. Software itu dikembangkan (developed) atau direkayasa (engineered). 2. Software tidak bisa usang / rusak. 3. Kebanyakan software dibuat secara custom built, serta tidak dapat dirakit dari komponen yang sudah ada. 2.1.16
Pengembangan Piranti Lunak Seringkali seorang customer sulit menentukan input dan output yang diharapkan. Tentu saja ini menyebabkan developer tidak yakin dengan algoritma yang dibuatnya, serta interaksi manusia dan mesin yang harus diambil. Dalam hal seperti ini, menggunakan prototype untuk software engineering merupakan langkah yang terbaik. Prototyping (Bob Hughes, Mike Cotterell, 2006, p78) sebenarnya adalah sebuah rangka kerja dari satu atau beberapa aspek dari sistem yang akan dibuat.
Gambar 2.7 Model Prototype Paradigm
32 Proses Prototyping dimulai dari : 1.
Pengumpulan kebutuhan yang dilakukan oleh pengembang software dengan klien.
2.
Hasil dari pengumpulan kebutuhan diteruskan pada Quick Design.Quick Design ini memfokuskan pada representasi aspek-aspek software yang dapat dilihat oleh user, misalnya format input dan output.
3.
Quick Design diteruskan pada pembentukan prototype. Prototype ini dievaluasi oleh customer / user dan digunakan untuk memperbaiki kebutuhan-kebutuhan software. Proses iterasi terjadi agar prototype yang dihasilkan memenuhi kebutuhan customer, juga pada saat yang sama developer mengerti lebih baik tentang apa yang harus dikerjakan.
Masalah yang dihadapi oleh prototype paradigm ini adalah : 1.
Customer hanya melihat pada apa yang dihasilkan oleh software, tidak peduli pada hal-hal yang berhubungan dengan kualitas software dan pemeliharaan jangka panjang.
2.
Developer seringkali menyetujui apa yang diterangkan oleh customer agar prototype dapat dihasilkan dengan cepat. Akibatnya timbul pemilihan sistem operasi / bahasa pemrograman yang tidak tepat. (Pressman, 2002, p41)
33 Teori Khusus 2.2.1
Java Java ialah bahasa pemrograman serbaguna atau bahasa pemrograman berorientasi objek yang dibuat oleh Sun Microsystem pada tahun 1991. Java juga merupakan bahasa pemrograman tingkat tinggi (high level programming language) yang berorientasi objek. Java didesain untuk menjadi suatu bahasa yang kecil, mudah dan portable terhadap berbagai platform. Ketika sebuah program dikompile, java akan mentranslasi ke kode mesin atau instruksi prosesor yang spesifik pada prosesor. Pada Lingkungan pengembangan java, ada 2 bagian yaitu java compiler dan java interpreter. Compiler membangkitkan bytecode (sekumpulan instruksi yang meresemble kode mesin tetapi tidak spesifik pada prosesor), Disamping itu ada kode mesin dan interpreter yang mengeksekusi program java. Kekurangan menggunakan bytecode ialah kecepatan eksekusi. Untuk menulis sebuah program java, dibutuhkan editor, compiler java dan Java Runtime Environment (Widodo Budiharto, 2005, p1). Java memiliki beberapa keuntungan yaitu : 1.
Simple
2.
Object oriented
3.
Multiplatform
4.
High Performance
5.
Reuse
Java tidak hanya sekedar bahasa pemrograman, tetapi juga merupakan platform. Banyak bahasa program yang tidak memiliki fitur seperti multithreading, GUI-building, dan kemampuan dalam networking. Dimana harus
34 menggunakan hardware atau operating-system dependent API (Application Program Interface) yang akan mengikat (binding) program. Sedangkan Java platform merupakan teknologi pertama yang berintegrasi penuh untuk dapat menggunakan
thread,
socket,
GUI
component
dan
banyak
lagi.
(http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html; http://id. wikipedia.org/wiki/Java ) Sekitar tahun 1998, Sun spesifikasi java dan memperkenalkan java 1.2 beserta library terbaru yang membuat java bukan hanya sebuah bahasa tetapi juga menjadikan java sebuah platform bernama Java 2 Standard Edition (J2SE). Dengan J2SE, Sun berusaha memperbaiki kekurangannya dengan membundle berbagai macam library menjadi 1 unit. J2SE menyediakan library untuk dukungan GUI, jaringan, akses database dan lainnya. J2SE juga merupakan paket dasar untuk J2EE. J2SE hanya mampu membangun aplikasi standalone, namun tidak dapat membangun dan mendistribusikan aplikasi berskala enterprise/ perusahaan. Edisi lain yang diluncurkan java untuk membangun aplikasi mobile seperti HP dan PDA ialah J2ME (Java to Micro Edition). J2EE diperkenalkan pada tahun 1998, yang mendefinisikan sebuah arsitektur multi tier untuk Enterprise information system (EIS). Platform J2EE menentukan komponen aplikasi logis di dalam sebuah sistem dan mendefinisikan aturan pada proses pengembangan. Gambar 2.15 menampilkan arsitektur dari J2EE (Widodo Budiharto, 2005, p2).
35 Kode Java
Intermediate Compilation
Java Bytecode
Runtime VM Interpretation
Win32
HP-UX
Solaris
Gambar 2.15 Arsitektur J2EE
2.2.2
Macromedia Dreamweaver Macromedia Dreamweaver adalah sebuah editor web profesional yang digunakan untuk mendesain dan mengelola situs Web atau halaman Web. Dreamweaver paling sering digunakan oleh Web desainer atau Web programmer dalam mengembangkan suatu situs Web. Hal ini disebabkan area kerja, fasilitas, dan kemampuan dreamweaver yang makin powerful dan menunjang peningkatan produktifitas dan efektifitas untuk mendesain atau membangun situs web. Dreamweaver juga dilengkapi dengan fasilitas untuk manajemen situs yang cukup lengkap. (http://id.wikipedia.org/wiki/Adobe Dreamweaver)
2.2.3
Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: Multi-platform:
36 Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna
dengan
komponen
yang
dinamakan
plug-in.
(http://en.wikipedia.org/wiki/Eclipse_%28software%29; http://www.eclipse.org/)
2.2.4
Microsoft Visio Microsoft Visio (atau sering disebut Visio) adalah sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagramdiagramnya. Visio aslinya bukanlah buatan Microsoft Corporation, melainkan buatan Visio Corporation, yang diakusisisi oleh Microsoft pada tahun 2000. Versi yang telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Professional
37 menawarkan antarmuka pengguna yang sama, tetapi seri Professional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut dan juga penataan letak (layout). Selain itu, edisi Professional juga memudahkan pengguna untuk mengkoneksikan diagram-diagram terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik. (http://id.wikipedia.org/wiki/Visio)
2.2.5
Corel Draw Corel adalah perusahaan pembuat perangkat lunak komputer. Produk Corel yang paling terkenal adalah Corel Draw, sebuah perangkat lunak yang dibuat untuk gambar vektor atau pembuatan vektor. Corel menyediakan paket dalam penjualan perangkat lunaknya, yaitu Corel Graphic Suite, yang didalamnya terdiri dari Corel Draw, Corel R.A.V.E, Corel PhotoPaint, Corel Trace, Corel Capture, Corel update, Font Navigator, dan SB profiler. Perusahaan Corel didirikan tahun 1985 dan memiliki markas di Ottawa, Kanada. Berdasarkan data, pengguna produk Corel telah mencapai lebih dari 40 juta dan produk Corel telah dijual di lebih dari 75 negara. (http://id.wikipedia.org/wiki/corel draw)
2.2.6
Adobe Photoshop Adobe Photoshop (atau biasa disebut Photoshop) adalah perangkat lunak editor citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar dan bersama
38 Adobe Acrobat, dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS dan versi sembilan disebut Photoshop CS2. (http://id.wikipedia.org/wiki/Adobe Photoshop)
2.2.7
MVC (Model View Controller) Model-View-Controller merupakan sebuah aplikasi yang dipecah secara fungsional ke dalam komponen utama, yaitu Model, View dan Controller. Model merepresentasikan business obyek yang ditangani, diolah atau ditampilkan di dalam aplikasi. View bertanggung jawab untuk menampilkan model, dan secara umum
sebagai
user
interface.
Controller
bertanggung
jawab
untuk
mengendalikan alur kerja aplikasi. Dalam teknologi Java, Model diimplementasikan dengan Java Bean, serta Helper Classes yang bertanggung jawab untuk melakukan pengolahan data, maupun interaksi dengan database. View diimplementasikan sebagai Java Server Pages (JSP). Sedangkan Controller diimplementasikan dengan Java Servlet. (
[email protected], 2003, p65)
2.2.8
JSP (Java Server Pages) Untuk membuat suatu halaman web dapat bersifat dinamis sesuai dengan permintaan pemakai, pengembangan aplikasi web bisa menggunakan perangkat lunak seperti JSP, PHP, ASP, dan PERL. JSP (Java Server Pages) merupakan teknologi berdasarkan pada bahasa pemograman java yang dikembangkan oleh Sun Microsistem.
39 Tujuan JSP adalah mempermudah pembuatan manajemen halaman web dinamis, dengan memisahkan logic bisnis dengan presentasi/tampilan (Widodo Budiharto, 2005, p115). Perbedaan dari JSP dengan applet yang merupakan suatu fitur dalam bahasa pemrograman java adalah bahwa JSP melakukan pemrosesan pada sisi server atau sering dikenal sebagai Server–Side Programming. Hal ini membuat aplikasi web tidak tergantung terhadap keberadaan teknologi java pada sisi client. Sedangkan pada applet client diharuskan untuk memiliki suatu sistem teknologi java pada komputernya agar aplikasi dapat dijalankan. Client hanya menerima suatu halaman web yang sudah diproses web server menjadi HTML. Beberapa kelebihan dari JSP adalah antara lain : •
JSP mendukung multiplatform. Dengan memiliki kemampuan multiplatform, aplikasi yang menggunakan JSP dapat dipindahkan kedalam berbagai sistem operasi tanpa perlu perubahan apapun. Walau dalam hal ini JSP bukan satu– satunya yang memiliki kemampuan multiplatform
•
JSP menggunakan bahasa pemrograman java. Dengan menggunakan bahasa pemrograman java sebagai dasar maka para pemrogram yang telah mengenal java tidak akan mengalami kesulitan untuk mempelajari JSP. Selain itu, karena JSP menggunakan teknologi dari java maka JSP juga memiliki semua keunggulan dari bahasa pemrograman
java. Menurut Widodo Budiharto
(2005, p115), perbedaan antara JSP dari servlet ialah : •
Servlet ialah jawaban dari java untuk menggantikan CGI. Servlet dieksekusi di server dan mengembalikan permintaan browser
40 •
JSP memisahkan isi web dinamis dan statis, dan memisahkan logic dan presentasi di aplikasi web.
2.2.9
Servlet Servlet adalah sebuah class yang digunakan untuk menerima request dan memberikan response, terutama melalui protokol HTTP. Servlet merupakan teknologi
inti
untuk
pengembangan
aplikasi
web
dengan
java.
(
[email protected], 2003, p4) Sedangkan menurut Widodo Budiharto (2005, p97), servlet ialah kelaskelas di java yang digunakan untuk memperluas kemampuan server yang menyimpan aplikasi yang akan diakses melalui model pemograman berbasiskan request-response. Servlet API (Application Programming Interface) terdiri dari 2 package, yaitu javax.servlet dan javax.servlet.http. Paket javax.servlet.http berisi kelas dan interface yang spesifik ke HTTP.
2.2.10 Web server Secara global Server dapat diartikan sebagai pusat dan difungsikan sebagai “ pelayan “ yang berguna untuk pengiriman data atau penerimaan data serta mengatur pengiriman dan penerimaan data di antara komputer-komputer yang tersambung atau dengan kata lain server berfungsi menyediakan pelayanan terhadap kline (Bunafit Nugroho, 2004, p5-6). Web Server adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau home page. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut
41 Personal Web Server (PWS). PWS ini berfungsi agar halaman web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer kline (Bunafit Nugroho , 2004, p6). Macam–macam Web Server : •
Apache (Open Source)
•
PWS (Personal Web Server)
Cara kerja Web Server adalah HTTP memberikan layanan yang sangat bagus, dalam hal transfer dokumen yang mudah dan penyediaan fasilitas enkripsi untuk keamanan. Nama dokumen dalam URL bisa juga mengidentifikasi program tertentu yang dapat dieksekusi untuk menghasilkan dokumen HTML. Ketika server HTTP menerima permintaan (request) untuk dokumen tersebut, server akan mengeksekusi program yang telah pembentuk dokumen, dan mengirimkan kembali dokumen HTML yang telah dihasilkan ke kline. Di sisi lain, kline Web juga dapat melewatkan argumen-argumen tambahan bersama nama dokumen, yang kemudian dijadikan sebagai parameter pengeksekusian program.Selanjutnya,dokumen dibentuk tergan- tung dari nilai argumen yang dilewatkan tersebut (Bunafit Nugroho , 2004, p6).
2.2.11 Apache Tomcat Tomcat, atau lengkapnya Apache Jakarta Tomcat adalah Servlet/JSP container yang dibuat oleh Apache Software Foundation (ASF). Saat ini Tomcat menjadi reference implementation dari spesifikasi Servlet/JSP (Java Server Pages) dari Sun Microsystem. Versi terakhir dari Tomcat adalah 5.5.9-alpha-3, dengan versi yang dianggap stabil 5.5.7. Saat ini Tomcat bahkan telah dapat
42 dijalankan sebagai service pada sistem operasi berbasis Windows. Tomcat versi 5.5.x adalah implementasi dari spesifikasi Servlet versi 2.4, dan spesifikasi JSP versi 2.0. (http://tomcat.apache.org/ ) Tomcat merupakan Servlet/JSP container, dibangun dalam bahasa pemrograman Java dan dijalankan di atas Java Virtual Machine (JVM). Untuk terhubung ke sebuah web server diperlukan komponen yang disebut sebagai 'connector'. Tomcat dapat berjalan sendiri (standalone) tanpa webserver lain dengan menggunakan connector Coyote. Apabila dihubungkan dengan Apache HTTP Server, diperlukan connector JK2. Apache Tomcat merupakan open source produk dibawah lisensi Apache Software Foundation. Apache Tomcat digunakan untuk aplikasi berskala besar dan untuk aplikasi mission critical. Di dalam Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client. Untuk menjalankan Jakarta Tomcat harus membutuhkan Java Development Kit (JDK). (
[email protected], 2003, p4)
2.2.12 WebWork WebWork adalah sebuah projek Java yang mengadopsi model pengembangan MVC (Model – Viewer – Controller), yang mana posisinya lebih tepat diarea C dari MVC, yaitu Controller. WebWork merupakan framework berbasis Java untuk membuat aplikasi web yang didevelop oleh OpenSymphony. WebWork juga merupakan implementasi dari servlet dispatcher, yang bekerja menghandle semua request dan response dari setiap akses Web.
43 WebWork diciptakan oleh Richard Oberg, salah satu orang jenius didunia Java dimuka bumi. Beberapa karyanya yang mendunia adalah JBoss dan Xdoclet. Versi 2.0 dari WebWork dikembangkan oleh Patrick Lightbody dan Jason Carreira, yang akhirnya membuat WebWork yang semua sebuah project Open Source Java sendirian, masuk ke OpenSymphony.com, sebuah host Open Source Java yang tentu saja tidak sebesar Apache, tetapi telah berhasil menghasilkan banyak perusahaan bernilai jutaan dolar, dengan mengadopsinya, seperti JiveSoftware di NewYork, Amerika dan Atlassian di Sydney, Australia. (http://www.opensymphony.com/webwork/ ) Dalam dunia Java, WebWork adalah sebuah sleeping elephant, artinya sebuah teknologi yang sangat stabil, tetapi timnya kurang giat berpromosi, malah produk yang dikembangkan diatas WebWork yang lebih sering dipromosikan. Diantaranya adalah JiveForum, forum Java paling populer yang dipakai oleh java.sun.com, GE, Sony. Jadi kalau kita posting forum di Java.sun.com, secara langsung kita menggunakan WebWork. Inti dari WebWork adalah XWork, sebuah teknologi controller generic, yang dapat digunakan dalam solusi Web dan non Web, tetapi tentu saja yang solusi Web adalah yang paling mature dan stabil. Bilamana ingin mendalami bagaimana Xwork dikembangkan menjadi solusi berbasis Swing, dapat mendalami pendulum (http://pendulum.sf.net). WebWork dapat dikatakan web wrappernya XWork, sehingga XWork dapat berjalan didalam lingkungan solusi Web atau servlet. WebWork dibuat spesifik agar developer lebih produktif, menyederhanakan koding, reuse, server side validasi dan lain lain. WebWork dibuat berdasarkan XWork, yang
44 merupakan
IoC
(Inversion
of
Control)
container.
(http://en.wikipedia.org/wiki/Inversion_of_Control ) Dalam web aplikasi standar Java Enterprise Edition (JEE), client biasanya mengirim informasi keserver melalui web form. Informasi tersebut kemudian ditangani oleh Java Servlet, dimana memproses data dan berinteraksi kedatabase dan menghasilkan HTML response, atau ditangani oleh Java Server Pages (JSP), dimana Java code dan HTML code disatukan dalam satu halaman. Kedua cara diatas akan membuat sulit dalam pemeliharaan karena mencampurkan application logic dan presentation logic. Arsitektur WebWork menggunakan basis MVC (Model View Controller), Dispatcher pattern dan prinsip prinsip dari IoC (Inversion of Control).WebWork lifecycle
adalah
User
mengirim
action
request
yang
ditangani
oleh
FilterDispatcher. FilterDispatcher meneruskan request tersebut ke ActionMapper untuk menentukan apa yang harus dilakukan dengan request tersebut. Jika request tersebut membutuhkan action, maka ActionMapper akan mengirim kembali object ActionMapping ke FilterDispatcher. Jika tidak membutuhkan action,
maka
ActionMapper
mengembalikan
nilai
object
null
yang
mengindikasikan bahwa tidak ada action yang dibutuhkan. FilterDispatcher meneruskan request dan object ActionMapper berinteraksi dengan ActionProxy untuk menentukan action. ActionProxy memanggil Configuration File Manager untuk mendapatkan atribut dari action tersebut dan membuat object ActionInvocation. File configurasi tersebut adalah xwork.xml. ActionInvocation object terdiri dari atribut seperti action, invocation context, result, result code, dll. ActionInvocation object juga mempunyai
45 informasi tentang Interceptors yang perlu dipanggil sebelum atau setelah action dijalankan. ActionInvocation memang gil semua Interceptors yang terdaftar di object ActionInvocation dan kemudian memanggil object yang real. Ketika action selesai dijalankan, ActionInvocation mendapatkan hasil action berupa code. Code tersebut digunakan untuk me-rendering presentation logic, yang biasanya sebuah halaman JSP, template Velocity, atau template Freemarker. ActionInvocation juga menjalankan Interceptors lagi dan mengembalikan HttpServletResponse. (http://en.wikipedia.org/wiki/WebWork )
2.2.13 Hibernate ORM Hibernate merupakan koneksi kedatabase dengan metode OR (Object Relation) Mapping.Hibernate diciptakan oleh Java developer seluruh dunia yang dipimpin oleh Gavin King dan perusahaan JBoss. Hibernate merupakan Object Relational Mapping (ORM) library untuk bahasa pemrograman Java. Hibernate menyediakan framework untuk memapping sebuah object-oriented domain model ke database. (http://en.wikipedia.org/wiki/Hibernate_%28Java%29 ) Dengan Hibernate kita melakukan query dengan syntax query yang portabel yaitu HQL (Hibernate Query Language) sehingga jika ada perubahan atau migrasi database hanya merubah konfigurasi tanpa harus merubah syntax query. Hibernate memecahkan masalah tentang perbedaan syntax query yang berbeda beda antar database dengan mengganti cara akses database dari akses langsung database melalui persistance (JDBC) menjadi akses melalui object dengan syntax query yang standar yaitu Hibernate Query Language (HQL). Fungsi hibernate yang utama adalah memapping Java class ke database table dan
46 juga memapping Java data types ke SQL data types. Hibernate mengenerate cara pemanggilan SQL sehingga membuat aplikasi kita portable kesemua jenis database.(http://www.hibernate.org/ )
2.2.14 Apache Velocity Apache Velocity merupakan template engine yang dapat digunakan sebagai teknologi view dalam aplikasi yang dibangun dengan arsitektur MVC.Velocity merupakan alternatif pengganti JSP yang ideal jika kita mengedepankan kecepatan dari aplikasi yang kita bangun. Dengan velocity, kecepatan
rendering
page
mencapai
3x
lebih
cepat
daripada
JSP.
(http://velocity.apache.org/engine/index.html)
2.2.15 Apache ANT (Another Neat Tool) Ant adalah sebuah project open source Java yang paling harus dikenal dan dipakai oleh programmer Java, baik itu untuk pengembangan aplikasi yang paling sederhana maupun yang sangat kompleks. Ant adalah sebuah alat bantu yang tidak ternilai harganya yang diberikan kepada dunia Open Source.Ant saat ini menyandang beberapa gelar dari Software Development 2002 Productivity Award dan JavaWorld's Editor Choice. Ant dapat dikatakan sebuah halaman pertama bagi programmer Java untuk memulai pekerjaannya. Ant bekerja seperti halnya make pada C. Jika anda terbiasa bermain-main dengan aplikasi Linux atau Unix mungkin sudah sering mendengar istilah make, gnumake, nmake, atau configure.Ant bekerja mirip seperti mereka.
47 Ant saat artikel ini dibuat menyandang versi 1.5, dengan dukungan integrasi dengan Perl dan Python. Ant diciptakan oleh James Duncan Davidson. Semula sebagai bagian dari Tomcat, sebuah J2EE Servlet container. Gagasan Ant keluar karena keterbatasan pengembangan menggunakan make. Sekitar Januari 2000, Ant keluar dari proyek Tomcat dan mendapat CVS sendiri. Kehebatan Ant bukan hanya sekedar sebagai utility untuk deployment juga, tetapi sekarang sudah banyak komponen yang membuat Ant menjadi sangat tidak ternilai, seperti XDoclet, JUnit, HTTPUnit, Cactus dan CVS. Saat ini semua IDE Java seperti JBuilder, Eclipse,Websphere Studio, Netbeans, SUN Forte, JEdit, ataupun IDEA sudah mengintegrasikan Ant ke dalam paketnya. Dengan Ant kita dapat melakukan kompilasi, menjalankan program Java, membuat file jar atau war dan tugas-tugas lainnya dengan mudah. (http://ant.apache.org/)
2.2.16 Jasper Report JasperReports merupakan open source library berbasis Java untuk membuat report yang bisa untuk menampilkan data dilayar monitor, diprint, atau disimpan dalam bentuk file PDF, HTML, Microsoft Excel, RTF, ODT, Comma Separated Value (CSV) dan XML. JasperReports dapat digunakan untuk aplikasi berbasis
web
atau
desktop.
(http://en.wikipedia.org/wiki/JasperReports;
http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperre ports/)
48 2.2.17 iReport
iReport merupakan tools untuk membuat desain report. Keunggulan menggunakan iReport adalah :
1. Mudah digunakan
2. Drag and drop
3. WYSIWIG report designer
4. Support semua datasource standar maupun custom datasource
5. Dapat membuat sub-report, multiple datasource, custom code, java code embedded (http://jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/)
2.2.18 XDoclet XDoclet merupakan tools open source yang berfungsi untuk mengenerate source code. Implementasi XDoclet dilakukan dengan cara menambah meta data ke Java source code kita, dengan kata lain, dengan JavaDoc tags. XDoclet akan mengenerate berbagai file konfigurasi seperti XML Pada awalnya XDoclet diciptakan untuk mengenerate EJB, namun seiring perkembangannya, XDoclet telah
berevolusi
menjadi
code
generation
(http://xdoclet.sourceforge.net/xdoclet/index.html)
engine
yang
serba
guna.
49 2.2.19 Database Database atau basis data adalah sekumpulan data-data yang dapat digunakan secara bersama-sama yang berhubungan secara logika, dan deskripsi dari data tersebut dirancang untuk mendapatkan informasi yang dibutuhkan organisasi (Connolly dan Begg, 2002, p14). Tabel dalam basis data berfungsi untuk menyimpan data dan merupakan suatu kumpulan data yang berhubungan dengan topik tertentu, misalnya daftar product. Tabel terdiri dari baris (record) dan kolom (field). Berikut ini beberapa istilah dalam sebuah tabel basis data : a. Field Field adalah kolom pada tabel untuk menyimpan data dalam kelompok yang sama. b. Record Record adalah data lengkap dalam jumlah tunggal yang biasanya tersimpan dalam bentuk baris secara horizontal paad tabel. c.
Attribute Attribute adalah nama dari kolom pada suatu tabel.
d. Degree Degree adalah jumlah attribute pada suatu tabel. e. Cardinality Cardinality adalah jumlah record pada suatu tabel. f. Relation Relation adalah sebuah tabel dengan kolom dan baris.
50 g. Relationship Relationship atau relasi adalah keterlibatan dua atau lebih tabel yang saling berhubungan. h. Primary Key Primary key adalah kunci yang secara unik mengidentifikasi suatu record pada tabel atau candidate key yang dipilih untuk mengidentifikasi setiap record dari suatu entity secara unik. i. Foreign Key Foreign key adalah kolom-kolom yang mengacu pada primary key atau konstrain unik pada tabel lain. Primary key dan foreign key dipilih untuk menghubungkan sebuah tabel dengan tabel lain. j. Candidate Key Candidate key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap record secara unik. k. Composite Key Composite key adalah candidate key yang terdiri dari dua atau lebih atribut.
2.2.20 ERD (Entity Relationship Diagram) Konsep hubungan antar entity dapat digambarkan dengan ER diagram. ERD merupakan salah satu contoh hasil pemodelan hubungan antar entity. Model ini menggambarkan hubungan antar data yang dijelaskan pada spesifikasi kebutuhan sistem (Connolly and Begg, 2002, p330).
51 Constraint yang umum membatasi hubungan antar entity disebut multiplicity. Untuk entity relationship yang umum terdapat 3 jenis multiplicity yaitu : •
One to one relationship (1:1)
•
One to many relationship (1:*)
•
Many to many relationship (*:*)
2.2.21 MySQL MySQL (My Struktur Query Language) atau biasa dibaca ” mai-sei-kuel” adalah sebuah program pembuat database yang bersifat open source. (Bunafit Nugroho, 2004, p29) MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya open source, MySQL dapat dijalankan pada semua platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multiuser (banyak pengguna). Saat ini database MySQL telah digunakan hampir oleh semua programmer database, apalagi dalam pemrograman web. (http://www.mysql.com/) Kelebihan lain dari MySQL adalah MySQL menggunakan bahasa Query standar yang dimiliki SQL (Structur Query Language). SQL adalah suatu bahasa permintaan yang terstruktur yang telah distandarkan untuk semua program pengakses seperti Oracle, Posgres, SQL, SQL Server, dan lain-lain. (Bunafit Nugroho, 2004, p29)
52 Sebagai sebuah program penghasil database, MySQL tidak dapat berjalan sendiri tanpa adanya sebuah aplikasi lain (interface) . MySQL dapat didukung oleh hampir semua program aplikasi baik yang open source seperti PHP, Java Server Pages (JSP) maupun yang tidak, yang ada pada platform Windows seperti Visual Basic, Delphi, dan lainnya. (Bunafit Nugroho, 2004, p30). Program-program yang menggunakan bahasa SQL, antara lain : •
MySQL
•
Posgres SQL
•
Oracle
•
SQL Server 97, 2000
•
Interbase
Program-program aplikasi pendukung MySQL, antara lain : •
PHP (Page Hypertext Preprosesor)
•
JSP (Java Server Pages)
•
Visual Basic
•
ASP (Active Server Pages)
Untuk mendapatkan software MySql dapat diperoleh di www.MySql.com
53 2.2.22 Call Center Call Center adalah sebuah kantor pusat yang menerima dan mengirimkan sejumlah besar permintaan telepon. Hal
seperti itu dikuasai oleh beberapa
perusahaan yang mengatur produk pendukung yang baru masuk dan penyelidikan informasi klien. Call Center dapat memanggil panggilan sendiri juga. Hal ini biasanya pemanggilan ke customer, pemanggilan untuk telemarketing dan penagih utang. Contact center adalah sejenis call center yang menangani fax, surat – surat dan email pada satu tempat. Orang – orang yang beroperasi dalam call center disebut agen – agen call center. Seluruh agen memakai perlengkapan khusus yang memasukkan telepon, komputer, headset yang dihubungkan ke telecom switch. Agen – agen ini bekerja sama dalam suatu ruang kerja yang luas dengan penempatan kerja untuk masing – masing mereka dan lagi di sana terdapat setidaknya satu supervisor. Call Center bisa dioperasikan secara bebas atau menjadi bagian dari sebuah jaringan bersama dengan call center lainnya yang mana sering dihubungkan ke perusahaan jaringan komputer yang boleh memasukkan microcomputers, mainframes dan LAN. Komunikasi suara dan data terhubung dalam suatu mekanisme yang disebut computer telephony integration yang memungkinkan kita berinteraksi antara telepon dengan komputer. Call Center kebanyakan digunakan dan diciptakan oleh perusahaan – perusahaan besar agar berpengaruh dengan customer - customer mereka. Seringkali perusahaan – perusahaan itu mengirim daftar pesanan perusahaan – perusahaan, keperluan perusahaan, perusahaan – perusahaan yang memproduksi hardware dan software. Kadang – kadang Call Center pernah melakukan fungsi
54 internal
misalnya
help
desk
dan
sales
support.
(http://en.wikipedia.org/wiki/Call_center; http://searchcrm.techtarget.com/dictionary/definition/what-is-call-center.html)