1 BAB II LANDASAN TEORI 2.1 Call Center Menurut Heny (2012) Call Cente or Call Centre or Contact Center or Contact Centre adalah pusat interaksi layan...
Call Center Menurut Heny (2012) Call Cente or Call Centre or Contact Center or
Contact Centre adalah pusat interaksi layanan pelanggan yang terjadi antara para penelpon dengan SCC, bertujuan memberikan nilai tambah dari produk atau jasa yang dijual. Nilai tambah yang dimaksud berupa bantuan atau alternatif solusi keperluan lainnya yang menciptakan manfaat bagi penelpon dan organisasi. Pelaksanaannya digunakan oleh manusia, proses, teknologi, dan strategi. Saluran komunikasi call center saat ini sudah meluas menjadi beragam saluran interaksi dari telepon, e-mail, SMS, tatap muka, text chat, dan beragam tipe interaksi serta keperluan penelpon. 2.1.1
Peran Call Center Menurut Heny (2012), sebuah call center memiliki potensi besar untuk
memberikan kontribusi kepada perusahaan. Ada beberapa peran, antara lain : a. Efisiensi yaitu mengoperasikan call center pada tahap yang sangat efisien dan mencapai parameter - parameter tujuan yang ditentukan. b. Memberikan nilai kepuasan pelanggan yaitu dengan memenuhi dan membantu pelanggan sesuai kebutuhan mereka masing - masing serta menyuarakan kepentingan pelanggan (Voice of Customer). c. Menunjang seluruh kegiatan organisasi yaitu memlalui channel call center itu sendiri. 2.1.2
Tujuan dan Fungsi Call Center Menurut Heny (2012), Tujuan dari dibuatnya call center oleh
perusahaan adalah untuk melayani dan sebagai sarana penjualan kepada pelanggan, untuk menciptakan kesetiaan pelanggan (loyalitas) terhadap perusahaan, dan untuk menarik pelanggan baru. Namun tujuan utama dari pembuatan call center ini adalah untuk memaksimalkan dan menjaga aset terbesar perusahaan yaitu pelanggan. Dengan kata lain, call center berguna untuk mempertahankan pelanggan sehingga perusahaan tidak terjatuh dalam persaingan yang diakibatkan pelayanan call center yang terburuk.
7 http://digilib.mercubuana.ac.id/
8
2.2
Pelanggan Menurut Kotler dalam buku Sunyoto (2013) kepuasan pelanggan adalah
tingkat perasaan seseorang setelah membandingkan (kinerja atau hasil) yang dirasakan dibandingkan dengan harapannya. Pelanggan dapat mengalami salah satu dari tiga tingkat kepuasan umum yaitu kalau kinerja di bawah harapan, pelanggan akan merasa kecewa tetapi jika kinerja sesuai dengan harapan pelanggan akan merasa puas dan apa bila kinerja bisa melebihi harapan maka pelanggan akan merasakan sangat puas senang atau gembira. 2.2.1
CRM (Costumer Relationship Management) Menurut A.A Gede Widyaningrat (2010). CRM pada dasarnya
merupakan kolaborasi dengan setiap pelanggan yang mampu menciptakan keadaan yang tidak merugikan salah satu pihak. Dalam hal ini perusahaan melalui CRM berusaha untuk menambah nilai pada kehidupan sehari dari pelanggan dan sebagai imbalannya pelanggan akan memberikan kesetiaanya kepada perusahaan. Dan melalui CRM ini akan mendorong para pelanggannya untuk tetap loyal terhadap perusahaan. CRM adalah suatu pendekatan yang memandang bahwa pelanggan adalah inti dari bisnisnya dan keberhasilan suatu perusahaan tergantung dari bagaimana mereka mengelola hubungan secara efektif. 2.3
Sistem Informasi Tata Sutabri (2012) Sistem informasi adalah suatu sistem di dalam suatu
organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan-laporan yang diperlukan. 2.3.1
Definisi Sistem Tata Sutabri (2012). Secara sederhana, suatu sistem dapat diartikan
sebagai suatu kumpulan atau himpunan dari unsur, komponen, atau variabel yang terorganisir, saling berinteraksi, saling bergantung satu sama lain, dan terpadu.
http://digilib.mercubuana.ac.id/
9
2.3.2
Definisi Informasi Tata Sutabri (2012). Gordon B. Davis, “informasi adalah data yang
telah diproses ke dalam suatu bentuk yang mempunyai arti bagi si penerima dan mempunyai nilai nyata dan terasa bagi keputusan saat itu atau keputusan mendatang”. a. Kualitas Informasi Informasi yang berkualitas tergantung dari 3 hal, yaitu akurat, tepat waktu, dan relevan. Kualitas informasi menurut Tata Sutabri (2012) adalah sebagai berikut: 1. Akurat (Accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena biasanya dari sumber informasi sampai penerima informasi ada kemungkinan terjadi gangguan yang dapat mengubah atau merusak informasi tersebut. 2. Tepat Waktu (Timelines) Informasi yang datang pada si penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi karena informasi merupakan suatu landasan dalam pengambilan keputusan. Bila pengambilan keputusan terlambat maka dapat berakibat fatal bagi organisasi. 3. Relevan (Relevance) Informasi tersebut mempunyai manfaat untuk pemakainya, dimana relevansi informasi untuk tiap-tiap individu berbeda tergantung pada yang menerima dan yang membutuhkan. Nilai informasi ditentukan oleh dua hal yaitu manfaat dan biaya. Suatu informasi dikatakan bernilai apabila
manfaatnya
lebih
efektif
dibandingkan
dengan
biaya
mendapatkannya. 2.3.3
Definisi Sistem Informasi Sistem informasi adalah sistem yang dapat didefinisikan dengan
mengumpulkan,
memproses,
menyimpan,
menganalisis,
menyebarkan
informasi untuk tujuan tertentu. Seperti sistem lainnya, sebuah sistem informasi
http://digilib.mercubuana.ac.id/
10 terdiri atas input (data, instruksi) dan output (laporan, kalkulasi). Sutarman (2012) Menurut Hidayat (2010), “Sistem informasi adalah sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan atau mengendalikan organisasi.” Dari beberapa pendapat di atas maka dapat ditarik kesimpulan bahwa sistem informasi merupakan interaksi antara manusia, hardware, software, jaringan komunikasi, dan data yang saling bergabung dalam mengumpulkan, memproses, mengolah, menyimpan, mengendalikan dan mendistribusikan informasi yang mendukung pengambilan keputusan di dalam suatu organisasi. a. Komponen Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut blok bangunan (Building Block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data, blok kendali. Sebagai suatu sistem, keenam blok bangunan tersebut masing-masing saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran. (Tata Sutabri, 2012). Blok bangunan tersebut terdiri dari: 1. Blok Masukan (Input Block) Input mewakili data yang masuk ke dalam sistem informasi. Yang dimaksud Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar. 2. Blok Model (Model Block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah ditentukan guna menghasilkan keluaran yang diinginkan. 3. Blok Keluaran (Output Block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna bagi semua tingkatan manajemen serta semua pengguna sistem. 4. Blok Teknologi (Technology Block) Teknologi
digunakan
untuk
menerima
input,
menjalankan
model,
menyimpan dan mengakses data, menghasilkan dan mengirim keluaran dan
http://digilib.mercubuana.ac.id/
11 membantu pengendalian dari sistem secara keseluruhan. Blok ini terdiri dari teknisi (Humanware atau Brainware), perangkat lunak (Sofware) dan perangkat keras (Hardware). 5. Blok Basis Data (Database Block) Basis data merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan dimanipulasikan menggunakan perangkat lunak. Basis data diakses atau dimanipulasi dengan menggunakan perangkat lunak paket yang disebut dengan DBMS (Database Management Systems). 6. Blok Kendali (Controls Block) Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sitem dapat dicegah atau apabila sudah terlanjur terjadi kesalahan-kesalahan dapat langsung cepat diatasi. b. Klasifikasi Sistem Informasi Sistem informasi dapat dibentuk sesuai dengan kebutuhan masing-masing organisasi. Maka untuk dapat menerapkan sistem yang efektif dan efisien diperlukan suatu perencanaan, pelaksanaan, pengaturan, dan evaluasi sesuai dengan apa yang diinginkan masing-masing organisasi. Klasifikasi sistem informasi menurut Tata Sutabri (2012) adalah sebagai berikut: 1. Sistem informasi berdasarkan level organisasi Dikelompokkan menjadi level operasional, level fungsional dan level manajerial. 2. Sistem informasi berdasarkan aktivitas manajemen Dikelompokkan menjadi sistem informasi perbankan, sistem informasi akademik, sistem informasi kesehatan, sistem informasi asuransi dan sistem informasi perhotelan. 3. Sistem informasi berdasarkan fungsionalitas bisnis Dikelompokkan menjadi sistem informasi akuntansi, sistem informasi keuangan, sistem informasi manufaktur, sistem informasi pemasaran dan sistem informasi sumber daya manusia.
http://digilib.mercubuana.ac.id/
12
2.4
Perangkat Lunak (Software) Menurut Rossa A.S. M. Shalahuddin (2013) Perangkat lunak (software)
adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). 2.4.1
Sistem Perangkat Lunak Menurut Rossa A.S. M. Shalahuddin (2013) sistem perangkat lunak
berarti sebuah sistem yang memiliki komponen berupa perangkat lunak yang memiliki hubungan satu sama lain untuk memenuhi kebutuhan pelanggan (customer). 2.4.2
Karakteristik Perangkat Lunak Secara garis besar, karakteristik perangkat lunak berbeda dengan
perangkat keras. Menurut (Pressman, 2010) karakteristik dari perangkat lunak adalah: a. Perangkat lunak direkayasa, bukan dibuat dalam bentuk fisik. b. Perangkat lunak tidak usang, namun memburuk. c. Meski industri telah menuju perakitan berbasis komponen, tetapi sebagian besar perangkat lunak masih direkayasa secara unik. 2.5
Rekayasa Perangkat Lunak Perangkat lunak atau software berbeda dengan program komputer. Software
tidak hanya mencakup program, melainkan juga semua dokumentasi dan konfigurasi data yang berhubungan, yang dibutuhkan untuk membuat program dapat beroperasi dengan benar. Perangkat lunak merupakan instruksi-instruksi yang jika dijalankan akan menyediakan fungsi yang diperlukan, struktur data yang memungkinkan program untuk memanipulasi informasi, dokumen yang menyatakan operasi dan kegunaan program (Pressman, 2010). Sistem perangkat lunak terdiri dari: Dari beberapa definisi tersebut dapat dilihat bahwa pemeliharaan untuk rekayasa perangkat lunak sangatlah penting. Definisi ini menganggap bahwa pendekatan yang digunakan harus sistematis, disiplin, dan terukur bukan hanya didasarkan pada ilmu komputer dan matematika. Selain itu juga mencakup studi
http://digilib.mercubuana.ac.id/
13 dalam rekayasa perangkat lunak, yaitu studi dan mencari metode, teknik, alat, dan lain sebagainya. Penelitian terhadap rekayasa perangkat lunak sangat penting karena produksi perangkat lunas sulit, jauh lebih sulit daripada perkiraan banyak orang. Menurut Roger S. Pressman (2010), rekayasa perangkat lunak dikelompokkan dalam beberapa lapisan atau layers, antara lain:
Tools Methods Process A Quality Focus
Gambar 2.1 Software engineering layers (Pressman, 2010) Landasan paling dasar yang mendukung rekayasa perangkat lunak adalah fokus kepada kualitas atau quality focus. Yang menjadi pondasi suatu rekayasa perangkat lunak adalah lapisan proses. Proses merupakan perekat yang memegang lapisan teknologi bersama dan memungkinkan pengembangan rasional dan tepat waktu bagi perangkat lunak komputer. Proses mendefiniskan kerangka kerja untuk satu set area proses kunci atau key process areas (KPAs) yang harus dibentuk untuk pengiriman efektif teknologi rekayasa perangkat lunak. Area proses kunci membentuk dasar bagi kontrol manajemen proyek piranti lunak dan menetapkan konteks dimana metode teknis yang diterapkan, pekerjaan produk (model, dokumen, data, laporan, formulir, dan lain sebaginya) diproduksi, kualitas dijamin, tonggak ditetapkan, dan perubahan dikelola dengan baik. Metode rekayasa perangkat lunak menyediakan teknis bagaimana membangun perangkat lunak. Metode tersebut mencakup tugas-tugas analis seperti kebutuhan, desain, konstruksi program, pengujian, dan metode rekayasa support. Perangkat lunak bergantung pada sekumpulan prinsip dasar yang mengatur setiap area teknologi dan termasuk aktifitas modelling dan teknik deskriptif lainnya. Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi-otomatis untuk proses dan alat methods. Ketika alat yang
http://digilib.mercubuana.ac.id/
14 digunakan terintegrasi maka informasi yang dibuat oleh satu alat, dapat digunakan oleh yang lain. Kasus menggabungkan software, hardware, dan rekayasa perangkat lunak database (repositori berisi informasi penting tentang analisis, desain, konstruksi program, dan pengujian) untuk menciptakan sebuah lingkungan piranti lunak rekayasa analog dengan CAD (Computer Aided Design) atau CAE (Computer Aided Engineering) untuk hardware. (Pressman: 2010). Landasan paling dasar yang mendukung rekayasa perangkat lunak adalah fokus kepada kualitas atau quality focus. Yang menjadi pondasi suatu rekayasa perangkat lunak adalah lapisan proses. Proses merupakan perekat yang memegang lapisan teknologi bersama dan memungkinkan pengembangan rasional dan tepat waktu bagi perangkat lunak komputer. Proses mendefiniskan kerangka kerja untuk satu set area proses kunci atau key process areas (KPAs) yang harus dibentuk untuk pengiriman efektif teknologi rekayasa perangkat lunak. Area proses kunci membentuk dasar bagi kontrol manajemen proyek piranti lunak dan menetapkan konteks dimana metode teknis yang diterapkan, pekerjaan produk (model, dokumen, data, laporan, formulir, dan lain sebaginya) diproduksi, kualitas dijamin, tonggak ditetapkan, dan perubahan dikelola dengan baik. Metode rekayasa perangkat lunak menyediakan teknis bagaimana membangun perangkat lunak. Metode tersebut mencakup tugas-tugas analis seperti kebutuhan, desain, konstruksi program, pengujian, dan metode rekayasa support. Perangkat lunak bergantung pada sekumpulan prinsip dasar yang mengatur setiap area teknologi dan termasuk aktifitas modelling dan teknik deskriptif lainnya. Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi-otomatis untuk proses dan alat methods. Ketika alat yang digunakan terintegrasi maka informasi yang dibuat oleh satu alat, dapat digunakan oleh yang lain. Kasus menggabungkan software, hardware, dan rekayasa perangkat lunak database (repositori berisi informasi penting tentang analisis, desain, konstruksi program, dan pengujian) untuk menciptakan sebuah lingkungan piranti lunak rekayasa analog dengan CAD (Computer Aided Design) atau CAE (Computer Aided Engineering) untuk hardware. (Pressman: 2010).
http://digilib.mercubuana.ac.id/
15
2.5.1
Waterfall Dalam pembuatan suatu aplikasi terdapat beberapa model proses, salah
satu dari model proses yang digunakan adalah Waterfall Model. Menurut Sommerville (2011), waterfall model adalah sebuah contoh dari proses perencanaan, dimana semua proses kegiatan harus terlebih dahulu direncanakan dan dijadwalkan sebelum dikerjakan.
Gambar 2.2 Model Waterfall Sommerville (2011) a.
Requirement Analysis and Definition Menganalisa dan mendefinisikan kebutuhan-kebutuhan
yang harus
dipenuhi oleh aplikasi yang akan dibangun. Hal tersebut sangatlah penting, karena aplikasi harus dapat berinteraksi dengan elemen-elemen lain seperti hardware, database, dsb. Semua hal ditetapkan secara detail dan dapat berfungsi sebagai spesifikasi sistem. Pada tahap ini sering disebut juga dengan Project Definition. b. System and Software Design Pada tahap ini dilakukan proses mengubah kebutuhan-kebutuhan yang telah dianalisa dan didefinisikan sebelumnya ke dalam arsitektur sistem berdasarkan persyaratan yang telah ditetapkan. Desain harus dapat mengimplementasikan kebutuhan yang telah dianalisa dan didefinisikan sebelumnya.
http://digilib.mercubuana.ac.id/
16 c.
Implementation and Unit Testing Hasil dari desain kemudian diterjemahkan ke dalam kode-kode atau direalisasikan sebagai satu set unit program dengan menggunakan bahasa pemrograman yang sudah ditentukan. Pada tahap ini setiap unit akan diuji apakah sudah memenuhi spesifikasinya.
d.
Integration and System Testing Setiap unit-unit program diintegrasikan satu dengan yang lain setelah itu diuji sebagai satu kesatuan sistem yang utuh untuk memastikan bahwa sistem sudah memenuhi persyaratan yang ada.
e.
Operation and Maintenance Sistem di implementasikan oleh user atau langsung dioperasikan oleh user. Apabila terjadi error maka akan dapat dilakukan perbaikan-perbaikan agar hasilnya harus benar-benar sesuai dengan kebutuhan user. Pada tahap ini juga dilakukan pemeliharaan terhadap aplikasi yang telah dibuat, termasuk di
dalamnya
terdapat
pengembangan
aplikasi
agar
selalu
dapat
menyesuaikan dengan kebutuhan pengguna. 2.5.2
Black Box Testing Pengujian Blackbox sering disebut dengan behavioral testing yaitu
pengujian yang berfokus pada pengetesan kebutuhan fungsional perangkat lunak. Kasus pengujian dengan digunakan pada metode black box antara lain: (Pressman, 2010). a. Pengecekan fungsi-fungsi tidak tepat atau hilang. b. Pengecekan kesalahan antar muka. c. Pengecekan kesalahan pada struktur data atau akses ke basis data eksternal. d. Pengecekan kesalahan proses inisialisasi dan proses terminasi. 2.5.3
UML (Unified Modeling Language) Pada perkembangan teknik pemrograman berorientasi objek, muncul
sebuah standarisasi dalam bahasa pemodelan untuk pembangunan perangkat lunak dengan menggunakan teknik pemrograman beorientasi objek, yaitu Unified Modeling Language (UML). UML merupakan salah satu standard bahasa yang banyak digunakan di dunia industri untuk mendefinisikan
http://digilib.mercubuana.ac.id/
17 requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek Rosa A.S dan Shalahuddin M (2013). Tabel 2.1 UML 2.0 Diagram Summary Dennis (2010) Diagram Name
Kegunaan
Fase utama
Diagram Structure Class
Menggambarkan
hubungan
antara
Design
kelas dimodelkan dalam sistem. Object
Menggambarkan objek
hubungan
dimodelkan
dalam
Analis,
antara
Analis,
sistem.
Design
Berfungsi ketika kasus aktual dari kelas akan berkomunikasi lebih baik terhadap model. Package
Kelompok
elemen
bersama-sama Deployment
lain
Analis,
membentuk
Design,
UML
untuk
konstruksi tingkat yang lebih tinggi.
Implementasi
menampilkan arsitektur fisik sistem.
Design Fisik,
Bisa
Implementasi
juga
digunakan
untuk
menunjukkan
perangkat
lunak,
komponen
yang
dikerahkan
ke
arsitektur fisik. Component
Menggambarkan hubungan fisik di
Design Fisik,
antara
Implementasi
komponen-komponen
perangkat lunak. Composite
Menggambarkan struktur internal dari
Analis,
Structure
kelas-yaitu, hubungan antara bagian-
Design
bagian dari sebuah kelas. Diagram Behavior Activity
bisnis
Analis,
yang mengalir bebas dalam kelas,
Design
Menggambarkan
pekerjaan
aliran kegiatan kasus penggunaan,
http://digilib.mercubuana.ac.id/
18 Tabel 2.2 (lanjutan) UML 2.0 Diagram Summary Dennis (2010) Diagram Name Sequence
Communication
Interaction Overview Timing
Behavioral
Kegunaan
Fase utama
atau metode desain yang rinci. Analis, Model perilaku objek dalam kasus yang Design digunakan berfokus pada urutan berdasarkan waktu dari suatu kegiatan. Model perilaku objek dalam kasus Analis, Design digunakan berfokus pada komunikasi antara satu set berkolaborasi objek dari suatu kegiatan. Menggambarkan gambaran tentang Analis, Design aliran kontrol dari suatu proses. Menggambarkan interaksi yang terjadi Analis, Design di antara satu set objek dan state berubah-ubah dan masuk melalui sebuah time axis. Mengkaji perilaku dalam salah satu Analis,
StateMachine
kelas.
Design
Protocol
Menggambarkan dependensi antara
Analis,
antarmuka yang berbeda dari sebuah
Design
Machine
State
kelas. Use Case
Menangkap kebutuhan bisnis untuk
Analis
sistem dan untuk menggambarkan interaksi
antara
sistem
dan
lingkungannya.
a. Use Case Diagram Use case menggambarkan tentang bagaimana perilaku sistem dari sisi actor. Actor adalah entiti di luar sistem yang berinteraksi dengan sistem. Jika dapat mengidentifikasi use case dan actor, maka akan dapat menentukan boundary dari sistem. Boundary pada sistem bertujuan untuk memisahkan tugas-tugas yang dapat dikerjakan oleh sistem dan tugas-tugas yang dapat diselesaikan di luar sistem. Actor berada di luar dari area boundary sistem, sementara use case berada pada area di dalam boundary sistem. Actors digambarkan dengan simbol manusia, use cases digambarkan dengan simbol oval, dan boundary sistem.
http://digilib.mercubuana.ac.id/
19 Tabel 2.3 Simbol - simbol pemodelan Use Case Diagram Wiley (2010) GAMBAR
NAMA
KETERANGAN Aktor adalah orang atau sistem yang berasal dari manfaat dan eksternal untuk subjek. 1. Digambarkan sebagai salah satu tongkat 2. (default) atau jika aktor non-manusia yang terlibat, sebagai persegi panjang
Actor
dengan
aktor
<<>>
di
dalamnya
(alternatif). 3. label dengan perannya. 4. Dapat dikaitkan dengan aktor-aktor lain menggunakan spesialisasi atau asosiasi superclass, dilambangkan dengan panah dengan panah berongga. Ditempatkan di luar batas subjek. Termasuk nama subjek di dalam atau di
Subject Boundary
atas. Merupakan lingkup subjek, misalnya, sistem atau individu proses bisnis. Merupakan kasus penggunaan khusus ke
Generalizati on
yang lebih umum. Memiliki panah yang diambil dari kasus penggunaan
khusus
untuk
kasus
penggunaan dasar. Include
Merupakan dimasukkannya fungsi satu kasus penggunaan dalam yang lain.
http://digilib.mercubuana.ac.id/
20 Tabel 2.4 (lanjutan) Simbol pemodelan Use Case Diagram Wiley (2010) GAMBAR
NAMA
KETERANGAN Memiliki panah yang diambil dari kasus penggunaan
dasar
untuk
kasus
penggunaan digunakan. Merupakan perpanjangan dari kasus penggunaan Extend
untuk
memasukkan
perilaku opsional. Memiliki panah yang diambil dari kasus penggunaan
ekstensi
untuk
kasus
penggunaan dasar. Link aktor dengan use case (s) dengan Association
yang berinteraksi. Use Case: 1. Merupakan bagian utama dari fungsi sistem. 2. Dapat
Use case
memperpanjang
kasus
penggunaan lain. 3. Dapat mencakup use case lain. 4. Apakah ditempatkan di dalam batas sistem. Apakah label dengan frase kata kerjakata benda deskriptif.
Sebagai contoh. actor Watch User dapat melihat waktu melalui jam miliknya yang gambarkan dengan dengan Read Time use case atau mengatur waktu dari jamnya yang gambarkan dengan Set Time use case. Sementara itu, hanya Watch Repair Person yang dapat mengganti batterai jam yang digambarkan dengan Change Battery use case.
http://digilib.mercubuana.ac.id/
SimpleWatch ReadTime
SetTime
WatchUser
WatchRepairPerson ChangeBattery
Gambar 2.3 Contoh Use Case Bernd Bruegge and Allen H.Dutoit (2010)
b. Use Case Description Menurut Satzinger (2010) use case description adalah penjelasan yang lebih rinci mengenai urutan langkah-langkah dari sebuah use case. Pada umumnya uraian kasus ditulis dalam tiga tingkat yang terpisah: 1. Brief Description, merupakan sebuah deskripsi singkat disini dapat digunakan untuk penggunaan kasus yang sederhana, terutama saat sistem yang akan dibangun atau dikembangkan juga kecil. 2. Intermediate Description, merupakan sebuah deskripsi tingkat menengah dengan menggunakan uraian kasus dan penjelasan singkat dengan menyertakan aliran kegiatan internal. 3. Fully Developed Description, atau deskripsi pengembangan sepenuhnya merupakan metode yang paling formal untuk mendokumentasikan kasus.
http://digilib.mercubuana.ac.id/
Gambar 2.4 Contoh Fully developed use case description Satzinger (2010)
c. Activity Diagram Menurut Satzinger (2010) Flowcharts dan diagram aktivitas yang khusus dirancang untuk mewakili aliran kontrol di antara langkah-langkah pengolahan. Banyak analis menggunakan jenis workflow diagram dan menyebutnya activity diagram. Suatu activity diagram merupakan gambaran berbagai pengguna (atau sistem) kegiatan, orang yang melakukan aktivitas masing-masing, dan aliran sekuensial dari kegiatan tersebut. Symbol yang digunakan yaitu:
http://digilib.mercubuana.ac.id/
23 a. Starting Activity (pseudo) Merupakan simbol untuk menandakan dimulainya aktivitas. b. Transition Arrow Merupakan garis penunujuk arah urutan aktivitas yang menggambarkan transisi dari suatu aktivitas. c.
Activity Merupakan simbol yang menggambarkan aktivitas.
d. Ending
Activity
(pseudo) Merupakan simbol
untuk
menandakan
berakhirnya aktivitas. e.
Swimlane Merupakan area persegi dalam activity diagram yang menunjukkan aktivitas diselesaikan single agent.
f.
Synchronization bar
Merupakan
symbol
yang digunakan
untuk
mengontrol pemisahan atau penyatuan dari jalur berurutan. g. Diamond Merupakan simbol poin keputusan dalam alur proses mengikuti satu jalur atau jalur lainnya.
Gambar 2.5 Symbol Activity Diagram.Satzinger, Jackson, and Burd (2010)
http://digilib.mercubuana.ac.id/
24 h. Rancangan yang akan ditampilkan pada perangkat lunak Wiley (2010). Tabel 2.5 Simbol - simbol Activity Diagram Wiley (2010). Simbol
Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata
Aktivitas
kerja.
Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi Percabangan /decision
Asosiasi percabangan dimana jika ada pilihan aktifitas lebih dari satu.
Penggabungan/join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Gambar 2.6 Contoh Activity Diagram Bernd Bruegge and Allen H. Dutoit (2010)
http://digilib.mercubuana.ac.id/
26
d. Class Diagram Class diagram atau diagram kelas merupakan suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Wiley (2010) Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsifungsi sesuai dengan kebutuhan sistem sehingga programmer atau pembuat perangkat lunak dapat membuat kelas-kelas di dalam program perangkat lunak sesuai dengan perancangan diagram kelas. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut: 1. Kelas main Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan. 2. Kelas yang menangani tampilan sistem (view) Kelas yang mendefinisikan dan mengatur tampilan transaksi 3. Kelas yang diambil dari pendefinisian use case (controller) Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case, kelas ini biasanya disebut dengan kelas proses yang menangani proses bisnis pada perangkat lunak. 4. Kelas yang diambil dari pendefinisian data (model) Kelas yang digunakan untuk membungkus atau memegang data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Seluruh tabel yang dibuat dibasis data dapat dijadikan kelas, namun untuk tabel dari hasil relasi atau atribut multivalue pada ERD dapat dijadikan kelas tersendiri dapat juga tidak apabila pengaksesannya dapat dipertanggungjawabkan atau tetap ada pada perancangan Wiley (2010)
http://digilib.mercubuana.ac.id/
27 Tabel 2.6 Simbol - simbol Class Diagram Rosa A.S (2013). Simbol Kelas
Sama dengan konsep interface dalam pemograman berorientasi objek.
Nama_interface Asosiasi / association
Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
Asosiasi berarah / directed
Relasi antarkelas dengan makna
association
kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
Generalisasi / generalization
Relasi antarkelas dengan makna generalisasi - spesialisasi (umum khusus)
Kebergantungan / dependency
Relasi antarkelas dengan makna kebergantungan antarkelas
Agregasi / aggregation
Relasi antarkelas dengan makna semua – bagian (whole – part )
http://digilib.mercubuana.ac.id/
28 Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan asosiasi, dan lain-lain. Class memiliki 3 area pokok (Lukmanul Hakim, 2012). 1. Nama ( dan stereotype) 2. Atribut 3. Metode Atribut dan metode dapat mempunyai salah satu sifat sebagai berikut: 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja.
Gambar 2.7 Contoh Class Diagram Bernd Bruegge and Allen H. Dutoit (2010)
e. Domain Class Diagram Notasi dari Unified Modeling Language (UML), yang menjadi standar model dan digunakan dalam mengembangkan object oriented system. Salah satu jenis dari UML class diagram yang menunjukkan domain kerja pengguna disebut
dengan
domain
class
diagram.
http://digilib.mercubuana.ac.id/
(Satzinger,
2010).
Gambar 2.8 Contoh Domain Class Diagram Satzinger (2010).
http://digilib.mercubuana.ac.id/
30
f.
First-Cut Class Diagram Menurut Satzinger (2010) First Cut Class Diagram dikembangkan dengan
memperluas model domain class diagram dan memerlukan dua langkah yaitu: a. Mengelaborasi atribut-atribut dengan tipe dan menginisialisasi nilai informasi. b. Menambahkan panah navigasi visibilitas.
Gambar 2.9 Contoh First-Cut Class Diagram Satzinger (2010).
http://digilib.mercubuana.ac.id/
g. Sequence Diagram Sequence Diagram atau diagram sekuen merupakan diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh sebab itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek tersebut. Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang mempunyai proses sendiri atau yang penting semua use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. (Wiley, 2010). Tabel 2.7 Simbol - simbol Sequence Diagram Rosa A. S. (2013). Simbol Aktor
Deskripsi Orang,
proses,
atau
sistem
lain yang berinteraksi dengan sistem
informasi
yang akan
Nama Aktor
dibuat diluar sistem informasi
Atau
yang akan dibuat itu sendiri, biasanya
Nama Aktor Tanpa waktu aktif
dinyatakan
menggunakan kata benda
di
awal frase nama menggunakan kata benda di awal frase nama aktor.
Garis hidup/lifeline
Menyatakan kehidupan suatu objek.
Objek Nama Objek : nama
Menyatakan
objek
berinteraksi pesan.
kelas
http://digilib.mercubuana.ac.id/
yang
32 Tabel 2.8 (lanjutan) Simbol Sequence Diagram Rosa A. S. (2013) Simbol
Deskripsi
Waktu Aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
Pesan tipe create
Menyatukan suatu objek
<>
membuat objek yang lain, arah panah mengarah pada objek yang dibuat.
Pesan tipe send
Menyatakan bahwa suatu objek
1: masukan
mengirim data atau masukan atau informasi ke objek lain, arah panah mengarah pada objek yang menerima kembalian.
Pesan tipe return
Menyatakan bahwa suatu objek
1: Keluaran
yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian.
http://digilib.mercubuana.ac.id/
33
Gambar 2.10 Contoh Sequence Diagram Bernd Bruegge and Allen H. Dutoit (2010) a. Pemodelan UML, menurut Rosa A. S (2013) dalam bukunya Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek menyatakan bahwa UML (Unified Modelling Language) adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. b. Kompleksitas perangkat lunak dapat dilihat dari : 1. Kompleksitas domain atau permasalahan perangkat lunak 2. Kesulitan mengelola proses pengembangan perangkat lunak 3. Kemungkinan fleksibilitas perubahan perangkat lunak 4. Permasalahan karakteristik bagian-bagian perangkat lunak secara diskrit. c. Pemodelan adalah gambaran dari realita yang simpel dan dituangkan dalam bentuk pemetaan dengan aturan tertentu. permasalahan karakteristik bagianbagian erangkat lunak secara diskrit. Perangkat pemodelan adalah suatu model yang digunakan untuk menguraikan sistem menjadi bagian-bagian yang dapat diatur dan mengomunikasikan ciri konseptual dan fungsional kepada pengamat. Peran perangkat
pemodelan
:
komunikasi,
eksperimentasi
http://digilib.mercubuana.ac.id/
dan
prediksi.
d. Terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori. Structure diagrams yaitu kumpulan diagram yang digunakan untuk
1.
menggambarkan suatu struktur statis dari sistem yang dimodelkan. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk
2.
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk
3.
menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem. e. Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Mempunyai : 1.
Attribut merupakan variabel-variabel yang dimiliki suatu kelas.
2.
Operasi atau metode adalah fungsi-fungsi yang dimiliki suatu kelas.
Susunan struktur kelas yang baik ada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut :
2.4
1.
Kelas Main
2.
Kelas yang menangani tampilan sistem (view)
3.
Kelas yang diambil dari pendefinisian use case (controller)
4.
Kelas yang diambil dari pendefinisian data (model)
Web Situs web merupakan sebuah situs yang ditempatkan pada sebuah server
web dan dapat diakses melalui jaringan internet ataupun jaringan wilayah lokal melalui alamat internet yang dikenal dengan nama URL. 2.6.1 Website Web merupakan suatu sistem informasi jaringan yang sangat terkenal saat ini. Arsitektur web didesain agar independen terhadap platform Indrajani (2011). Menurut kadir (2013) “website adalah halaman informasi yang ada di internet, dimana halaman tersebut merupakan kumpulan komponen yang terdiri dari teks, gambar dan suara animasi”. Web adalah layanan yang didapat oleh pemakai komputer yang terhubung ke internet. Yeni Kustiyahningsih (2011). Dari beberapa definisi
142 http://digilib.mercubuana.ac.id/
143 diatas maka dapat disimpulkan bahwa website merupakan suatu halaman informasi yang dapat diakses pada jaringan yang luas yaitu internet dan berisi komponen yang terdiri dari teks, gambar, suara animasi, dan video. 2.6.2 Webserver Webserver adalah sebuah komputer yang terdiri dari perangkat keras dan perangkat lunak. Secara bentuk fisik dan cara kerjanya, perangkat keras web server hampir sama dengan komputer rumah atau PC, yang menjadi perbedaan adalah kapasitas dan kapabilitasnya. Perbedaan tersebut dikarenakan web server bekerja sebagai penyedia layanan yang dapat diakses oleh banyak pengguna, maka dibutuhkan kapasitas da kapabilitas yang besar dibanding PC. Dukungan perangkat lunas juga sangat dibutuhkan agar web server dapat berjalan secara optimal. Alexander F.K. Sibero (2011). Beberapa contoh dari webserver antara lain : Apache, IIS (Internet Information Server), Xitami, dan lain sebagainya. 2.6.3 Web browser Web Browser merupakan perangkat lunak pada sisi klien yang digunakan untuk mengakses sumber informasi web. Web Browser berfungsi menerima dan menyajikan sumber informasi web. URL (Uniform Resource Locator) akan mengidentifikasikan sebuah sumber informasi yang dapat berupa halaman web, gambar, video, atau jenis konten lainnya. Beberapa contoh dari Web Browser antara lain: Mozilla Firefox, Google Chrome, Internet Explorer, Opera, Safari, dan lain sebagainya. 2.6.4 Internet Menurut Sibero (2011) Definisi internet adalah “jaringan komputer yang menghubungkan antar jaringan secara global, internet dapat juga disebut jaringan dalam suatu jaringan yang luas”. Internet dapat didefinisikan sebagai suatu jaringan komputer dengan area luas yang menghubungkan pengguna komputer dengan pengguna komputer lainnya di sebuah wilayah ke wilayah lain di penjuru dunia. Sebagai suatu jaringan global, internet menggunakan standar Internet Protocol Suite (TCP/IP) dalam melayani banyak pengguna di seluruh dunia. Internet mempunyai kegunaan dalam mendukung bisnis global, akademi
http://digilib.mercubuana.ac.id/
144 dan komunitas yang mewakili pribadi. Berdasarkan kegunaan internet, maka dapat dibagi menjadi 3 fungsi yaitu: 1. Fungsi Resource Sharing Internet dapat menghubungkan komputer dengan fasilitas-fasilitas sharing antar komputer. 2. Fungsi Resources Discovery Internet dapat menjadi penuntun untuk suatu pencarian tertentu seperti: dokumen, host, dan lain sebagainya. 3. Fungsi Komunitas Internet menjadi suatu alat komunikasi antar pengguna komputer. Internet menjadi media dalam pertukaran pesan melalui electronic mail. 2.6.5 URL (Uniform Resource Locator) URL (Uniform Resource Locator) merupakan suatu rangkaian karakter yang mempunyai format standar tertentu yang digunakan dalam menunjukkan suatu alamat atau lokasi sumber seperti file, direktori, dokumen, gambar serta metode yang digunakan. Dalam alamat url dapat terdiri dari: 1. Protokol yang digunakan oleh suatu browser dalam mengambil informasi. 2. Nama komputer (host) dimana informasi yang diakses berada. 3. Jalur atau path serta nama file dari suatu informasi. Secara umum format dari uniform resource locator (url) adalah Protokol_transfer://nama_host/path/nama_file.
Sebagai
contoh:
http://www.google.com/index.html. 2.6.6 HTTP HTTP (HyperText Transfer Protocol) merupakan sebuah protokol yang digunakan dalam pendistribusian sistem informasi yang berbasis hypertext. Protokol ini merupakan protokol standar dalam pengaksesan HTML. HTTP diprakarsai oleh World Wide Web sistem informasi yang menyeluruh sejak tahun
1990.
Penggunaanya
pada
alamat
penjelajahan
web
misalnya
http://www.google.com; ini merupakan salah satu penggunaan protokol HTTP dalam web.
http://digilib.mercubuana.ac.id/
145 Pada client HTTP seperti web browser biasanya memulai permintaan dengan menggunakan port 80. Sebuah server HTTP mendengarkan di port tersebut dan menunggu client mengirim kode permintaan yang akan meminta halaman yang sudah ditentukan. HTTP bisa dianggap sebagai sistem yang bermodel Client-Server. Disini Web Browser bertindak sebagai clientnya. Seiring dengan perkembangan teknologi informasi yang begitu pesat maka website pun juga mengalami perkembangan. Jenis web dapat dikelompokkan
berdasarkan
fungsi,
sifat
atau
style,
dan
bahasa
pemrogramannya. a. Jenis website berdasarkan sifat atau style: 1. Website Dinamis adalah sebuah website yang konten atau isinya selalu berubah-ubah setiap saat. Bahasa pemrograman yang biasa digunakan antara lain ASP,PHP,.NET dan biasanya menggunakan database MySQL atau MS SQL. 2. Website Statis adalah sebuah website yang konten atau isinya jarang berubah. Bahasa pemrograman yang biasa digunakan adalah HTML dan tidak memanfaatkan database. b. Jenis website berdasarkan fungsinya: 1. Personal website, website yang berisi tentang informasi pribadi. 2. Commercial website, website yang berorientasi pada bisnis dan dimiliki oleh sebuah perusahaan. 3. Government website, website yang dimiliki oleh instansi pemerintah dengan tujuan untuk memberikan pelayanan kepada pengguna atau masyarakat. 4. Non-profit Organization website, website yang dimiliki oleh organisasi yang tidak bersifat bisnis atau non-profit. c. Jenis website berdasarkan dari segi pemrograman yang digunakan: 1. Server
Side,
merupakan
website
dengan
menggunakan
bahasa
pemrograman yang tergantung pada ketersediaannya server. Contoh: PHP, ASP, .NET dan lain sebagainya. Website tidak akan berfungsi sebagaimana mestinya jika tidak ada server.
http://digilib.mercubuana.ac.id/
146 2. Client Side, merupakan website tanpa membutuhkan server dalam menjalankannya dan hanya cukup diakses melalui browser. Contoh: HTML. 2.6.7 Ajax AJAX merupakan singkatan dari Asynchronous JavaScript And XML. Dalam pengertian lain AJAX merupakan penggabungan antara javascript dan xml untuk mengakses sumber data di server. Javascript berada sebagai pemrogram di sisi client sedangkan XML digunakan untuk format data hasil kembalian dari server. Javascript mengakses server menggunakan suatu object javascript yang disebut XMLHttpRequest. Object tersebut yang akan menjadi ini mesin dari AJAX, dari proses mengakses data sampai dengan menerima respon dari server. Pada dasarnya AJAX menggunakan XMLHttpRequest untuk membuat request ke server secara asynchronous atau tanpa melakukan refresh halaman website. AJAX dapat digunakan untuk melakukan banyak hal, seperti loading halaman HTML tanpa refresh halaman web, validasi form dan banyak lagi yang dapat dilakukan dengan AJAX. 2.6.8 Java Pemrograman Java adalah general-purpose, concurrent, class-based, object language. Gosling, Bill Joy, Guy Steele, and Gilad Bracha, (2011). Java dikembangkan oleh sebuah tim yang dipimpin oleh James Gosling di Sun Microsystem. Pada awalnya bernama Oak, didesain pada 1991 untuk digunakan pada chip peralatan rumah tangga. Pada tahun 1995, namanya diubah menjadi Java dan didesain ulang untuk mendukung aplikasi internet. Y. Daniel Liang (2011). Java adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer yang berdiri sendiri (standalone) ataupun pada lingkungan jaringan. Rosa A.S. dan M. Salahuddin (2010). Java merupakan bahasa pemrograman yang bersifat multi platform dan multi device. Source program maupun hasil dari kompilasi java tidak bergantung pada sistem operasi dan platform yang digunakan sehingga apabila source program maupun hasil kompilasinya dipindahkan ke sistem operasi yang
http://digilib.mercubuana.ac.id/
147 berbeda, maka tidak perlu mengubah satu baris kode pun. Sebagai sebuah platform, java terdiri atas dua bagian utama, yaitu : a. Java Virtual Machine (JVM) b. Java Application Programming Interface (Java API) Sun membagi kategori pada java 2 menjadi tiga, yaitu: 1. Enterprise Edition (J2EE) Pada kategori ini merupakan java yang digunakan dalam menjalankan dan mengembangkan aplikasi Java pada lingkungan enterprise, dengan menambah fungsionalitas Java semacam EJB (Enterprise Java Bean), Java COBRA, Servlet dan JSP, serta Java XML (Extensible Markup Language). 2. Standard Edition (J2SE) Pada kategori ini merupakan java yang digunakan dalam menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer). 3. Micro Edition (J2ME) Pada kategori ini merupakan java yang digunakan dalam menjalankan dan mengembangkan apliakasi Java pada handled devices atau perangkat-perangkat semacam handphone, PDA, dan PocketPC. Contoh Syntax java sederhana : class HelloWorld{ public static void main (String [] args){ System.out.println("==Hello World=="); } } 2.6.9 Javascript JavaScript adalah object-based scripting language yang berasal dari penggabungan development program diantaranya Netscape dan Sun, dan juga menjadi Netscapes’s web scripting language Connolly and Begg, (2010). Keunggulan javascript yang juga dikenal dengan sebutan ECMAScript yaitu dapat berjalan dengan browser yang mendukung JavaScript, dan hampir semua platform dan browser saat ini mendukung JavaScript. JavaScript juga
http://digilib.mercubuana.ac.id/
148 merupakan bahasa pemrograman client-side yang cross-platform (berjalan di banyak platform) dan bersifat bebas (untuk dimodifikasi dan gratis) juga diadopsi secara umum. Contoh : - File coba.js yang berisi : function pesan() { alert("Hello World") } - File HTML yang berisi : <script src="coba.js"> Keterangan : Pada saat html di-load maka akan muncul sebuah tombol bertuliskan Tekan ini. Saat tombol tersebut ditekan maka akan muncul pesan “Hello World”. 2.6.10 XML XML adalah sebuah meta-language (bahasa yang digunakan untuk mendeskripsikan bahasa lain) yang memungkinkan seorang desainer membuat sendiri tag yang menyediakan fungsi yang tidak tersedia pada HTML (Connolly and Begg, 2010). XML merupakan sebuah versi meta-language yang diturunkan dari Standard Generalized Markup Language (SGML), yang didesain khusus untuk dokumen website dan dapat mendukung perancang dalam menciptakan tag
sendiri,
yang
mempunyai
kemampuan
untuk
mendefinisikan,
mentransmisikan, memvalidasikan dan menginterpretasikan data antara aplikasi dan organisasi. XML dikembangkan oleh World Wide Web Consortium (W3C) yang didukung sekitar 150 orang anggota dan versi 1.0 pertama kali dirilis pada tahun
http://digilib.mercubuana.ac.id/
149 1998. XML menggunakan teknologi Document Type Definitions (DTDs) yang dapat mendefinisikan sintaksis yang valid dari dokumen XML. a. Keunggulan pada XML antara lain Connolly and Begg (2010) : 1. Simplicity, XML menggunakan bahasa yang sederhana, mudah dimengerti oleh manusia dan mesin. 2. Open standard and platform, XML menggunakan standar terbuka dan tidak tergantung pada platform tertentu. 3. Extensibility, XML memungkinkan user untuk mendefinisikan tag sendiri sehingga dapat dikembangkan sesuai dengan kebutuhan user. 4. Reuse, XML memungkinkan libraries dari XML tags untuk dibangun sekali dan dapat digunakan kembali oleh banyak aplikasi. 5. Separation of content and presentation, XML memisahkan antara isi dan tampilan dari suatu data sesuai dengan pengaturan yang diinginkan. 6. Improved load balancing, data dapat ditampilkan pada browser dengan baik. 7. Support for the integration of data from multiple source, Kemampuan mengintegrasikan data dari berbagai macam sumber yang berbeda merupakan hal yang sulit dan memakan waktu. XML dapat menggabungkan data dari banyak sumber dengan cara yang mudah. 8. Ability to describe data from a wide variety of applications, XML dapat digunakan untuk mendeskripsikan data yang berada pada aplikasi yang berbeda. 9. More advanced search engine, dengan XML mesin pencairan akan mampu untuk menyederhanakan berbagai macam tags. 10. New opportunities, XML memiliki banyak kelebihan yang dapat digunakan dalam banyak aplikasi teknologi saat ini. Struktur hirarkisnya cocok untuk banyak tipe dokumen. b. Kekurangan pada XML: 1. Parser harus didesain untuk memahami struktur data bersarang yang berubah-ubah dan harus melakukan pengecekan tambahan untuk mendeteksi sintaks atau data yang tidak terformat atau terurut dengan benar.
http://digilib.mercubuana.ac.id/
150 2. Urutan penekanan tombol untuk pengetikan ekspresi XML pada keyboard standar komputer seringkali tidak fleksibel. Contoh XML : <judul>Roti pizza tepungragiair hangatgaramCampur semua bahan dan uleni adonan sampai merata.Tutup dengan kain biarkan selama 3 jam di ruangan yang hangat.Ulangi lagi, letakkan di loyang dan panggang di oven.Keluarkan, hidangkan 2.5
Perangkat lunak pendukung Dalam membangun sistem ini membutuhkan perangkat lunak pendukung
yaitu beberapa program aplikasi untuk menghasilkan sistem yang lengkap dan sesuai dengan yang dibutuhkan oleh pengguna. Adapun beberapa program aplikasi yang digunakan dalam membangun sistem ini antara lain: 2.5.1
Zk Framework Zk Framework adalah Framework yang berbasis komponen (component
based) yang menyediakan tampilan antar muka yang kaya, dinamis dan interaktif bagi pengembangan web aplikasi. Zk menyediakan sebuah event-
http://digilib.mercubuana.ac.id/
151 driven berbasis AJAX, yaitu sekumpulan komponen beraneka ragam (rich) yang terdiri dari XML User Interface Language (XUL), XHTML, dan ZK User Interface Markup Language (ZUML). Event-driven sendiri merupakan sebuah engine yang memungkinkan untuk melakukan model pemrograman desktop yang intuitif (melakukan sesuatu dengan cepat tanpa pengetahuan yang dimiliki sebelumnya) ke model pemrograman web. Maksudnya, konsep-konsep pemrograman pada aplikasi desktop yang dilakukan dengan cepat dan mudah, dapat dilakukan pada lingkungan web. Para Programmer dapat menampilkan aplikasinya dalam fitur komponen rich XUL dan XHTML. Bahasa markup ZUML membuat antar muka pengguna yang kaya semudah menulis halaman HTML. ZK mencakup sebuah mekanisme berbasis Ajax untuk mengotomatisasi antar aktifitas, sekumpulan komponen berbasis XUL untuk memperkaya kegunaannya, dan sebuah bahasa “markup” untuk memudahkan dalam pengembangan. Mekanisme ZK berbasis AJAX terdiri dari 3 bagian yang dibagi menjadi ZK Loader, ZK AU Engine dan ZK Client Engine.
Gambar 2.11 Zk Framework Architecture (book.zkoss.org) Bedasarkan pada permintaan user, ZK Loader me-load halaman ZK, menerjemahkannya dan me-render hasilnya ke halaman HTML pada respon untuk permintaan URL. Sebuah halaman ZK ditulis dalam sebuah bahasa
http://digilib.mercubuana.ac.id/
152 markup yang disebut ZUML. ZUML, seperti HTML, digunakan untuk menjelaskan
komponen
apa
yang
akan
diciptakan
dan
bagaiman
menampilkannya. Komponen tersebut sekali diciptakan, akan terus ada sampai session berakhir. Pada gambar diatas dijelaskan bagaimana proses sebuah halaman ditampilkan. Alur prosesnya adalah sebagai berikut: a. Ketika ada user mengetik URL atau meng-klik sebuah hyperlink pada browser, sebuah permintaan dikirimkan ke web server. ZK Loader kemudian terlibat untuk menyediakan permintaan tersebut, jika URL cocok dengan ZK yang telah dikonfigurasi. b. Zk Loader me-load halaman tersebut dan menerjemahkannya untuk menciptakan komponen yang sesuai. c. Setelah menerjemahkan semua halaman, ZK Loader me-render hasilnya ke halaman HTML. Halaman HTML kemudian dikirim balik ke browser disertai dengan ZK Client Engine. d. ZK Client Engine berada di browser untuk men-detect apa saja event yang terjadi berdasarkan kegiatan user seperti menggerakkan mouse atau merubah sebuah nilai. Sekali terdeteksi, ZK Client memberitahu ZK AU Engine dengan mengirimkan sebuah ZK request. e. Ketika menerima ZK requests dari Client Engine, AU Engine meng-update isi komponen yang cocok, jika dibutuhkan. Kemudian, AU Engine memberitahu aplikasi dengan melibatkan event handles yang cocok, jika ada. f. Jika aplikasi memilih untuk merubah isi dari komponen, menambah atau memindahkan komponen, AU Engine mengirimkan isi yang baru ke komponen yang dibuang ke Client Engine dengan menggunakan ZK Responses. g. ZK Responses tersebut sebenarnya perintah untuk meminta Client Engine bagaimana untuk meng-update DOM sesuai dengan tree. 2.5.2
Eclipse Menurut Deitel (2012), Eclipse merupakan Integrated Development
Environment (IDE) yang menyediakan tools yang mendukung proses
http://digilib.mercubuana.ac.id/
153 pengembangan perangkat lunak, termasuk editor untuk menulis dan mengubah program serta sebagai debugger untuk mencari kesalahan-kesalahan logika. Eclipse mempunyai beberapa sifat antara lain: a. Multi-platform : Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. b. Multi-language : Eclipse dikembangkan dengan bahasa pemrograman Java, namun Eclipse mendukung pengembangan aplikasi bebasis bahasa pemrograman lainnya, seperti C/C++ c. Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun dapat digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, testing perangkat lunak, pengembangan web, dan lain-lain. Eclipse pada saat ini merupakan salah satu IDE yang banyak dipakai oleh banyak pengembang dikarenakan gratis dan sifatnya yang open source, yang berarti setiap orang dapat melihat kode pemrograman perangkat lunak tersebut. Selain itu, kelebihan dari Eclipse adalah kemampuannya untuk dapat dikembangkan oleh pengguna atau pengembang dengan komponen yang dinamakan plug-in.
Gambar 2.12Tampilan splash screen Eclipse Indigo
http://digilib.mercubuana.ac.id/
154
Gambar 2.13Tampilan editor Eclipse
2.5.3
iReport iReport merupakan suatu report visual designer yang dibangun dalam
JasperReport yang mengisi kekurangan itu. iReport bersifat inisiatif dan mudah untuk digunakan dalam membangun laporan visual atau desainer untuk JasperReports, dan tertulis dalam kitab Java. (Hendra Kurniawan dkk , 2011). Terdapat tools iReport (dengan library JasperReport) yang dapat pula membantu dalam pembuatan laporan atau report. Library JasperReport sendiri merupakan java library (JAR) yang bersifat open source dan dirancang untuk menambahkan kemampuan pelaporan (reporting capabilities) pada aplikasi java (Hendra Kurniawan dkk, 2011). JasperReport memiliki sejumlah fitur diantaranya adalah : 1. Layout dan desain laporan yang fleksibel. 2. Dapat menampilkan laporan dalam bentuk teks maupun gambar (chart). 3. Dapat menghasilkan report dalam berbagai format : html, pdf, rtf, csv, xls. 4. Dapat menerima data dari berbagai sumber data : JDBC, Bean Collection, ResultSet, CSV, XML, Hibernate.
http://digilib.mercubuana.ac.id/
155
Gambar 2.14 Tampilan splash screen iReport 5.5.0
Gambar 2.15 Tampilan editor iReport 5.5.0
2.5.4 XAMPP XAMPP merupakan paket PHP dan MySQL berbasis open source, yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengkombinasikan beberapa paket perangkat lunak berbeda ke dalam satu paket (Riyanto, 2010).
Gambar 2.16 Logo XAMPP
http://digilib.mercubuana.ac.id/
156 XAMPP merupakan singkatan dari : X : (baca:cross) merupakan arti dari cross-platform A : Apache M : MySQL P : PHP P : Perl XAMPP merupakan perangkat lunak gratis dan mudah dalam penggunaannya yang memuat distribusi paket Apache seperti MySQL, PHP, dan Perl. XAMPP merupakan open source yang telah dibuat dengan sangat mudah dalam instalasi dan penggunaan. Apache Tomcat merupakan sebuah web server yang bersifat open source dan mendukung untuk penggunaan JSP (Java Server Pages). Secara default, server tomcat ini belum memiliki package admin, sehingga tidak ada akses untuk admin. Yang disediakan hanyalah tomcat manager untuk mendeploy aplikasi web melalui file .war dari java web. Apache Tomcat merupakan implementasi software open source dari Java Servlet dan Java Server Pages Technology. Java Servlet dan Java Server Pages merupakan spesifikasi yang dikembangkan di bawah Java Community Process.
Gambar 2.17 Logo Apache Tomcat 2.5.5 MySQL MySQL merupakan suatu database server relational yang merupakan perangkat lunak tak berbayar dan berada di bawah lisensi GNU (General Public Licence). MySQL bersifat Open Source sehingga memungkinkan pengguna
http://digilib.mercubuana.ac.id/
157 untuk melakukan modifikasi pada source code-nya sehingga sesuai dengan kebutuhan-kebutuhan mereka sendiri. MySQL merupakan database server multi-user dan multi-thread yang tangguh. Dengan memiliki banyak feature MySQL dapat bersaing dengan database komersial sekalipun. Menurut Yakub (2008) SQL (structure Query Language) adalah suatu bahasa komputer yang mengikuti standar American Nasional Standard Institute (ANSI), yaitu sebuah bahasa standar yang digunakan untuk mengakses dan melakukan manipulsai sistem database. Pada umumnya perintah-perintah yang sering digunakan dalam MySQL adalah select (mengambil), insert (menambah), update (mengubah), dan delete (menghapus). Disamping itu, MySQL juga menyediakan perintah-perintah untuk membuat database, field, dan lain sebagainya. Ada beberapa kelebihan dari MySQL antara lain : 1. Bersifat open source. 2. Menggunakan bahasa SQL (Structure Query Language) 3. Super Performance dan Reliable 4. Sangat mudah dipelajari 5. Memiliki dukungan support pengguna MySQL 6. Bersifat multi platform 7. Multiuser
Server database MySQL mempunyai kecepatan akses tinggi, serta mudah dalam penggunaanya dan handal. Fitur utama pada MySQL ditulis dalam bahasa C dan C++ sehingga dapat bekerja dalam berbagai platform. 2.5.6 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
http://digilib.mercubuana.ac.id/
158 telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Professional menawarkan antarmuka pengguna
yang sama, tapi 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 mengoneksikan diagram-diagram buatan mereka terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik. 2.6 Database Database adalah kumpulan yang saling berhubungan (relasi). Data memiliki arti yang sangat penting bagi kelangsungan suatu organisasi atau perusahaan. Data yang baik merupakan data yang dapat disusun dalam basis data sehingga basis data tersebut dapat digunakan secara optimal bagi organisasi atau perusahaan untuk mengumpulkan, mengorganisir dan menganalisa data bisnis perusahaan atau organisasi. 2.6.1 Pengertian Database Pengertian umum definisi dari database adalah berbagi (shared), penyimpanan yang saling terhubung (intergration collection), kumpulan (repository) yang terintegrasi dari data. Dua kata yang menitik beratkan pada pendefinisian dari database adalah berbagi (shared) dan saling terhubung (integrated). Berbagi (shared) berarti beberapa pengguna dapat meng-akses data didalam database secara bersama-sama. Yang terhubung (integrated) berarti menghilangkan data yang terduplikasi (informasi yang ditulis lebih dari satu kali). Sebagai contoh informasi tentang data mahasiswa mungkin saja tersebar diberbagai komputer namun jikalau diletakkan dalam satu server data mahasiswa dan data tersebut diakses secara bersama-sama oleh pengguna maka dapat dikatakan database. (Masya 2010). Pengertian database atau basis data menurut Indrajani (2011) adalah sebagai berikut: a. Kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis data mengonsolidasi banyak catatan yang sebelumnya disimpan dalam file terpisah.
http://digilib.mercubuana.ac.id/
159 b. Merupakan suatu kumpulan data yang berhubungan secara logis dan deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat penyimpanan data yang besar, di mana dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen, melainkan menjadi sumber daya perusahaan yang dapat digunakan bersama. 2.6.2 DBMS (Database Management System) Database Management System merupakan perangkat lunak yang memungkinkan pengguna dapat mendefinisikan, membuat, merawat, dan mengatur akses ke basis data. Pada umumnya DBMS memungkinkan pengguna untuk mendefinisikan Database melalui Data Definition Language (DDL). Menspesifikasikan tipe data, struktur dan batasan pada data yang disimpan di Database. Kemudian juga memungkinkan insert, update, delete, dan mengambil data dari Database melalui Data Manipulation Language (DML), mempunyai pusat penyimpanan bagi semua data dan deskripsi data memungkinkan DML untuk menyediakan fasilitas umum bagi data tersebut yang dikenal dengan bahasa query (Connolly and Begg 2010). Penggunaan DBMS mempunyai keuntungan dan kerugian. Keuntungan dan kerugian DBMS (Connolly and Begg 2010)adalah sebagai berikut: a. Kelebihan DBMS 1. Kontrol terhadap redudansi data Sistem akan menghilangkan berbagai duplikasi data karena didukung dengan adanya integrasi file. 2. Konsistensi data Dengan menghilangkan atau mengendalikan redudansi, maka risiko dari inkonsistensi akan terjadi. Apabila sebuah item data disimpan hanya sekali dalam Database, maka jika ada perubahan nilainya maka pengguna DBMS dapat secara cepat mengakses nilai yang terbaru. 3. Informasi yang lebih dari sejumlah data yang sama. Dengan integrasi dari operasional, memungkinkan bagi organisasi untuk mengambil data tambahan dari informasi yang sama. 4. Pembagian data
http://digilib.mercubuana.ac.id/
160 Biasanya file dimiliki oleh sebuah departemen atau yang memilikinya. Namun pada DBMS database dimiliki oleh perusahaan atau organisasi dan bukan milik bagian tertentu. 5. Meningkatkan integritas data Integritas database mengacu pada validitas dan konsistensi data yang tersimpan. 6. Meningkatkan keamanan Keamanan database adalah fasilitas pengaturan akses pada database sehingga melindungi dari pihak-pihak yang tidak berhak dalam mengakses, menambah, mengubah, dan menghapus. 7. Meningkatnya standardisasi Dalam memudahkan bagi pengguna DBMS, maka dalam penamaan tabel, field, tipe data, hak akses, dan sebagainya harus dibuat sesuai dengan standar dan dokumentasinya. 8. Skala ekonomi Menggabungkan semua data operasional organisasi ke dalam satu Database, dan menciptakan kumpulan aplikasi yang bekerja pada salah satu sumber data, yang berdampak pada penghematan biaya. 9. Keseimbangan konflik kebutuhan Pengguna dalam perusahaan mungkin memiliki kebutuhan yang tidak sama dengan pengguna lainnya. Dengan adanya DBMS maka dapat membuat keputusan tentang desain dan penggunaan operasional basis data secara keseluruhan. 10. Meningkatkan akses data dan tanggapan Sebagai akibat adanya integrasi, data yang melintasi batas-batas departemen menjadi dapat diakses secara langsung ke pengguna akhir. Dengan demikian menyediakan suatu sistem dengan potensi yang lebih banyak mengenai fungsionalitas dapat digunakan untuk memberikan layanan yang lebih baik untuk pengguna akhir. 11. Peningkatan produktivitas
http://digilib.mercubuana.ac.id/
161 DBMS menyediakan banyak fungsi yang baku di mana seorang programmer dapat menuliskan fungsi-fungsi baku tersebut dalam suatu instruksi pada aplikasi. DBMS menyediakan semua rutinitas penanganan file tingkat rendah yang khas dalam program aplikasi. Penyediaan fungsi tersebut memungkinkan programmer untuk berkonsentrasi pada fungsi khusus yang diperlukan oleh pengguna tanpa takut dalam melakukan implementasi tingkat rendah secara detail. 12. Peningkatan pemeliharaan melalui independensi data Dalam sistem berbasis files, deskripsi data dan logika untuk mengakses data dibangun ke dalam setiap program aplikasi, sehingga menjadikan ketergantungan data terhadap aplikasi. Suatu perubahan pada struktur data, perubahan pada cara data disimpan dalam disk, akan memerlukan perubahan data dalam program yang telah didefinisikan sebelumnya. Pada DBMS, terjadi pemisahan data dengan aplikasi program dan akan kebal terhadap perubahan data. Hal ini biasa disebut dengan istilah independensi data. 13. Peningkatan konkurensi Dalam beberapa sistem berbasis file, jika dua atau lebih pengguna diizinkan untuk mengakses file yang sama secara bersamaan, sangat memungkinkan akses tersebut saling mengganggu satu sama lain, sehingga dapat menyebabkan hilangnya informasi atau bahkan hilangnya integritas. Pada DBMS dapat melakukan pengaturan akses data yang dilakukan secara bersamaan. 14. Peningkatan backup dan jasa pemulihan Fasilitas backup dan restore disediakan oleh DBMS untuk mengurangi kegagalan sistem atau aplikasi program. b. Kelemahan DBMS 1. Kompleksitas Penyediaan pengaturan fungsi-fungsi yang terdapat pada DBMS menjadikan DBMS sebuah perangkat lunak yang cukup rumit dan kompleks. Desainer basis data, developer data database administrator, dan pengguna akhir harus memahami fungsi tersebut agar dapat
http://digilib.mercubuana.ac.id/
162 mengambil keunggulan secara penuh. Kegagalan untuk memahami sistem dapat mengarah pada sesuatu keputusan desain yang buruk, sehingga menjadi konsekuensi serius bagi organisasi dikemudian hari. 2. Biaya DBMS yang mahal Biaya DBMS bervariasi, tergantung pada lingkungan dan fungsi yang disediakan. 3. Ukuran Kerumitan
dan
besarnya
fungsionalitas
menyebabkan
DBMS
memerlukan banyak megabytes apda ruang disk dan membutuhkan banyak memori untuk menjalankannya secara efisien. 4. Biaya penambahan perangkat keras Persyaratan penyimpanan disk untuk DBMS dan database mungkin membutuhkan
pembelian
perangkat
kerang
tambahan
sebagai
pendukung.
5. Adanya biaya konversi Biaya konversi ini akan digunakan untuk proses konversi ke DBMS sebagai sistem yang baru. 6. Kinerja Pada DBMS ditulis lebih umum dan melayani banyak aplikasi sehingga akan mengakibatkan beberapa aplikasi berjalan lebih lambat dari yang biasa digunakan. 7. Dampak suatu kegagalan yang tinggi Apabila DBMS mengalami kerusakan maka akan berdampak pada seluruh pengguna dan sistem informasi yang mengakses DBMS karena adanya ketergantungan terhadap DBMS tersebut. c. Komponen DBMS Komponen pada DBMS dapat dibedakan menjadi lima Indrajani (2011:p11-12), yaitu: 1. Hardware atau perangkat keras atau peranti keras
http://digilib.mercubuana.ac.id/
163 Hardware ini diperlukan oleh DBMS dan aplikasi. Contoh dari perangkat keras antara lain personal computer, notebook, mainframe, serta jaringan komputer. 2. Software atau perangkat lunak atau peranti lunak Beberapa penggunaan software, yaitu: a. Perangkat lunak sistem operasi komputer untuk PC biasa ataupun server 2008, contohnya Windows XP, Windows Server, Linux, dan lain sebagainya. b. Perangkat lunak untuk database, contohnya Microsoft SQL 2008, Oracle, dan MySQL. c. Perangkat lunak untuk pemrograman, contohnya program Java, .Net 2005, C++. d. Perangkat lunak untuk jaringan seperti Cisco 3. Data Merupakan komponen terpenting DBMS karena penghubung antara komputer dengan manusia.
4. Prosedur Merupakan instruksi dan aturan yang menentukan perancangan dan penggunaan basis data, di mana pengguna sistem dan pengelola basis data
membutuhkan
dokumentasi
ini
untuk
menjalankan
dan
menggunakan sistem. 5. Manusia Disini dibedakan menjadi beberapa fungsi menurut peranannya. Fungsi tersebut antara lain: a. Data dan Database Administrator, orang atau sekelompok orang yang bertanggung jawab untuk manajemen dan pengendalian basis data. b. Database Desainer, dibedakan menjadi perancang basis data secara logika dan fisik.
http://digilib.mercubuana.ac.id/
164 c. Application Developer atau Programmer, merupakan tenaga ahli komputer yang berfungsi untuk mengembangkan program-program aplikasi yang diperlukan dalam manajemen basis data. d. End user, termasuk dalam kategori pengguna akhir adalah pemilik sistem (enterprise) para manager, supervisor, operator, pelanggan dan sebaginya yang terlibat langsung dalam penggunaan basis data.