11
BAB II LANDASAN TEORI 2.1
Pengertian Aplikasi Aplikasi berasal dari kata application yang artinya penerapan, lamaran,
penggunaan. Secara istilah aplikasi adalah program siap pakai yang dibuat untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju. Adapun beberapa pengertian aplikasi. Aplikasi adalah kumpulan perintah program
yang
dibuat
untuk
melakukan
pekerjaan-pekerjaan
tertentu,
(Hendrayudi). Aplikasi adalah suatu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas seperti sistem perniagaan, game palayanan masyarakat, periklanan, atau semua proses yang hampir dilakukan manusia, (Hengky W.Pramana). Aplikasi adalah suatu kelompok file (form, class, report) yang bertujuan untuk melakukan aktivitas tertentu yang saling terkait, (Harip Santoso). Aplikasi adalah alat bantu untuk mempermudah dan mempercepat proses pekerjaan dan bukan merupakan beban bagi penggunanya, (Ibisa). Beberapa aplikasi yang digabung bersama menjadi suatu paket disebut sebagai suatu paket atau application suite. Contohnya adalah Microsoft Office dan Open Office, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan
dan
menguntungkan
11
pengguna
untuk
mempelajari
dan
12
menggunakan tiap aplikasi. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah. 2.1.1
Aplikasi Komputer Aplikasi Komputer atau Aplikasi Software adalah Program komputer yang
ditulis dalam suatu bahasa pemrograman dan dipergunakan untuk menyelesaikan masalah tertentu. Adapun beberapa contoh aplikasi komputer : 1. Aplikasi Grafik Aplikasi komputer grafik awal perkembangannya dimulai pada akhir tahun 1950-an dan awal 1960-an. Merupakan suatu program komputer yang digunakan dengan menarik sebuah gambar yang memberikan dimensi baru pada bidang komputer saat itu. 2. Aplikasi Web Merupakan bagian dari internet sebagai komunitas jaringan komputer yang memberikan pelayanan WWW (World Wide Web). Dengan demikian, definisi teknis dari world wide web adalah semua sumber daya dan semua pengguna di intenet yang menggunakan HTTP (Hypertext Transfer Protocol). WWW adalah aplikasi yang paling menarik di Internet dan seperti email, aplikasi ini sangat penting dan banyak digunakan. Aplikasi ini kadang disebut
"The Killer
Application" atau "The world is at your fingertip" karena kita bisa mendapatkan hasil dengan begitu mudah dan bukan sekadar teks yang bisa kita dapatkan namun gambar (images), maupun multimedia.
13
3. Aplikasi Pendidikan a. Computer Assisted Instruction (CAI) Komputer secara langsung digunakan dalam proses belajar, sebagai pengganti pengajar ataupun buku. Beberapa aplikasi CAI adalah : 1. Drill and Practice 2. Tutorial 3. Simulasi b. Computer Managed Instruction (CMI) Para pengajar memanfaatkan komputer untuk merencanakan kuliah, disesuaikan dengan kondisi para siswa, yang terdiri dari acara belajar dengan bantuan komputer, membaca, dan ujian. 4. Aplikasi Desktop Aplikasi desktop adalah program mandiri yang mampu melakukan set spesifik tugas dan fungsi di bawah pengawasan dan kontrol pengguna. Aplikasi ini tidak membutuhkan jaringan atau segala bentuk konektivitas lainnya untuk beroperasi atau fungsi tepat dan kemudian dijalankan dari drive lokal. Tapi ini bisa mungkin bahwa mereka mungkin menggunakan sumber daya jaringan yang mungkin melekat padanya. Ada banyak manfaat dan keuntungan yang diperoleh dalam membangun desktop application, yaitu: a. Dapat berjalan dengan independent b. Tidak perlu koneksi internet. c. Dapat dengan mudah memodifikasi setting-annya.
14
d. Proses lebih cepat. Aplikasi web yang berjalan pada pada jaringan internet mungkin saja beroperasi lebih lambat dibandingkan dengan aplikasi dekstop yang berjalan pada hardisk lokal. e. Meningkatnya resiko keamanan. f. Tidak tergantung konektivitas, aplikasi web sangat tergantung pada konektivitas. Aplikasi bisnis dan kritis yang sangat tergantung pada pada waktu tidak bisa menerima gangguan yang mungkin sering muncul misalnya gangguan listrik. 2.2
Metode-Metode Pencarian Data (Inferensi)
2.2.1
Breadth First Search (BFS) Metode pencarian yang dimulai dengan akar (level 0) ke level selanjutnya.
Pencarian ini dilakukan dengan mencari pada semua node atau simpul yang mempunyai level atau tingkatan sama sampai menentukan hasil akhir (goal) pada level
tersebut,
bila
tidak
maka
akan
pindah
ke
level
selanjutnya.
Root node (start) 1
2
5
Level 0
6
7
Level 1
4
3
8
9 goal
Gambar 2.1 Breadth First Search (BFS)
Level 2
15
Keuntungan : 1. Tidak akan menemui jalan buntu 2. Jika ada 1 solusi, maka breadth -first search
solusi akan
menemukannya dan jika ada lebih dari satu solusi, maka solusi minimumakan ditemukan. Kelemahan : 1. Membutuhkan memori yang cukup banyak 2. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+l).
2.2.2
Depth First Search (DFS) Metode pencarian yang dimulai dengan akar (level 0) dan dilanjutkan
dengan mencari node yang paling kiri yang berada pada level dibawahnya sampai dasar tingkatan atau level. Apabila kemudian tidak ditentukan goalnya maka pencarian diteruskan pada level satu dan terus menuju dasar, begitu seterusnya sampai pada akhirnya ditemukan goalnya. Root node (start) 1
2
5
Level 0
6
7
Level 1
4
3
8
9 goal
Gambar 2.2 Depth First Search (DFS)
Level 2
16
Keuntungan : 1. Membutuhkan memori relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. 2. Secara kebetulan, metode Depth-First Search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. Kelemahan: 1. Memungkinkan tidak ditemukannya tujuan yang diharapkan. 2. Hanya mendapat satu solusi pada setiap pencarian.
2.2.3
Best First Search (BFS) Best First Search bekerja berdasarkan kombinasi
dari Breadth First
Search dan Depth First Search. Algoritma Best First Search merupakan metode yang membangkitkan
suksesor dengan mempertimbangkan harga dari setiap
node, Gambar 2.3 akan mengilustrasikan langkah-langkah yang dilakukan oleh algoritma Best First Search. Pertama kali, dibangkitkan dari node A. Kemudian semua sukseor A dibangkitkan, dan dicari harga yang minimal. Pada langkah 2, node D dibangkitkan, kemudian harganya akan dibandingkan dengan harga node B dan C. Ternyata harga node B paling kecil dibandingkan harga node C, E, dan F. Sehingga B terpilih dan selanjutnya akan dibangkitkan semua suksesor B. Demikian seterusnya sampai ditemukannya node tujuan. Metode inilah yang akan dijadikan acuan dalam pembangunan aplikasi ini.
17
Root node (start) A
A
B
C
Level 0
A
D
A
B
E
F
Level 2
D
C
H
G
Level 1
D
C
B
E
F
goal Gambar 2.3 Best First Search (BFS) Keuntungan : 1. Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. 2. Menemukan solusi tanpa harus menguji lebih banyak node. Kelemahan : 1. Memungkinkan terjebak pada nilai optima.
2.3
Pencernaan Pencernaan makanan merupakan proses mengubah makanan dari ukuran
besar menjadi ukuran yang lebih kecil dan halus, serta memecah molekul
18
makanan yang kompleks menjadi molekul yang sederhana dengan menggunakan enzim dan organ-organ pencernaan. Enzim ini dihasilkan oleh organ-organ pencernaan dan jenisnya tergantung dari bahan makanan yang akan dicerna oleh tubuh. Zat makanan yang dicerna akan diserap oleh tubuh dalam bentuk yang lebih sederhana. Proses pencernaan makanan pada tubuh manusia dapat dibedakan atas dua macam, yaitu : 1. Proses pencernaan secara mekanik Yaitu proses perubahan makanan dari bentuk besar atau kasar menjadi bentuk kecil dan halus. Pada manusia dan mamalia umumnya, proses pencernaan mekanik dilakukan dengan menggunakan gigi. 2. Proses pencernaan secara kimiawi (enzimatis) Yaitu proses perubahan makanan dari zat yang kompleks menjadi zatzat yang lebih sederhana dengan menggunakan enzim. Enzim adalah zat kimia yang dihasilkan oleh tubuh yang berfungsi mempercepat reaksi-reaksi kimia dalam tubuh. Proses pencernaan makanan pada manusia
melibatkan
alat-alat
pencernaan
makanan.
Alat-alat
pencernaan manusia adalah organ-organ tubuh yang berfungsi mencerna makanan yang kita makan. Alat pencernaan dapat dibedakan atas saluran pencernaan dan kelenjar pencernaan. Kelenjar pencernaan menghasilkan enzim-enzim yang membantu proses pencernaan kimiawi. Kelenjar-kelenjar pencernaan manusia terdiri dari kelenjar air liur, kelenjar getah lambung, hati (hepar), dan pankreas. Organ-organ pencernaan manusia dapat dilihat pada Gambar 2.4.
19
Gambar 2.4 Pencernaan manusia 2.3.1
Penyakit-Penyakit Pencernaan Manusia Kelainan pada sistem pencernaan dapat terjadi jika salah satu atau lebih
proses pencernaan tidak berjalan dengan baik. Seperti telah diketahui, proses pencernaan terbagi menjadi dua, yaitu proses pencernaan secara mekanis dan proses pencernaan secara kimiawi. Sedikit saja terjadi gangguan pada sistem pencernaan akan menyebabkan timbulnya penyakit pada sistem pencernaan yang akan berpengaruh pada sistem metabolisme tubuh. Berikut ini adalah beberapa macam gangguan pada sistem pencernaan atau jenis-jenis penyakit pada sistem pencernaan. Jenis-jenis penyakit dan gejala yang terjadi pada sistem pencernaan antara lain :
20
Tabel 2.1 Jenis Penyakit Pencernaan dan pengobatannya
1
Penyakit Pencernaan diare
2
Refluk empedu
3
Gastroentritis
4
Crohn
Hilangnya nafsu makan, kram, nyeri perut, diare, darah pada tinja dan penurunan berat badan tidak sehat.
5
divertikulitis
Nyeri yang sering tiba-tiba, parah dan terletak di sisi kiri bawah perut, Perubahan kebiasaan buang air besar, Nyeri perut, Demam, Mual dan muntah, Sembelit, Diare, Kembung,Pendarahan dari dubur
Mengonsumsi makanan cair, acetaminophen.
6
Apendisitis
Makanan tinggi serat , seperti buah-buahan dan sayuran segar.
7
Entritis
kehilangan nafsu makan, Mual dan / atau muntah segera setelah sakit perut dimulai Perut bengkak, Demam, Tak bisa kentut, Nyeri pada perut bagian atas atau bawah,punggung, atau rektum ,Nyeri ketika buang air kecil, Muntah yang mendahului nyeri perut, Sembelit atau diare dengan gas. Gejala mungkin mulai 1 jam sampai 1 hari setelah terinfeksi, Nyeri abdomen, Diare - akut dan berat, Kehilangan nafsu makan, Muntah.
No.
Gejala demam tinggi, peningkatan frekuensi BAB , feses cair / encer, nyeri pada perut, dehidrasi, muntah Nyeri pada perut, Mual dan muntah , Nyeri ulu hati , Muntah berwarna kehijauan Mulas seperti keram pada perut. Bisa ditemukan darah dalam feses. Muntah, demam, dehidrasi, urin berkurang, lemas, sakit kepala, kulit kering, dan mulut kering.
Pengobatan/pencegahan oralit, rehidrasi
Obat Prevacid dan Nexium Oralit , antiemetic (biasanya: domperidon, metoklopramid, atau sekedar antasida), anti diare seperti attapulgit, pectin, atau loperamid. Aminosalicylate obat anti-inflamasi dan kortikosteroid, imunosupresif, certolizumab dan natalizumab.
Rehidrasi (banyak mengonsumsi makanan cair), obat anti diare, air rebusan sambiloto.
21
No. 8
9
10
11
12
13
Tabel 2.1 Jenis Penyakit Pencernaan dan pengobatannya (lanjutan) Penyakit Gejala Pengobatan/pencegahan Pencernaan Stenosis pilorus Terjadi pada bayi waktu 3-5 minggu Banyak mengonsumsi setelah lahir, muntah (mulai dari makanan cair,bedah ringan-berat), Dehidrasi mungkin piloromiotomi. menangis tanpa air mata atau menjadi lesu, mengeluarkan urine yang sedikit, sembelit, Berat Badan Berkurang, Sakit Kuning. Karsinoma Rasa panas pada perut, hilangnya Makan lebih banyak buah lambung selera makan, perut kembung dan sayuran, Mengurangi seperti kekenyangan,muka pucat, jumlah makanan diasap buang air besar hitam, berat badan dan asin, Berhenti turun, dan muntah darah. merokok, kemoterapi dan terapi penyinaran pada limfoma. Pencernaan Badan / Nafas Berbau, Tulang dan Minum air yang lemah gigi rawan lemah,Lambat dalam banyak/oralit, makan mencerna makanan, Rambut yang makanan bergizi dan kering / Rusak, Buang Angin teratur, jus pare, sesudah makan, Kurang nafsu makan dan kurang tenaga, Kuku Rusak / Berkerut dan mudah patah. Kolitis Kram perut yang hebat dimulai Memberikan makanan hemoragika secara tiba-tiba, bersamaan dengan lunak, minum air yang diare cair, yang kemudian menjadi banyak/oralit, makan berdarah dalam waktu 24 jam, makanan bergizi dan Diare biasanya berlangsung selama teratur. 1-8 hari.kenaikan suhu tubuh. Gatal anus Nyeri pada anus, Gatal-gatal sekitar Hilangkan keinginan anus, Sering berkeringat. untuk menggaruk, gunakan krim kortikosteroid (Methylprednisolone, desonide, Betametasone), krim anti jamur (Miconazole, Ketoconazole, Econazole, terbinafine). Fissura anus Rasa nyeri ketika mengeluarkan Asupan minimal 8 gelas feses yang keras atau besar, Ada air sehari, Diet kaya bercak darah di kertas toilet, celana serat,asetaminofen atau atau popok, Gatal di sekitar dubur. obat bius topikal, minyak mineral. Keterangan : lanjut lampiran (data penyakit).
22
2.3.2
Diagnosa Menurut istilah kedokteran merupakan suatu proses menemukan penyebab
pokok dari masalah-masalah organisasi. Dipergunakan dengan pengertian dan perspektif lebih luas. Dua orientasi diagnosa : 1. Orientasi masalah : menemukan dan memecahkan masalah sebenarnya yang dihadapi organisasi untuk menemukan jalan keluar. 2. Orientasi kemajuan : hanya memikirkan perbaikan dan kemajuan dalam organisasi. Ciri utama diagnosa : 1. Kesederhanaan : Informasi yang digali tidak rumit, dipresentasikan oleh konsultan kepada klien dengan cara yang mudah dicerna oleh klien. 2. Kejelasan : konsultan harus mampu memilih dan menggunakan instrumen tolok ukur tentang apa yang terjadi dalam organisasi yang menyebabkan lahirnya ketidakseimbangan. 3. Keterlibatan : multistakeholders mutlak perlu dilakukan. Proses diagnosa dapat dilihat pada Gambar 2.5 :
23
Gambar 2.5 Proses diagnosa 2.4
Metode Prototipe Untuk menyelesaikan masalah yang dihadapi, pengembangan sistem yang
akan dirancang berupa model prototipe, yang merupakan suatu metode dalam pengembangan
sistem
yang
menggunakan
pendekatan
untuk
membuat
sesuatu program dengan cepat dan bertahap sehingga segera dapat dievaluasi oleh pemakai. Secara garis besar, sasaran prototipe adalah sebagai berikut (Lucas, 2000) : 1.
Mengurangi waktu sebelum pemakai melihat sesuatu yang konkret dari usaha pengembangan sistem.
2.
Menyediakan umpan balik yang cepat dari pemakai kepada pengembang.
3.
Membantu menggambarkan kebutuhan pemakai dengan kesalahan yang lebih sedikit.
24
4.
Meningkatkan pemahaman pengembang dan pemakai terhadap sasaran yang seharusnya dicapai oleh sistem.
5.
Menjadikan keterlibatan pemakai sangat berarti dalam analisis dan desain sistem.
Pendekatan prototipe yang telah dilakukan diperlihatkan pada Gambar 2.6.
Identifikasi kebutuhan pemakai
a. Pengembang dan pemakai bertemu. b. Pemakai menjelaskan kebutuhan sistem.
Membuat prototipe
c. Pengembang mulai membuat prototipe.
Menguji prototipe
Memperbaiki prototipe
Mengembangkan versi produksi
d. Pemakai menguji prototipe dan memberikan kritikan atau saran.
e. Pengembang melakukan modifikasi sesuai dengan masukan pemakai.
f. Pengembang merampungkan sistem sesuai dengan masukan terakhir dari pemakai.
Gambar 2.6 Mekanisme pengembangan sistem dengan prototipe (A.S., Rosa dan M. Shalahuddin, 2011).
Tahapan analisis kebutuhan ini merupakan tahapan yang dilakukan untuk menganalisa sistem secara lebih detail baik proses, prosedur dan fungsi sesuai dengan data-data yang telah dikumpulkan, analisa sistem terbagi dalam beberapa tahapan yaitu :
25
1. Analisa Requirement sistem, tahapan dimana kebutuhan (requirement) kebutuhan sistem didefinisikan sesuai data-data fungsi dan proses yang terjadi pada sistem sebelumnya. 2. Analisa Proses, tahapan ini dilakukan untuk menganalisa proses-proses detail yang terjadi sesuai dengan transaksi yang berlaku pada sistem tersebut, proses dapat berupa insert, update dan delete. 3. Analisa Data, tahapan ini merupakan tahapan untuk menganalisa datadata berupa report, dokumen, memo, rekap yang berhubungan dengan flow ataupun transaksi proses yang terjadi pada kegiatan. Sistem metode perancangan yang digunakan ialah metode UML (Unified Modelling Language). 4. Analisa Modul Sistem, tahapan ini dilakukan setelah tahapan sebelumnya selesai dilakukan. Pada tahapan Analisa Modul Sistem ini, dilakukan analisa pembagian terhadap modul-modul dan sub-modul yang menggunakan proses dan data yang telah didefinisikan sebelumnya. Namun, pada dasarnya semua metode pengembangan perangkat lunak secara umum sama yaitu terdiri dari fase-fase berikut : 1. Fase Pendefinisian 1.
Planning.
2.
Pendefinisian perangkat lunak yang dikembangkan.
3.
Alokasi Sumber Daya yang diperlukan.
4.
Scheduling.
5.
Estimasi biaya.
26
6.
Mendefinisikan alokasi biaya yang akan dikeluarkan untuk pengembangan sistem yang akan dibangun.
2. Fase Pengembangan a.
Perancangan.
b.
Pendeskripsian arsitektur perangkat lunak yang akan dibangun.
3. Fase Verifikasi a.
Verifikasi untuk semua unit fungsional.
b. Pengetesan fungsi-fungsi dan interface. c. 2.5
Perawatan (maintenance
Pengertian UML (Unified Modeling Language) UML merupakan suatu cara untuk menyelesaikan suatu masalah dengan
mendeskripsikannya yang telah menjadi standar dalam dunia industri untuk memvisualisasikan, merancang dan mendokumentasikan sistem perangkat lunak. Dengan menggunakan UML kita dapat membangun model untuk segala bentuk dan jenis aplikasi perangkat lunak, yang mana aplikasi yang dibangun dapat berjalan pada perangkat lunak dengan sistem operasi dan jaringan apapun. Penggunaan UML dalam membangun model suatu sistem yang berbentuk diagram-diagram memudahkan baik pengguna maupun programmer dalam memahami urutan dalam sebuah sistem yang dirancang. Tujuan Penggunaan UML : 1. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. 2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
27
3. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. 4. UML bisa juga berfungsi sebagai sebuah cetak biru (blue print) karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering). 2.5.1
Use Case Diagram Use Case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan sistem. Simbol-simbol Use Case Diagram : Tabel 2.2 Komponen Use Case No.
Simbol
Keterangan
Actor
Actor menggambarkan pengguna software aplikasi (user). Actor membantu memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi.
1
2 Use Case
3 <
> daftar Login
<<extend>>
inbox
login
Use Case menggambarkan perilaku software aplikasi, termasuk didalamnya interaksi antara actor dengan software aplikasi tersebut. Asosiasi, yaitu hubungan statis antar element. Umumnya menggambarkan element yang memiliki atribut berupa element lain, <> : termasuk didalam use case lain yang diharuskan (required) . <<extend>> : perluasan dari use case lain jika syarat terpenuhi.
28
No. 4
actor
5
2.5.2
Tabel 2.2 Komponen Use Case (lanjutan) Simbol Keterangan Pewarisan, yaitu hubungan hirarkis antar element. Element dapat buka rekening diturunkan dari element lain dan mewarisi semua atribut dan metoda element asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut buka deposito anak dari element yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. Dependency/ketergantungan adalah use case a suatu jenis hubungan yang menandakan bahwa satu element, atau kelompok element, bertindak sebagai klien tergantung pada unsur lain atau use case a.1 kelompok element yang berlaku sebagai penyalur.
Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan berorientasi objek. Class menggambarkan keadaan (attribute/property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, packed dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lainnya. Class memiliki tiga area pokok : 1. Nama class 2. Atribut 3. Metoda (operasi) Atribut dan metoda dapat memiliki salah satu sifat berikut : 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan.
29
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja. 4. Package, Atribut‐atribut dan metoda‐metoda package (di Teknologi Java) dapat diakses dari metoda di kelas lain yang disimpan di dalam package yang sama. Contoh penggunaan class diagram : nama class +Attribute_public #Attribute_protected -Attribute_private ~Attribute_package +Operation1() #Operation2() Gambar 2.7 Class diagram
2.5.3
Activity Diagram Activity diagram menggambarkan berbagai alir aktifitas dalam sebuah
sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram tidak menggambarkan sifat internal dari sebuah sistem dan interaksi antara beberapa sub sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
30
Simbol-simbol activity diagram : Tabel 2.3 Simbol activity diagram No.
Simbol
1
Awal (Initial state), menunjukkan tempat dimulainya diagram. Lambang ini boleh diberi label dengan isi berupa nama kejadian yang memanggilnya. Akhir (Final state), menunjukkan tempat berakhirnya diagram. Lambing ini tidak memerlukan label. Diagram aktivitas dapat memiliki satu atau lebih akhir.
2
3 Activity1
4
Keterangan
ya
tidak
5
Aktivitas adalah bentuk khusus dari keadaan dimana aktivitas menggamabarkan kegiatan yang dilakukan. Decision adalah suatu titik/point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. State transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Pada UML, state transition digambarkan oleh sebuah solid line dengan panah.
6 Fork adalah percabangan yang menunjukan aliran pada activity diagram. 7 Join adalah penggabungan yang menjadi arah aliran pada activity diagram.
2.5.4
Statechart Diagram Menggambarkan transisi dan perubahan keadaan (dari satu state ke state
lainnya) suatu obyek pada sistem sebagai akibat dari stimulans yang diterima. Statechart diagram digunakan untuk memodelkan behavior/method (lifecycle) sebuah kelas atau object dan memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object, transisi dari sebuah state ke state lainnya.
31
Notasi Statechart diagram : Tabel 2.4 Notasi Statechart diagram No.
Simbol
1
2
3
State1
4
5
6
2.5.5
Keterangan Titik awal (start), digunakan untuk menggambarkan awal dari kejadian dalam suatu diagram statechart. Titik akhir (end), digunakan untuk menggambarkan akhir dari kejadian dalam suatu diagram statechart. State, digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Point, digunakan untuk menggambarkan apakah akan masuk (entry point) ke dalam state atau akan keluar (exit point)
[Guard]
Guard, yang merupakan syarat terjadinya transisi yang bersangkutan.
Event
Event, digunakan untuk mendeskripsikan kondisi yang menyebabkan sesuatu pada state.
Sequence Diagram Diagram ini menjelaskan bagaimana objek berinteraksi dengan lainnya
dengan cara mengirim dan menerima pesan. Sequence diagram memiliki dua sumbu : sumbu vertikal dan sumbu horizontal. Sumbu vertikal putus-putus merepresentasikan
“lifetime”
objek
dan
sumbu
horizontal
menunjukan
sekumpulan objek. Diagram ini juga menyatakan interaksi khusus diantara objek yang terjadi pada beberapa tempat selama fungsi tertentu dijalankan. Komunikasi diantara objek direpresentasikan dengan garis horizontal disertai dengan nama operasinya.
32
Gambar 2.8 Sequence Diagram (Rosa, Shalahuddin,2011) 2.6
Perangkat (Tools) yang Digunakan
2.6.1
Star UML (Unified Modeling Language) Star UML adalah software permodelan yang mendukung UML (Unified
Modeling Language). Berdasarkan pada UML version 5.0.2.1570 dan dilengkapi 11 macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga mendukung pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML. StarUML dapat memaksimalkan pruduktivitas dan kualitas dari suatu software project. 2.6.2
Microsoft Visual Studio.Net 2010 Microsoft Visual Studio.Net 2010 adalah sebuah aplikasi yang digunakan
sebagai alat bantu didalam membangun suatu program aplikasi yang berbasis komputer. Visual Studio.Net 2010 merupakan
generasi yang terbaru yang
dikeluarkan Microsoft dimana sebelumnya ada Visual Studio.Net 2003, Visual Studio.Net 2005 & Visual Studio.Net 2008. Visual Studio.Net 2010 menggunakan .Net Framework 3.5.
33
Fitur-fitur dari Microsoft Visual Studio.Net 2010 : 1.
Dukungan Terhadap Linq Linq merupakan suatu fitur baru yang dikeluarkan oleh microsoft
khususnya pada bahasa pemrograman C#. Linq sebenarnya adalah sekumpulan operator – operator query standard yang memampukan kita untuk bekerja dengan data yang ada dalam database. Teknologi yang digunakan oleh Linq didalam pemanipulasian data adalah menggunakan teknologi
ORM
(Object
Relational
Mapping)
bukan
teknologi
konvensional yaitu RDBMS. 2.
Dukungan Terhadap Expression Blend Expression
Blend
adalah
aplikasi
yang
digunakan
untuk
mengenerate XAML untuk aplikasi silverlight. Kita dapat menginstal Expression Blend sebagai plug-in didalam Visual Studio.Net 2010. dengan menjadikan Expression Blend sebagai plugin akan membantu kita dalam design website dan pemakaian javascript. 3.
Windows Presentation Foundation (WPF) WPF banyak menyediakan fungsi grafis. Visual Studio.Net 2010
banyak memiliki library Windows Presentation Foundation dimana dengan fitur ini maka kita akan sangat terbantu didalam membangun aplikasi grafis 2 dimensi (2D) dan 3 dimensi (3D).
34
4.
Dukungan Multi Framework Visual Studio.Net 2010 mendukung banyak framework. Dalam
artian dengan menggunakan Visual Studio.Net 2010 kita dapat melakukan kompilasi untuk framework 2.0, 3.0 dan 3.5 bahkan framework 1.1. 5.
Dukungan Terhadap Ajax Dalam ASP.NET Pada seri sebelumnya, untuk menggunakan ajax kita harus
menginstal terlebih dahulu secara terpisah tidak built-in didalam visual studio.net nya. Namun dengan Visual Studio.Net 2010, library ajax akan secara otomatis terinstal ketika kita menginstal visual studio.net 2010. 6.
Fitur Lainnya : Dukungan terhadap debugging untuk javascript, dukungan
terhadap nested masterpage (masterpage bersarang), dukungan terhadap linq intellisense dan javascript intellisense pada aplikasi silverlight, pengorganisasian penggunaan Namespace Using dan Import, Intellisense Filtering,
Posisi Dari Kotak Intellisense, Split View Pada Visual
Studio.Net 2010, Kesalahan HTML dan Javascript dijadikan Warning Bukan Error, Kemampuan Debugging Source Code Library .Net Framework, Library Silverlight sudah Built-In, Visual Studio LINQ Designer, C++ SDK Built-In, Arsitektur MUI (Multilingual User Interface), Dukungan Terhadap Microsoft Popfly, Tool dan Ebook gratisan.
35
2.7
Database Basis data (database) memiliki berbagai definisi, salah satunya menurut
Fabbri dan Schwab, basis data adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan duplikasi data. Lain halnya dengan Ramez Elmasri yang mendefinisikan basis data lebih dibatasi pada arti implisit yang khusus, yaitu: a. Basis data merupakan penyajian suatu aspek dari dunia nyata (real world). b. Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implisit. Sehingga data yang terkumpul secara acak dan tanpa mempunyai arti, tidak dapat disebut basis data. c. Basis data perlu dirancang, dibangun dan data dikumpulkan untuk satu tujuan. Basis data dapat digunakan oleh beberapa user dan beberapa aplikasi yang sesuai dengan kepentingan user. Dari beberapa definisi tersebut, dapat dikatakan bahwa basis data mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajat interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapat digunakan oleh beberapa pengguna untuk berbagai kepentingan. Basis data memiliki peranan penting dalam suatu organisasi, dan dimanfaatkan untuk sejumlah tujuan yang mendukung tujuan utama organisasi. Peranan utama basis data antara lain sebagai berikut : 1.
Ketersediaan (availability) : basis data harus diorganisasi sedemikian rupa sehingga data selalu tersedia ketika diperlukan, walaupun secara fisik penyimpanan file-file datanya tidak harus berada pada satu lokasi, tetapi
36
dengan teknologi jaringan komputer file-file data ini secara logis tersedia bagi penggunanya. 2.
Kecepatan dan kemudahan (speed) : basis data harus bisa menjamin bahwa data dapat diakses dengan mudah dan cepat ketika diperlukan.
3.
Kelengkapan (completeness) : data yang tersimpan dalam basis data harus lengkap, dengan kata lain dapat melayani semua kebutuhan penggunanya, walaupun kata lengkap adalah relatif terhadap kebutuhan setiap orang, namun basis data menjamin kemudahan dalam menambah koleksi data, menjamin
kemudahan
dalam
memodifikasi
struktur
data
seperti
penambahan field-field data. 4.
Keakuratan (accuracy) : data dalam file-file database diorganisasi sedemikian rupa sehingga dapat menekan kesalahan-kesalahan pada saat pemasukan (data entry) dan pada penyimpanan (data store).
5.
Keamanan (security) : sistem basis data yang baik pasti menyediakan fasilitas pengamanan data sehingga data tidak dapat diakses, dimodifikasi, diubah, atau dihapus oleh orang yang tidak diberi hak. Sistem basis data harus bisa menentukan siapa yang boleh mengakses data siapa yang tidak boleh, dengan demikian data dapat diamankan.
6.
Pemakaian bersama (data sharing) : basis data umumnya dirancang agar dapat digunakan oleh berbagai unit kerja, dan tidak terbatas pada satu pemakai, pada satu lokasi, atau satu aplikasi saja.
7.
Effisiensi penyimpanan (space/storage efficiency) : organisasi basis data dibuat sedemikian rupa sehingga dapat menghindari duplikasi data (redundancy), karena duplikasi data memperbesar ruang penyimpanan.
37
Sistem pengkodean dan relasi data yang diterapkan pada basis data dapat menghemat ruang penyimpanan. 2.7.1
SQL (Structured Query Language) SQL (Structured Query Language) merupakan sebuah bahasa permintaan
basis data yang terstruktur. SQL dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database. SQL merupakan standar yang digunakan untuk mengakses basis data relasional. Standar SQL mula-mula didefinisikan oleh ISO (International Standard Organization) dan ANSI (the American National Standards Institute), yang dikenal dengan sebutan SQL86. Seiring dengan perjalanan waktu, sejumlah standar telah ditetapkan. Saat ini banyak perangkat lunak basis data yang menggunakan SQL sebagai sub-bahasa untuk mengakses data. Beberapa diantaranya adalah Microsoft Access, MySQL, SQLserver, PostgreSQL, ORACLE dan lain sebagainya. SQL tidak hanya melakukan query saja. Namun terdapat beberapafungsi SQL lain yang dibagi kedalam tiga kelompok, yaitu: 1. DDL (Data Definition Language) DDL adalah sebuah metode QuerySQL yang berguna untuk mendefinisikan data pada sebuah basis data, query yang dimiliki DDL adalah : a. CREATE : digunakan untuk membuat database, tabel, index dan sebagainya.
38
b. DROP : digunakan untuk menghapus database, tabel, index dan sebagainya. c. ALTER : digunakan untuk melakukan perubahan struktur tabel yang telah dibuat, baik menambah field (Add), mengganti nama field (Change) ataupun menamakannya kembali (Rename), dan menghapus field (Drop). 2. DML (Data Manipulation Language) DML adalah sebuah metode query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi dari query DML ini untuk melakukan pemanipulasian database yang telah dibuat. Query yang dimiliki DML adalah : a. INSERT : digunakan untuk memasukkan data pada tabel database. b. UPDATE : digunakan untuk pengubahan terhadap data yang ada pada tabel database. c. DELETE : digunakan untuk penghapusan data pada tabel database. 3. DCL (Data Control Language) DCL adalah sebuah metode query SQL yang digunakan untuk memberikan hak otorisasi mengakses database, mengalokasikan space, pendefinisian space, dan pengauditan penggunaan database. Query yang dimiliki DCL adalah: a. GRANT : untuk mengijinkan pengguna mengakses tabel dalam database.
39
b. REVOKE : untuk membatalkan ijin hak pengguna, yang ditetapkan oleh perintah GRANT. c. COMMIT : menetapkan penyimpanan database. d. ROLLBACK : membatalkan penyimpanan database. 2.7.2
MySQL MySQL merupakan sebuah program database server yang mampu
menerima dan mengirimkan datanya sangat cepat, banyak pengguna serta menggunakan perintah dasar SQL. MySQL merupakan dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa digunakan adalah MySQL FreeSoftware yang berada di bawah lisensi GNU/GPL (General Public License). MySQL merupakan sebuah database server yang free, artinya pengguna bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. Selain itu, MySQL adalah sebuah database yang dapat digunakan sebagai client maupun server. Database MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau disebut Relational Database Management System (RDBMS) yang menggunakan suatu bahasa permintaan yaitu SQL. MySQL diantaranya :
memiliki
beberapa
kelebihan
dibanding
database
lain,
40
a. MySQL merupakan Database Management System (DBMS). b. MySQL sebagai Relational Database Management System (RDMBS) atau disebut dengan database relasional. c. MySQL merupakan sebuah database server yang free. d. MySQL merupakan sebuah database client. e. MySQL mampu menerima
query yang bertumpuk dalam satu
permintaan atau multi-threading. f. MySQL merupakan database server yang multi user, artinya dapat digunakan oleh banyak pengguna. g. MySQL merupakan database yang mampu menyimpan data berkapasitas hingga berukuran gigabyte sekalipun. h. MySQL didukung oleh
driver ODBC, artinya
database MySQL
dapat diakses menggunakan aplikasi apa saja termasuk berupa visual seperti Visual Basic dan Delphi. i. MySQL adalah database menggunakan enkripsi password, jadi database ini cukup aman karena memiliki
password untuk
mengaksesnya. j. MySQL mendukung field yang dijadikan sebagain kunci primer dan kunci unik (Unique). k. MySQL memiliki kecepatan dalam pembuatan tabel maupun pengupdate-an tabel.
41
2.8
Pengujian (Testing) Perangkat Lunak Pengujian perangkat lunak merupakan elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi dimana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Sejumlah aturan yang berfungsisebagai sasaran pengujian pada perangkat lunak adalah : 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk
menemukan kesalahan
yang
belum
pernah
ditemukan
sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
42
Sasaran itu berlawanan dengan pandangan yangbiasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak. Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu : a. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal. b. Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan. c. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program. d. Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem.
43
e. Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar. f. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent. Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program komputer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program komputer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Prosedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Sasaran utama desain test case yaitu untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi didalam pengungkapan kesalahan pada perangkat lunak. 2.8.1
Pengujian Black-Box Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang
cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Teknik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input
44
dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima. Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan teknik khusus untuk pengujian perangkat lunak.