8
BAB II
LANDASAN TEORI
Pada pembahasan landasan teori iniakan diterangkan teori-teori yang berkaitan dengan dokumen dan perangkat lunakyang dibuat.
2.1 Aplikasi
Aplikasi adalah penggunaan dalam suatu komputer, instruksi (instructiom) atau pernyataan (statement) yang disusun sedemikian rupa sehingga komputer dapat memproses input menjadi output.(Jogiyanto1999).
Menurut Kamus Besar Bahasa Indonesia (1998 : 52)
“Aplikasi adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu”.
Aplikasi adalah suatu program komputer yang dibuat untuk mengerjakan dan melaksanakan tugas khusus dari pengguna.Aplikasi merupakan rangkaian kegiatan atauperintah untuk dieksekusi oleh komputer.
Aplikasi akan menggunakan system operasi (OS) komputer dan aplikasi yang lainnya yang mendukung. Istilah ini mulai perlahan masuk ke dalam istilah Teknologi Informasi semenjak tahun 1993, yang biasanya juga disingkat dengan app.
2.2 Pengolahan Data
Pengolahan data adalahserangkaian 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, tepatwaktu 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 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 :
A. 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.
B. 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 Transaksi
Transaksi adalah satu atau beberapa aksi program aplikasi yang mengakses/mengubah isi basis data.Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.
DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan inkonsistensi basis data.Untuk itu transaksi selalu merubah basis data dari satu kondisi konsisten ke kondisi konsisten lain. (Ridwan : 2006)
2.4Model Proses Pengembangan
Metodologi rekayasa perangkat lunak adalah proses untuk menghasilkan perangkat lunak yang teroganisasi menggunakan teknik-teknik dan
konvensi-konvensi 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 diorganisasikan kedalam siklus hidup yang berisi beberapa fase/tahap pengembangan.(Hariyanto, 2004)
2.4.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. (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.4.2 Pengembangan Orientasi Objek
Pengembangan sistem berorientasi objek, memerlukan keterampilan untuk analisis, perancangan, pemrograman dan pengujian 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 merupakan wujud lain dari abstraksi fungsional/algoritmik.
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. (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. (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. (Hariyanto, 2004).
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. (Hariyanto, 2004). 2.4.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 kebutuhan organisasi yang menggunakannya (Kruchten, 2000).
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.4.4 Tahapan Dalam Rational Unified Process (RUP)
Lima tahapan dalam Unified Process adalah requirement, analisa, desain, implementasi, dan test.
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 terdapat pada perangkat lunak.Pemodelan perangkat lunak yang terdapat pada metode RUP dapat dilihat pada gambar 2.2.
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.
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.4.5 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 2.4.5.1 Inception
Mendeskripsikan visi dari produk yang diharapkan dan membuat business
case, serta membuat definisi dari lingkup (scope) proyek pembangunan perangkat
lunak..
2.4.5.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.4.5.3 Construction
Membangun produk perangkat lunak serta mengembangkan visi, arsitektur, dan rencana hingga produk perangkat lunak tersebut siap (completed
2.4.5.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.
2.5 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 standartUML. UMLmerupakan 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 metodeDesign 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.5.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.
Tabel 2.1 Tabel Konsep Dasar UML
Major Area View Diagram Main Concepts Structural Static view Class diagram Class, association,
generalization,
dependency, relization, interface
Use case view Use case diagram Use case, actor, association, extend, include, use case generalization
Implementation view
Deployment view
Component
diagram Component, interface, dependency, relization Deployment diagram Node, component, dependency, location Dynamic State machine view State chart diagram
State, event, transition, action
Activity view Activity diagram State, activity, compeltion transition, fork, join
Interaction view Sequence diagram Interaction, object, message, activation Collaboration diagram Collaboration, Interaction, Collaboration role, message Model management Model management view
Class diagram Package, subsystem, model
extensibility All All 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 :
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.5.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.5.3 Notasi UML
Terdapat beberapa notasi pada UML yang untuk menggambarkan proses dalam pembangunan sistem, diantaranya :
2.5.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.5.3.2Use 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.
Untuk menggambarkannya dalam use case model biasanya digunakan
association relationship yang memiliki stereotype include, extend atau generalization relationship. Hubungan include menggambarkan bahwa suatu use case 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.5.3.3 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 enkapsulasidalam obyek.
2.5.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 yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
2.5.3.5 Dependency
Simbol 2.5 Notasi Dependency
Dependency merupakan relasi yang menunjukan bahwa perubahan pada
tanda panah adalah elemen yang tergantung pada elemen yang ada dibagian tanpa tanda panah.
2.5.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.5.3.7 Generalization
Simbol 2.7 Notasi Generalization
Generalization menunjukkan hubungan antara elemen yang lebih umum ke
elemen yang lebih spesifik. Dengan generalization, class yang lebih spesifik (subclass) akan menurunkan atribut dan operasi dari class yang lebih umum (superclass) atau “subclass is superclass”. Dengan menggunakan notasigeneralization ini, konsep inheritance dari prinsip hirarki dapat dimodelkan.
2.5.3.8 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.5.4 Diagram Model
2.5.4.1.1 ActivityDiagram
Activity Diagram adalah teknik untuk mendeskripsikan logika prosedural,
proses bisnis dan aliran kerja dalam banyak kasus.Activity Diagram mempunyai peran seperti halnyaflowchart, akan tetapi perbedaannya dengan flowchart adalah
activity diagram bisa mendukung perilaku paralel sedangkanflowchart tidak bisa.
(Munawar, 2005).
Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan
activity diagram(Martin Flower, 2005).
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).
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
d. State Transitions
State transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan
sebelumnya. Pada UML, statetransition digambarkan oleh sebuah solid line dengan panah.
Simbol 2.12 Notasi State Transition e. Decisions
Decision adalah suatu titik/point pada activitydiagram yang mengindikasikan
suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond.
Simbol 2.13 Notasi Decisions 2.5.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 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
usecasehanya 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 operationsignature yang 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.
Simbol 2.18 Include
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. Usecaseakan dikerjakan apabila salah satu syarat terpenuhi.
Simbol 2.19 Extend
2.5.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 objek-objek ini di dalam use case.
Memberikan resep obat mengambil obat
<<include>>
Pemeriksaan Kesehatan Tes laboratorium
Diagram ini menjelaskan bagaimana objek berinteraksi dengan lainnya dengan cara mengirim dan menerima pesan (Martin Fowler: 2005).
a. Object
Menunjukkan objek yang terdapat didiagram Sequence.
Simbol 2.20Object
b. Object Message
Menunjukkan pesan yang disampaikan keobjeklain dalam diagram Sequence.
Simbol 2.21Object Message
2.5.4.4 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 kelas-kelas. 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.
Simbol 2.22Class 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.
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.
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.4.4.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.4.4.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.
2.5.4.4.3 Deployment Diagram
Diagram ini memperlihatkan pemetaan software kepada hardware. Diagram ini mengambarkan detail bagaimana komponen di-deploy 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)
mengandung beberapa paket lain didalamnya. Paket digunakan untuk memudahkan mengorganisasikan elemen-elemen model.
2.5.4.4.4 Business Use Case Diagram
Businees Use Case Diagram dingunakan untuk menyajikan fungsi yang disediakan oleh keseluruhan oraganisasi. Diagram ini menjawab pertanyaan : “Apa yang bisnis dilakukan dan mengapa harus membangun sistem”. Diagram ini digunakan selama pemodelan aktifitas bisnis berlangsung dan mengatur konteks sistem untuk membentuk pondasi dalam pembentuka use case diagram. Business Use Case Diagram adalah penggambaran tujuan suatu oragaisasi. Diagram ini tidak membedakan antara proses manual atau proses komputerisasi.
A. Business aktor
Business aktor adalah seseorang atau sesuatu yang ada diluar organisasi dan berinteraksi dengan organisasi. Misalkan : Pelanggan, kreditor, investor, suplier dll. Gambar Business aktor :
Simbol 2.23Business aktor B. Business worker
Business worker adalah sesuatu peranan didalam organisasi, bukan posisi. Seseorang boleh memainkan banyak peranan tapi memegang hanya satu posisi. Keuntungan berbasiskan pmberanan dibandingkan berbasiskan posisi adalah bahwa posisi cenderung berubah, sementara peranan cenderung tetap. Gambar Business worker :
Simbol 2.24Business worker
C. Business entity
Business entity adalah objek yang digunakan oleh organisasi untuk melakukan aktifitas bisnis atau yang organisasi hasilkan saat melakukan aktifitas bisnis. Entitas meliputi suatu pekerja bisnis hadapi sehari-hari. Setiap entity harus diberi nama yang unik, menggambarkan tanggung jawabnya, berbentuk kata benda atau frase kata benda, dan harus jelas. Gambar Business Entity :
Simbol 2.25Business entity 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 umum digunakan pada webserver.MySQL banyak digunakan karenakemampuannya dalam menampung data yang cukup besar dan proses
loadingyang cepat dalam pemanggilan data.MySQL adalah sebuah database server buatan T.c.X DataKonsultAB,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 terbiasadengan SQL Server akan merasa kesulitan dengan MySQL karena banyakkemampuan yang dibuang di MySQL. MySQL didesain agar dapat berjalansampai 100 secara simultan.MySQL didesain untuk berjalan cepat, hal ini yangmembuat MySQL menghilangkan kemampuan
transactional processing.SQLfunction yang bersifat menurunkan unjuk kerja
dibuang.MySQL juga mampuberjalan pada database sampai 100 GB.
MySQL adalah server multithreadered sehingga memungkinkan daemon untuk menghandle permintaan layanan secara simulasi. Model koneksi denganprotokol TCP/IP membuat akses ke server database lebih cepat dibandingkan jikamenggunakan model mapping drive, semacam Novell untuk membuat programclient-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 lain-lain)
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)
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).
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
datadapat meliputi pembuatan basis data baru (create database), penghapusan basisdata (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.8 Pengujian Black Box
Pengujian Black-box berfokus padapersyaratan fungsional perangkat lunak. Dengan demikian, pengujian black-box memungkinkan perekayasaperangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya semuapersyaratan fungsional untuk suatu program.
Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagaiberikut:
1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan Interface.
3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja.