BAB II LANDASAN TEORI
Pada pembahasan landasan teori ini akan diterangkan teori-teori yang berkaitan dengan dokumen dan aplikasi yang dibuat.
2.1
Layanan Informasi Layanan Informasi adalah penyampaian berbagai informasi kepada
sasaran layanan agar individu dapat mengolah dan memanfaatkan informasi tersebut demi kepentingan hidup dan perkembangannya. Tujuan Secara umum yaitu agar terkuasainya informasi tertentu sedangkan secara khusus terkait dengan fungsi pemahaman (paham terhadap informasi yang diberikan) dan memanfaatkan informasi dalam penyelesaian masalahnya. Layanan informasi menjadikan individu mandiri yaitu memahami dan menerima diri dan lingkungan secara positif, objektif dan dinamis, mampu mengambil keputusan, mampu mengarahkan diri sesuai dengan kebutuhannya tersebut dan akhirnyadapat mengaktualisasikan dirinya. PEMESANAN Menurut Adi Nugroho dalam bukunya yang berjudul “ Memahami Perdagangan Modern Di Dunia Maya” merupakan hal rutin bahwa konsumen secara elektronik mengirimkan pesanan – pesanan akan barang dan/ atau jasa ke perusahaan. Form elektronik merupakan form yang mirip dengan surat pesanan pada perdagangan tradisional. Aplikasi – aplikasi klien/server sering dirancang untuk menanganinya. Web menuntut campur tangan yang relative sedikit dari personal – personal
9
10
perusahaan. Namun karena kebanyakan system web mendukung form – form elektronik, kebanyakan perusahaan yang bergerak di bidang perdagangan elektronik saat ini menggunakan aplikasi web, dan basisdata untuk tujuan yang sama. Fungsi Website Website mempunyai fungsi bermacam – macam, tergantung dari tujuan dan jenis website yang dibangun, tetapi secara garis besar dapat berfungsi sebagai: A.
Media Promosi Sebagai media promosi dapat dibedakan menjadi media promosi utama,
misalnya website yang berfungsi sebagai search engine atau toko online, atau sebagai penunjang promosi utama, namun website dapat berisi informasi yang lebih lengkap daripada media informasi offline seperti koran atau majalah. B.
Media Pemasaran Pada toko online atau system afiliasi, website merupakan media pemasaran
yang cukup baik, karena dibandingkan degan toko sebagaimana di dunia nyata, untuk membangun toko online diperlukan modal yang relatif kecil, dan dapat beroperasi 24 jam walaupun pemilik website tersebut sedang istirahat atau sedang tidak ditempat, serta dapat diakses darimana saja. C.
Media Informasi Website portal dan radio atau tv online menyediakan informasi yang
bersifat global karena dapat diakses dari mana saja selama dapat terhubung ke internet, sehingga dapat menjangkau lebih luas daripada media informasi konvensional seperti koran, majalah, radio atau televisi yang bersifat lokal.
11
D.
Media Pendidikan Ada komunitas yang membangun website khusus yang berisi informasi
atau artikel yang sarat denagan informasi ilmiah misalnya Wikipedia. 2.2
Pengolahan Data Pengolahan data adalah serangkaian operasi atau informasi yang
diinginkan. Arti lain dari pengolahan data adalah suatu sistem yang akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa bahan jadi. Untuk mendapatkan informasi yang akurat, tepat waktu dan relevan dapat diperoleh dari sistem pengolahan data. Dalam sistem pengolahan data terdapat perbedaan antara data dan informasi. Data adalah suatu bentuk informasi yang masih mentah dan belum dapat bercerita banyak, sehingga perlu diolah lebih lanjut, untuk dapat dijadikan sebagai bahan keterangan (informasi) dan mempunyai nilai bagi seseorang dalam mengambil suatu kesimpulan atau keputusan. Sedangkan informasi adalah hasil dari pengolahan data dalam suatu bentuk yang berguna dan lebih berarti bagi sipenerima. Informasi juga menggambarkan suatu kejadian nyata yang digunakan untuk pengambilan keputusan. Sedangkan sumber dari informasi adalah data, yang berbentuk simbol atau huruf, angka, gambar dalam data dan diolah menjadi suatu model informasi dan membuat keputusan dan melakukan tindakan yang berarti bagi sipenerima informasi maka dengan digunakannya pengolahan data
manfaat yang dapat
diperoleh adalah meminimalkan kebutuhan tenaga manusia , hal ini karena
12
beberapa pekerjaan dilakukan secara otomatis oleh peralatan bantuan seperti komputer . Keuntungan lain adalah kemampuan komputer untuk memproses data lebih besar, keakuratan yang lebih besar, kecepatan yang lebih besar, fasilitas pengendalian otomatis dan pengolahan secara serentak. Sebagai contoh : 1. Pembuatan
faktur
Penjualan,
dengan
sudah
dimanfaatkannya
pengolahan data komputer, maka operator hanya memasukkan jumlah barang yang dipesan, karena nama pelanggan, alamat, harga sudah ada dalam database dan perhitungan total sudah kita dapatkan dari hasil proses program. 2. Perhitungan upah dan gaji, dengan sudah dimanfaatkannya pengolahan data komputer, operator hanya menginput banyaknya jam kerja, lembur, bonus atau komisi, hari absen dan untuk kode pegawai, nama pegawai, gaji pokok, informasi perhitungan pajak pendapatan, neraca pinjaman dan informasi kumulatif lainnya sudah ada pada database dan program yang memprosesnya. 2.3
Model Proses Pengembangan
Metodologi rekayasa perangkat lunak adalah proses untuk menghasilkan perangkat lunak yang teroganisasi menggunakan teknik-teknik dan konvensikonvensi notasi yang telah ditentukan. Metodologi biasanya dipresentasikan sebagai satu rangkaian tahap, dengan teknik-teknik dan notasi diasosiasikan pada masing-masing
tahap.
Tahap-tahap
produksi
perangkat
lunak
biasanya
13
diorganisasikan kedalam
siklus hidup
yang berisi
beberapa fase/tahap
pengembangan. [Bambang Hariyanto, 2004] 2.3.1
Kegunaan Model Proses Pengembangan Proses „pengembangan‟ perangkat lunak memuat serangkaian
langkah yang dapat diprediksi harus ditempuh untuk menciptakan produk perangkat lunak yang berkualitas tinggi serta sesuai dengan jadwal yang ditentukan. [Bambang Hariyanto, 2004] Kegunaan model proses pengembangan adalah sebagai berikut : a)
Penuntun untuk mengorganisasikan, merencanakan, penugasan,
penganggaran, dan pengelolaan kerja proyek perangkat lunak atas waktu, ruang dan lingkungan komputasi. b)
Kerangka mengenai dokumen-dokumen yang dihasilkan untuk
diberikan ke client. c)
Basis untuk menentukan kakas dan metodologi rekayasa perangkat
lunak
yang
paling
cocok
untuk
mendukung
aktivitas-aktivitas
pengembangan. d) Kerangka kerja untuk menganalisis atau estimasi pola-pola alokasi dan konsumsi sumber daya selama pengembangan. e) Basis untuk membuat studi empiris untuk menentukan apa yang mempengaruhi produktivitas, ongkos dan kualitas keseluruhan. 2.3.2
Pengembangan Orientasi Objek Pengembangan
sistem
berorientasi
objek,
memerlukan
keterampilan untuk analisis, perancangan, pemrograman dan pengujian
14
berorientasi objek. Langkah pertama menuju analisis berorientasi objek adalah berkaitan dengan pembuatan model yang presisi, relevan, tegas, dapat dipahami dan benar dari dunia nyata. Maksudnya, memodelkan persoalan sehingga dapat dimengerti dan bertindak sebagai basis stabil di tahap perancangan. Tahap perancangan dimulai dari hasil tahap analisis, dan aktivitas yang dilakukan yaitu merancang model yang berbasis komputasi, jelas yang lebih baik dari model sebelumnya. Keluaran tahap perancangan yaitu cetak biru untuk implementasi dalam bahasa pemrograman berorientasi objek. [Bambang Hariyanto, 2004]. Prinsip-prinsip yang mendasari pengembangan berorientasi objek adalah: 1. Abstraksi Abstraksi adalah kemampuan manusia untuk mengenali keserupaan diantara ojek-objek, situasi-situasi, atau proses-proses didunia nyata serta keputusan untuk berkonsentrasi pada keserupaan-keserupaan. [Bambang Hariyanto, 2004]. Terdapat berbagai cara untuk melakukan klasifikasi abstraksi, diantaranya: a. Abstraksi fungsional untuk menyatakan fungsi-fungsi yang akan diperoleh user. b. Abstraksi data, tipe data merupakan abstraksi data karena tidak perlu mengetahui cara implementasi tipe data tersebut. c. Abstraksi
metode
fungsional/algoritmik.
merupakan
wujud
lain
dari
abstraksi
15
d. Abstraksi
perilaku
merupakan
abstraksi
yang
ditujukan
untuk
mengabstraksikan perilaku sistem atau sifat dinamis dari sistem. 2. Pengkapsulan Pengkapsulan adalah memisahkan aspek-aspek eksternal objek, yang dapat diakses objek-objek lain dari rincian implementasi internal objek yang tersembunyi dari objek-objek lain. Pengkapsulan dimaksudkan agar Output terhindar dari ketergantungan sehingga menyebabkan perubahan kecil yang memiliki akibat beruntun. Keampuhan pengkapsulan adalah membantu meminimalkan kerja ulang ketika mengembangkan sistem yang baru. [Bambang Hariyanto, 2004]. 3. Modularitas Modularitas merupakan kunci penulisan Output
yang bagus dimana
program dipecah menjadi modul-modul kecil yang masing-masing modul tersebut saling berinteraksi. Dengan modularitas, kesalahan di satu bagian Output
dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian
lainnya, serta bagian Output
dapat dipahami tanpa harus memahami
keseluruhan. [Bambang Hariyanto, 2004]. 4. Reusability (Guna Ulang) Gunaulang adalah sarana untuk meningkatkan kualitas praktek rekayasa perangkat lunak dengan penggunaan artifak-artifak perangkat lunak yang telah ada saat pembangunan sistem perangkat lunak yang baru. Gunaulang perangkat lunak tidak terbatas pada source code, namun juga meliputi dokumentasi, spesifikasi dan struktur rancangan. [Bambang Hariyanto, 2004].
16
5. Pewarisan Pewarisan merupakan sarana untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang kali. Penulisan berulang membutuhkan
banyak
waktu,
menimbulkan
ketidakkonsistenan
dan
meningkatkan resiko kesalahan. Pewarisan memberikan fasilitas pemodelan untuk menstrukturkan kelas-kelas menjadi lebih ringkas, menangkap apa yang serupa dan apa yang berbeda diantara kelas-kelas. [Bambang Hariyanto, 2004]. 6. Polymorphism Polymorphism merupakan konsep pokok pada perancangan berorientasi objek. Dua objek atau lebih dikatakan sebagai polymorphic bila objek-objek itu memiliki antarmuka-antarmuka identik namun mempunyai perilaku berbeda. Polymorphism memungkinkan kita mengenali dan mengeksploitasi keserupaan-keserupaan diantara kelas-kelas berbeda. [Bambang Hariyanto, 2004]. 2.3.3
Rational Unified Process (RUP) RUP ( Rational Unified Process) menggunakan konsep Object
Oriented dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan UML (Unified Model Language). [Musnansyah, 2007]. Rational
Unified Process
(RUP) juga merupakan sebuah
framework yang berisi proses-proses yang dapat diadaptasikan dan dikembangkan
sesuai
[Kruchten, 2000].
kebutuhan
organisasi
yang
menggunakannya
17
RUP merupakan suatu pendekatan proses pembangunan perangkat lunak yang dilakukan secara iterative dan incremental. Metode ini sanggup menjawab tantangan apabila terdapat identifikasi permasalahan yang muncul pada saat proses pembangunan perangkat lunak berlangsung dan tidak semata-mata membebankan aktivitas identifikasi resiko hanya di awal siklus pembangunan perangkat lunak. Model proses pembangunan perangkat lunak yang dilakukan secara iterative dan incremental dapat dilihat pada gambar 2.1.
Gambar 2. 1 Proses yang Dilakukan Secara Iterative dan Incremental
2.3.4
Tahapan Dalam Rational Unified Process (RUP) Lima tahapan dalam Unified Process adalah requirement, analisa,
desain, implementasi, dan test.
18
1.
Requirements Tahapan ini berfokus pada kegiatan yang memungkinkan prasyarat
fungsional dan non-fungsional dari sistem untuk diidentifikasi. Produk utama disiplin ini adalah model use case. 2.
Analisys Tujuan analisys ini adalah untuk merestrukturisasi kebutuhan yang
diidentifikasi dalam tahapan requirement dalam hal perangkat lunak yang akan dibangun. Dapat dilihat sebagai langkah pertama yaitu desain. 3.
Design Tahapan desain menghasilkan rancangan rinci yang akan dilaksanakan
pada disiplin berikutnya. 4.
Implementation Tahapan ini merupakan pengkodean desain dalam bahasa pemrograman
yang sesuai dan kompilasi, kemasan, penyebaran dan mendokumentasikan perangkat lunak. 5.
Test Disiplin uji menggambarkan kegiatan yang dilakukan untuk menguji
perangkat lunak untuk memastikan bahwa (perangkat lunak yang dibangun) memenuhi kebutuhan user, handal dll. Pemodelan perangkat lunak yang terdapat pada metode RUP bermanfaat dalam membantu memahami dan menggambarkan kondisi permasalahan dan solusi dari proses-proses bisnis yang mendasari spesifikasi kebutuhan yang
19
terdapat pada perangkat lunak. Pemodelan perangkat lunak yang terdapat pada metode RUP dapat dilihat pada gambar 2.2.
Gambar 2. 2 Pemodelan Perangkat Lunak pada Metode RUP
Pemodelan-pemodelan yang terdapat pada metode RUP adalah: a) Model use case, dimodelkan dengan diagram use case, diagram sequence, diagram statechart, dan diagram activity. a)
Model analisis, dimodelkan dengan diagram class, diagram sequence, diagram collaboration, diagram statechart, dan diagram activity.
b)
Model desain, dimodelkan dengan diagram class, diagram sequence, diagram collaboration, diagram statechart, dan diagram activity.
c)
Model deployment, dimodelkan dengan diagram deployment, diagram sequence, dan diagram collaboration.
20
d)
Model implementasi, dimodelkan dengan diagram component, diagram sequence, dan diagram collaboration.
e)
Model pengujian, berkaitan dengan kelima model-model lainnya, dan menggunakan diagram-diagram yang sesuai dengan tiap-tiap model tersebut.
2.3.4
Fase-fase pada Rational Unified Process Proses yang bersifat iterative pada metode RUP dikelola dalam
bentuk fase-fase pembangunan perangkat lunak. Terdapat empat fase dalam metode RUP, yaitu fase Inception, fase Elaboration, fase Construction, dan fase Transition. Dari setiap fase tersebut, terdapat tujuan yang harus dicapai dari proses-proses pembangunan perangkat lunak yang dilakukan. Fase-fase yang terdapat pada metode RUP dapat dilihat pada gambar dibawah ini [Philippe Kruchten, 2000].
Gambar 2. 3 Fase – fase pada metode RUP
21
2.3.4.1
Inception Mendeskripsikan visi dari produk yang diharapkan dan
membuat business case, serta membuat definisi dari lingkup (scope) proyek pembangunan perangkat lunak. Tujuan dan aktivitas-aktivitas lebih lengkap yang dilakukan pada fase ini akan diuraikan sebagai berikut. 2.3.4.2
Elaboration Membuat
perencanaan
aktivitas-aktivitas
yang
perlu
dilakukan dan sumber daya yang dibutuhkan, serta membuat spesifikasi fitur-fitur dan membuat desain arsitektur dari perangkat lunak yang akan dibangun. 2.3.4.3
Construction Membangun produk perangkat lunak serta mengembangkan
visi, arsitektur, dan rencana hingga produk perangkat lunak tersebut siap (completed vision) diberikan kepada penggunanya. 2.3.4.4
Transition Memindahtangankan
(transitioning)
produk
perangkat
lunak kepada penggunanya, termasuk di dalamnya proses manufaktur, mengantarkan, mengadakan pelatihan, memberikan support, dan melakukan proses perawatan produk perangkat lunak hingga pengguna perangkat lunak merasa puas.
22
2.4
UML (Unifed Model Langguage) UML (Unified Model Language) adalah salah satu alat bantu yang sangat
handal di dunia pengembangan sistem yang berorientasi obyek. Pemodelan dengan UML berarti menggambarkan yang ada dalam dunia nyata ke dalam bentuk yang dapat dipahami dengan menggunakan notasi standart UML. UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan interatif, yaitu : identifikasi kelas-kelas dan obyek-obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut, perincian interface dan implementasi. 2.4.1
Konsep dasar UML UML menyediakan beberapa notasi dan artifact standar yang bisa
digunakan sebagai alat komunikasi bagi para pelaku dalam proses analisis dan desain. Konsep dasar UML dapat kita rangkum dalam tabel 2.1 dibawah ini.
23
Tabel 2.1 Tabel Konsep Dasar UML Major Area Structural
View Static view
Diagram Class diagram
Use case view
Use case diagram
Implementation view Deployment view
Component diagram
State machine view Activity view
Deployment diagram State chart diagram Activity diagram
Dynamic
Interaction view
Model management extensibility
Model Class diagram management view All All
Sequence diagram Collaboration diagram
Main Concepts Class, association, generalization, dependency, relization, interface Use case, actor, association, extend, include, use case generalization Component, interface, dependency, relization Node, component, dependency, location State, event, transition, action State, activity, compeltion transition, fork, join Interaction, object, message, activation Collaboration, Interaction, Collaboration role, message Package, subsystem, model Constraint, stereotype, tagged values
Tabel – table tersebut diberi nama berdasarkan sudut pandang yang berbeda-beda terhadap sistem dalam proses analisis atau rekayasa. Dibuatnya berbagai jenis tabel diatas karena :
24
a. Setiap sistem yang kompleks selalu paling baik jika didekati melalui himpunan berbagai sudut pandang yang kecil yang satu sama lain hampir saling bebas (independent). Sudut pandang tunggal senantiasa tidak mencukupi untuk melihat sistem yang besar dan kompleks. b. Diagram yang berbeda-beda tersebut dapat menyatakan tingkatan yang berbeda-beda dalam proses rekayasa. c. Diagram-diagram tersebut dibuat agar model yang dibuat semakin mendekati realitas. 2.4.2 Tujuan UML Terdapat tujuan utama UML diantaranya untuk : a.
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
b.
Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
c.
Menyatukan praktek-praktek terbaik yang terdapat dalam bahasa pemodelan.
2.4.3 Notasi UML Terdapat beberapa notasi pada UML yang untuk menggambarkan proses dalam pembangunan sistem, diantaranya :
25
2.4.3.1
Actor
Simbol 2.1 Notasi Actor
Actor menggambarkan segala pengguna software (user). Actor memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software. Sebagai contoh sebuah actor dapat memberikan input kedalam dan menerima informasi dari software, perlu dicatat bahwa sebuah actor berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Sebuah actor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya. 2.4.3.2 Use Case
Simbol 2. 2 Notasi Use Case
Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
26
Untuk menggambarkannya dalam use case model biasanya digunakan association relationship yang memiliki stereotype include, extend
atau
menggambarkan
generalization bahwa
suatu
relationship. use
case
Hubungan
include
seluruhnya
meliputi
fungsionalitas dari use case lainnya. Hubungan extend antar use case berarti bahwa satu use case merupakan tambahan fungsionalitas dari use case yang lain jika kondisi atau syarat tertentu terpenuhi. 2.4.3.3
Interface
Simbol 2. 3 Notasi Interface Interface merupakan kumpulan operasi tanpa implementasi dari suatu class. Implementasi operasi dalam interface dijabarkan oleh operasi didalam class. Oleh karena itu keberadaan interface selalu disertai oleh class yang mengimplementasikan operasinya. Interface ini merupakan salah satu cara mewujudkan prinsip enkapsulasi dalam obyek. 2.4.3.4
Interaction
Simbol 2. 4 Notasi Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature
27
yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan. 2.4.3.5
Dependency
Simbol 2. 5 Notasi Dependency
Dependency merupakan relasi yang menunjukan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lain. Elemen yang ada dibagian tanda panah adalah elemen yang tergantung pada elemen yang ada dibagian tanpa tanda panah. 2.4.3.6
Association
Simbol 2. 6 Notasi Asociation Association
menggambarkan
navigasi
antar
class
(navigation), berapa banyak obyek lain yang bisa berhubungan dengan satu obyek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation). 2.4.3.7
Generalization
Simbol 2. 7 Notasi Generalization Generalization menunjukkan hubungan antara elemen yang lebih umum ke elemen yang lebih spesifik. Dengan generalization, class
28
yang lebih spesifik (subclass) akan menurunkan atribut dan operasi dari class yang lebih umum (superclass) atau “subclass is superclass”. Dengan menggunakan notasi generalization ini, konsep inheritance dari prinsip hirarki dapat dimodelkan. 2.4.3.8
Realization
Simbol 2. 8 Notasi Realization Realization menunjukkan hubungan bahwa elemen yang ada di bagian tanpa panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian dengan panah. Misalnya class merealisasikan package, component merealisasikan class atau interface. 2.4.4
Diagram Model
2.4.4.1
Activity Diagram Activity Diagram adalah teknik untuk mendeskripsikan
logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. [Munawar, 2005]. Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan activity diagram [Martin Flower, 2005].
29
a.
Activity
Simbol 2. 9 Notasi Activity Activity menggambarkan sebuah pekerjaan/tugas dalam workflow. Pada UML, activity digambarkan dengan simbol “lozenge” (horizontal top and bottom with convex sides). b.
Start State Start state dengan tegas menunjukkan dimulainya suatu workflow
pada sebuah activity diagram. Hanya ada satu start state dalam sebuah workflow. Pada UML, start state digambarkan dengan simbol lingkaran yang solid.
Simbol 2. 10 Notasi Start State c.
End State End state menggambarkan akhir atau terminal dari sebuah activity
diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML, end state digambarkan dengan simbol bull‟s eye.
Simbol 2. 11 Notasi End State
30
d.
State Transitions State transition menunjukkan kegiatan apa berikutnya setelah suatu
kegiatan sebelumnya. Pada UML, state transition digambarkan oleh sebuah solid line dengan panah.
Simbol 2. 12 Notasi State Transition e.
Decisions Decision adalah suatu titik/point pada activity diagram yang
mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond.
Simbol 2. 13 Notasi Decisions 2.4.4.2 Usecase Diagram Usecase adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Usecase bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem yang dipakai. [Munawar, 2005] Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan activity diagram. [Martin Flower, 2005] a.
Actor Actor menggambarkan segala pengguna software (user). Actor
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan
31
software. Sebagai contoh sebuah actor dapat memberikan input kedalam dan menerima informasi dari software, perlu dicatat bahwa sebuah actor berinteraksi dengan usecase, tetapi tidak memiliki kontrol atas usecase. Sebuah actor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya.
Simbol 2. 14 Notasi Actor b.
Usecase Usecase menjelaskan urutan kegiatan yang dilakukan actor dan
sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelesakan kegiatan, namun usecase hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
Simbol 2. 15 Notasi Use Case c.
Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau
informasi antar objek maupun hubungan antar objek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang
32
tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
Simbol 2. 16 Notasi Interaction d.
Association Association menggambarkan navigasi antar class (navigation),
berapa banyak objek yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation).
Simbol 2. 17 Notasi Association e.
Include Hubungan include menggambarkan suatu usecase seluruhnya
meliputi kegunaan usecase lainnya. Sebuah usecase dapat meng-include fungsionalitas usecase lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa usecase yang di-include secara normal. Sebuah usecase dapat di-include oleh lebih dari usecase lain, sehingga duplikasi fungsionalitas dapat dihindari. <
>
Memberikan resep obat
mengambil obat
Simbol 2. 18 Include
33
f.
Extend Hubungan extend antar usecase berarti bahwa suatu usecase
merupakan tambahan kegunaan dari usecase yang lain jika kondisi atau syarat tertentu dipenuhi. Jika prosedur dari usecase merupakan alternative untuk menjelaskan usecase lain. Usecase akan dikerjakan apabila salah satu syarat terpenuhi. <<extend>>
Pemeriksaan Kesehatan
Tes laboratorium
Simbol 2. 19 Extend
2.4.4.3 Sequence Diagram Interaction diagram menunjukan bagaimana kelompok-kelompok objek saling berkolaborasi dalam beberapa behaviour. UML memiliki beberapa bentuk intreraction diagram dan yang paling umum digunakan adalah sequence diagram. Sebuah sequence diagram, secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukan sebuah objek contoh dan pesan-pesan yang melewati objekobjek ini di dalam use case. Diagram ini menjelaskan bagaimana objek berinteraksi dengan lainnya dengan cara mengirim dan menerima pesan [Martin Fowler: 2005]. a.
Object Menunjukkan objek yang terdapat di diagram Sequence.
Simbol 2. 20 Object
34
b.
Object Message Menunjukkan pesan yang disampaikan ke objek lain dalam
diagram Sequence.
Simbol 2. 21 Object Message 2.5.
Class Diagram Diagram kelas merupakan diagram paling umum dipakai di semua
pemodelan berorientasi objek. Pemodelan kelas menunjukan kelas-kelas yang ada di sistem dan hubungan antar kelas-kelas itu, atribut-atribut dan operasi di kelaskelas. Elemen-elemen diagram kelas sebagai berikut : 1.
Kelas Kelas merupakan elemen terpenting di sistem berorientasi objek yang
mendeskripsikan satu blok pembangun sistem. Kelas yang baik yaitu: a) Memberikan abstraksi tajam mengenai sesuatu yang diperoleh dari permasalahan dan solusi. b) Berisi sekumpulan tanggung jawab yang terdefinisi bagus dan kecil serta dapat dilaksanakan dengan baik. c) Menyediakan pemisah yang jelas antara spesifikasi dan implementasi abstraksi. d) Mudah dipahami dan sederhana sekaligus mudah diperluas dan diadaptasi.
35
Simbol 2. 22 Class Diagram 2.
Antarmuka (Interface) Antarmuka (interface) merupakan koleksi operasi yang mendefinisikan
layanan dari suatu kelas atau komponen. Antarmuka mendeskripsikan tampak secara eksternal dari elemen. 3.
Kolaborasi Kolaborasi merupakan pendefinisian suatu interaksi dan sekelompok peran
dan elemen-elemen lain yang bekerja untuk menyediakan suatu perilaku kooperatif yang lebih besar dari penjumlahan seluruh elemen. 4.
Hubungan Hubungan antar kelas kelas beraneka ragam, diantaranya:
a) Asosiasi Asosiasi
merupakan
hubungan
statis
antar
class.
Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. b) Pewarisan dan Generalisasi Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
36
c) Agregasi Agregasi, yaitu bentuk khusus dari asosiasi yang menggambarkan seluruh bagian suatu obyek merupakan bagian dari obyek lainnya. Sebagai contoh, obyek tanggal dapat disusun dari obyek hari, obyek bulan dan obyek tahun.
d) Dependency Dependency merupakan relasi yang menunjukkan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lain. Terdapat stereotype dari dependency, yaitu Include dan Extend. Include menunjukkan bahwa suatu bagian dari elemen (yang ada digaris tanpa panah) memicu eksekusi bagian dari elemen lain (yang ada digaris dengan panah). Extend menunjukkan bahwa suatu bagian dari elemen di garis tanpa panah bisa disisipkan ke dalam elemen yang ada di garis dengan panah. 2.5.1
Collaboration Diagram Melihat pada interaksi dan hubungan terstruktur antar obyek. Tipe
diagram ini menekankan pada hubungan (relationship) antar obyek, sedangkan
sequence
diagram
menekankan
pada
urutan
kejadian.
Collaboration diagram digunakan sebagai alat untuk menggambarkan interaksi yang mengungkapkan keputusan mengenai perilaku sistem. 2.5.2
Component Diagram Menggambarkan alokasi semua kelas dan obyek kedalam
komponen-komponen dalam desain fisik sistem software. Diagram ini mmperlihatkan pengaturan dan kebergantungan antara komponen-komponen software seperti source code, binary code dan komponen tereksekusi.
37
2.5.2.1
Deployment Diagram Diagram ini memperlihatkan pemetaan software kepada
hardware. Diagram ini mengambarkan detail bagaimana komponen dideploy dalam infrastruktur sistem, dimana komponen akan terletak, bagaimana kemampuan jaringan pada lokasi tersebut dan hal lain yang bersifat fisik [Sri Dharwiyanti dan Romi Satria Wahono, 2003] 2.5.2.2
Package custom UC_1 Package1
Simbol 2. 23 Package Paket adalah mekanisme pengelompokkan yang dgunakan untuk menandakan pengelompokkan elemen-elemen model. Sebuah paket dapat mengandung beberapa paket lain didalamnya. Paket digunakan untuk memudahkan mengorganisasikan elemen-elemen model. 2.6
My SQL MySQL merupakan software yang tergolong sebagai DBMS (Database
Management Sistem) yang bersifat Open Source. Open Source menyatakan bahwa ini dilengkapi dengan Source Code (kode yang dipakai untuk membuat MySQL), selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi. (Abdul Kadir, 2009) Untuk keperluan menampung data di server, diperlukan sebuah database. MySQL merupakan sebuah program aplikasi untuk membuat database yang
38
umum
digunakan
pada
webserver.
MySQL
banyak
digunakan
karena
kemampuannya dalam menampung data yang cukup besar dan proses loading yang cepat dalam pemanggilan data. MySQL adalah sebuah database server buatan T.c.X Data KonsultAB, Swedia. Database server ini sedikit eksentrik karena bila digunakan di softwarenon-Microsoft, MySQL adalah gratis, sedangkan bila digunakan di MicrosoftWindows, sifatnya adalah shareware (walaupun tidak memiliki expire date). MySQL ini hadir dengan utility yang terbatas, jadi para DBA yang terbiasa dengan SQL Server akan merasa kesulitan dengan MySQL karena banyak kemampuan yang dibuang di MySQL. MySQL di desain agar dapat berjalan sampai 100 secara simultan. MySQL didesain untuk berjalan cepat, hal ini yang membuat MySQL menghilangkan kemampuan transactional processing. SQL function yang bersifat menurunkan unjuk kerja dibuang. MySQL juga mampu berjalan pada database sampai 100 GB. MySQL adalah server multithreadered sehingga memungkinkan daemon untuk menghandle permintaan layanan secara simulasi. Model koneksi dengan protokol TCP/IP membuat akses ke server database lebih cepat dibandingkan jika menggunakan model mapping drive, semacam Novell untuk membuat program client-server. Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang dijelaskan dibawah ini : [Abdul Kadir, 2008]. a.
Multiplatform
b.
MySQL tersedia pada beberapa platform (Windows, Linux, Unix, dan lainlain)
39
c.
Andal, cepat, dan mudah digunakan
d.
MySQL tergolong sebagai database server yang andal, dapat menangani databaseyang besar dengan kecepatan yang tinggi, mendukung banyak sekali fungsi untuk mengakses database, dan sekaligus mudah untuk digunakan. Perlu diketahui MySQL dapat menangani sebuah tabel yang berukuran dalam terabyte ( 1 terabyte = 1024 gigabyte)
e.
Jaminan keamanan akses
f.
MySQL mendukung pengamanan database dengan berbagai kriteria pengaksesan.
g.
Dukungan SQL
h.
Seperti tersirat dalam namanya MySQL mendukung perintah SQL (Structure Query Language). SQL merupakan standar dalam pengaksesan database relasional.
2.7
Basis Data Basis data terdiri dari dua kata, yaitu basis dan data. Basis kurang lebih
dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya (Fatansyah, 2007). Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras computer dan digunakan perangkat lunak untuk memanipulasinya (Jogiyanto, 2005).
40
Prinsip utama dalam basis data adalah pengaturan data/arsip dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip yang menggunakan media penyimpanan elektronis seperti disk (disket atau harddisk). Pemilahan/pengelompokkan/pengorganisasian
ini
dapat
berbentuk
sejumlah tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap tabel. Operasi-operasi dasar yang dapat dilakukan berkenaan dengan basis data dapat meliputi pembuatan basis data baru (create database), penghapusan basis data (drop database), pembuatan tabel baru ke suatu basis data (create table), penghapusan tabel dari suatu basis data (drop table), penambahan data baru kesebuah tabel di sebuah basis data (insert), pengambilan data dari sebuah file/table (retrieve/search), pengubahan data dari sebuah tabel (update), dan penghapusan data dari sebuah tabel (delete). 2.7.1
Pengujian Black Box Pengujian Black-box berfokus pada persyaratan fungsional
perangkat lunak. Dengan demikian, pengujian black-box memungkinkan perekayasa peangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya semua persyaratan fungsional untuk suatu program. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut: 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan Interface. 3. Kesalahan dalam struktur data atau akses database eksternal.
41
4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi.