BAB II LANDASAN TEORI 2.1
Aplikasi Aplikasi merupakan proses atau prosedur aliran data dalam infrastruktur
teknologi informasi yang dapat dimanfaatkan oleh para pengambil keputusan yang sesuai dengan jenjang dan kebutuhan. Perangkat lunak adalah perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. 2.2
Knowledge Sharing Knowledge sharing didefinisikan sebagai sebuah pertukaran pengetahuan
antar
individu, satu orang yang mengkomunikasikan pengetahuan, dan yang
lainnya mengasimilasi pengetahuan tersebut (Jacobson, 2006). Definisi di atas diperluas lagi dengan pernyataan bahwa knowledge sharing merupakan proses dimana individu secara kolektif dan iteratif memperbaiki sebuah pemikiran, gagasan, atau saran sesuai dengan petunjuk pengalaman (West dan Mayer, 1997). Gasasan awalnya dapat dimodifikasi secara progresif atau ditolak secara terus-
11
12
menerus
sampai
perspektif
bersama
mendefinisikannya
sebagai
proses
muncul.
(Ireland
mengembangkan,
dkk,
2002)
mentransfer,
mengintegrasikan dan menggunakan pengetahuan secara efektif dan efisien. Knowledge Sharing memberikan kesempatan kepada anggota suatu kelompok, organisasi, instansi atau perusahaan untuk berbagi ilmu pengetahuan, teknik, pengalaman dan ide yang mereka miliki kepada anggota lainnya. Secara teori sarana Knowledge Sharing yang digunakan adalah : 1.
Pertemuan Tatap Muka Pertemuan-pertemuan rutin, seminar, workshop, forum dan pemagangan.
Sarana tatap muka ini menjadi sarana paling efektif, terutama pemagangan. Hal penting yang perlu diperhatikan adalah struktur komunikasi yaitu kapan dan bagaimana pertemuan tatap muka dapat dilakukan, siapa dapat bertanya kepada siapa, bagaimana mendapatkan umpan balik dari pertanyaan yang diajukan dan sebagainya. 2.
Dokumentasi Dokumentasi seluruh kegiatan dengan memanfaatkan teknologi informasi
dan komunikasi dalam rangka publikasi baik elektronik di website maupun nonelektronik melalui newsletter, majalah dan koran. Termasuk di dalamnya adalah notulensi dan pengumpulan dokumen dari kegiatan tatap muka di atas. Output atau sistem basis data dokumentasi ini kelak harus dapat diintegrasikan dengan website komunitas.
13
3.
Website Website yang dibangun secara lokal memuat informasi terkini tentang
berita, kegiatan komunitas, cerita pengalaman dan informasi lainnya. Sarana ini sebenarnya lebih kepada sharing informasi, tetapi dapat ditingkatkan menjadi Knowledge Sharing bilamana terjadi diskusi terhadap apa yang diinformasikan, seperti dengan menambahkan fitur komentar sehingga pengguna dapat mengomentari atau diskusi lebih lanjut dengan sumber informasi. 4.
Diskusi Elektronik Diskusi secara elektronik dapat dilakukan melalui tele-conference, email,
milis, blog, forum diskusi, wiki, dan internet-chatting. Tele-conference adalah komunikasi real-time dengan memanfaatkan teknologi telepon dan video. Teleconference lebih interaktif dibanding lainnya tetapi lebih sulit dalam menyiapkannya. Forum diskusi adalah diskusi dengan tema sebagai pusatnya. Wiki adalah sarana kolaborasi yang memungkinkan penulisan dokumen secara bersama. Internet-chatting seperti Yahoo Messenger adalah komunikasi real-time antar dua orang atau lebih melalui internet. 5.
Publikasi dan Newsletter Pembuatan newsletter kepada anggota komunikasi, penerbitan majalah dan
koran untuk menyebarkan pemikiran dan pengetahuan yang dimiliki komunitas, juga sekaligus dapat menjadi sarana promosi komunitas kepada masyarakat yang lebih luas. Publikasi dan newsletter ini dapat dilakukan baik offline maupun online.
14
6.
Penelitian Penelitian tidak harus merupakan kegiatan yang rumit, survey kecil juga
masuk dalam kategori ini. Tukar-menukar pemikiran dan ide baru, akan lebih intensif terjadi. Kreatifitas dan inovasi akan terbangun lebih cepat dengan kegiatan seperti penelitian.
2.3
Hadits Hadits adalah segala perkataan (sabda), perbuatan dan ketetapan dan
persetujuan dari Nabi Muhammad SAW yang dijadikan ketetapan ataupun hukum dalam agama Islam. Hadits dijadikan sumber hukum dalam agama Islam selain Al-quran, Ijma dan Qiyas, dimana dalam hal ini, kedudukan hadits merupakan sumber hukum kedua setelah Al-quran. (Soetari, 1994 ) Ada banyak ulama periwayat hadits, namun yang sering dijadikan referensi hadits-haditsnya ada tujuh ulama, yakni Imam Bukhari, Imam Muslim, Imam Abu Daud, Imam Turmudzi, Imam Ahmad, Imam Nasa’i, dan Imam Ibnu Majah. 2.3.1 Syarah Mukhtaarul Ahaadiits Syarah mukhtaarul ahaadits merupakan sebuah kitab hadits yang mana di dalamnya berisikan hadits-hadits pilihan yang dilengkapi dengan arti dan penjelasanya. Karena arti dari Syarah Mukhtaarul Ahaadiits itu sendiri adalah hadits-hadits pilihan (berikut penjelasannya).
15
Mukhtaarul Ahaadiitsun Nabawiyyah terhimpun dari enam kitab hadis shahih yang disusun berdasarkan urutan abjad (Hija-iyyah), isi kitab syarah mukhtaarul ahaadiits ini cukup singkat namun sarat akan makna. Makna yang terkandung di dalamnya mencakup hukum, budi pekerti, atau akhlak, etika, tata cara bersosialisasi, serta hal-hal yang terbaik yang tentu jadi panutan bagi kaum muslim dalam kehidupan sehari-hari ataupun bermasyarakat. Penyajian 1389 hadits ini disertai arti dan penjelasannya yang memungkinkan pembaca untuk memahami kandungan hadits yang dimaksud. 2.3.2 Ilmu Hadits Ilmu hadits adalah ilmu tentang hadits. Ilmu adalah kumpulan pengetahuan yang tersusun secara sistematis dan sistemik, dalam bidang ataupun disiplin tertentu, serta memiliki objek bahasan yang jelas. (Soetari, 1994 ) Hadits (sunnah) merupakan sumber dasar bagi ajaran Islam. Karena hadits merupakan salah satu pokok Syari’at, yakni sebagai sumber Syari’at Islam yang kedua setelah Al-quran. Umat Islam diharuskan mengikuti dan menaati Allah SWT dan Rasul-Nya SAW. Sebagaimana dalam Firman Allah SWT dalam surat Ali Imran ayat 132, “Dan taatilah Allah dan Rasul supaya kamu dirahmati”. Taat kepada Allah caranya dengan mengikuti ketentuan yang tertera dalam Al-quran, baik berupa perintah-Nya maupun larangan-Nya. Menaati Rasul berarti mengikuti Rasul tentang segala perintahnya dan juga terhadap laranganya, dengan kata lain mengikuti sunnah-nya. Karena itu, segala hadits yang diakui kesahihanya wajib diikuti dan diamalkan oleh umat Islam, sama halnya dengan keharusan mengikuti Al-quran, sebab hadits merupakan
16
interpretasi dari Al-quran dan merupakan pedoman hidup yang harus diikuti oleh segenap umat Islam. Melihat kedudukan hadits yang sangat penting , maka dari itu setiap umat Islam harus mempelajari hadits dan mendalami ilmu-ilmunya, agar dapat mengetahui dan memahami hal ihwal hadits secara maksimal untuk pengamalan Syari’at Islam. 2.3.3 Hadits Ditinjau Dari Kualitasnya Kualitas hadits ada yang maqbul dan ada yang mardud. Yang dimaksud dengan maqbul artinya yang diambil atau yang dibenarkan, maksudnya yang diterima. Sedangkan yang dimaksud dengan mardud adalah yang ditolak, yang tidak diterima. Dengan demikian, hadits maqbul adalah hadits yang dapat diterima atau pada dasarnya dapat dijadikan pedoman dan panduan pengamalan Syari’at, sedangkan hadits mardud adalah hadits yang ditolak atau tidak dapat dijadikan pedoman. (Soetari, 1994 ) Ditinjau dari segi maqbul dan marudud diatas, hadits terbagi kepada: hadits Shahih, hadits hasan, dan hadits Dha’if. hadits shahih dan hasan nilainya maqbul, sedangkan hadits dha’if nilainya mardud. 1.
Hadits Shahih Hadits shahih adalah hadits yang diriwayatkan oleh rawi yang adil,
sempurna ingatanya. Sanadnya bersambung dan tidak janggal.menurut ta’rif di atas, maka suatu hadits dinilai shahih apabila memnuhi syarat: a.
Rawinya bersifat adil
17
2.
b.
Rawinya sempurna ingatanya
c.
Sanadnya bersambung, matanya marfu
d.
Tidak ada illat
e.
Tidak ada janggal, syadz
Hadits Hasan Hadits hasan ialah hadits yang dinukilkan oleh seorang yang adil, tak
begitu kokoh ingatanya, sanadnya bersambung dan tidak terdapat ‘illat serta kejanggalanya. 3.
Hadits Dha’if Hadits dha’if ialah hadits yang lemah, hadits yang kehilangan satu syarat
atau lebih dari syarat-syarat hadits shahih atau hadits hasan. Seperti terdapatnya kecacatan para rawi, tidak diketahui identitasnya, perubahan syakal-huruf, tidak baik hafalanya, tidak bersambung sanadnya.
2.4
Internet Internet (kependekan dari interconnection-networking) secara harfiah ialah
sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia. Manakala Internet (huruf 'I' besar) ialah sistem komputer umum, yang berhubung secara global dan menggunakan TCP/IP sebagai protokol pertukaran paket (packet switching communication protocol). Rangkaian internet yang terbesar dinamakan Internet. Cara menghubungkan rangkaian ini dinamakan internetworking.
18
Internet berarti hubungan dari banyak jaringan komputer dengan berbagai tipe dan jenis, dengan menggunakan tipe komunikasi sepeti telepon, satelit, dan lainnya. Dalam mengatur integrasi dan komunikasi jaringan komputer ini menggunkan protokol yaitu TCP/IP. TCP (Transmissioon Control Protokol) bertugas untuk memastikan bahwa semua hubungan bekerja dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data dari suatu komputer ke komputer lain. TCP/IP secara umum berfungsi memilih rute terbaik transmisi data, memilih rute alternatif jika suatu rute tidak dapat digunakan, mengatur dan mengirimkan paket-paket pengiriman data. Untuk dapat ikut serta menggunkan fasilitas internet. Internet memberikan banyak sekali manfaat, ada yang bisa memberikan manfaat baik dan buruk. Internet ini memungkinkan penggunka komputer di seluruh dunia untuk saling berkomunikasi dan berbagai informasi dengan cara saling mengirimkan e-mail, menghubungan komputer satu ke komputer yang lain, mengirim dan menerima file dalam bentuk teks, audio, vidio, membahas topik tertentu pada newsgroup, website social networking dan lain-lain. Berikut adalah beberapa pengertian tentang istilah yang ada dalam internet: 1.
Network (jaringan) Sistem yang saling terhubung dari berbagai komputer, terminal dan saluran
serta peralatan komunikasi dengan menggunkan jalur transmisi.
19
2.
WWW (Word Wide Web) atau yang disebut sebagai “web” merupakan sebuah sistem dimana informasi dalam bentuk teks, gambar,
suara, dan lain-lain yang tersimpan dalam sebuah Internet webserver dipresentasikan dalam bentuk hypertext. Informasi di web dalam bentuk teks umumnya ditulis dalam format HTML (Hypertext Markup Language). 3.
Web server Web server adalah Software yang menjadi tulang belakang dari word wide
web (www). Web server menunggu permintaan dari client yang menggunakan browser. Jika ada permintaan dari browser, maka web sever akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Web server, untuk berkomunikasi dengan clientnya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol ). Dengan protokol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. 4.
HTTP (hypertext transfer protocol) Protokol
memungkinkan
bermacam-macam
komputer
saling
berkomunikasi dengan menggunkan bahasa HTML. Hypertext mempunyai arti bahwa seorang pengguna Internet dengan web browser-nya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. 5.
Browser Suatu perangkat lunak yang digunkan untuk dapat menjelajah internet.
Perangkat lunak ini diperlukan untuk menampilkan halam suatu website. Web
20
browser adalah paket software yang menyediakan interface pemakai untuk mengakses situs Web Internet, Intranet, dan Eksternet. 6.
Home page Suatu halaman depan dari sebuah website. Ketika pertama kali mengakses
suatu alamat website maka biasanya akan langsung menuju ke halaman depan (home page) website tersebut.
2.5
Web (World Wide Web) World Wide Web (biasa disingkat sebagai web) adalah sistem dokumen
hypertext yang dapat diakses melalui internet. Dengan browser web, kita dapat melihat halaman web yang dapat berisi teks, gambar, video dan multimedia dan navigasi antara mereka menggunakan hyperlink. Secara terminologi website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada di dalam World Wide Web (WWW) di internet. WWW terdiri dari seluruh situs web yang tersedia kepada publik. Halaman-halaman sebuah situs web (web page) diakses dari sebuah URL yang menjadi akar (root), yang disebut homepage (halaman induk; sering diterjemahkan menjadi beranda, halaman muka), URL ini mengatur web page untuk menjadi sebuah hirarki, meskipun hyperlink yang ada di halaman tersebut mengatur para pembaca dan memberitahu mereka susunan keseluruhan dan bagaimana arus informasi ini berjalan. Sebuah web page adalah dokumen yang ditulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP,
21
yaitu protokol yang menyampaikan informasi dari server website untuk ditampilkan kepada para pemakai melalui web browser. Semua publikasi dari website tersebut dapat membentuk sebuah jaringan informasi yang sangat besar. Web page layaknya sebuah buku yang dapat menampung berbagai informasi tentang banyak hal baik bersifat komersil maupun non komersil. Melalui media web inilah seseorang dapat memberikan informasi tertentu kepada orang lain yang berada di seluruh dunia. 2.6
RUP (Rational Unified Process) Rational Unified Process (RUP) merupakan suatu metode rekayasa
perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Berikut ini standar model proses dari RUP : 1.
Dimensi pertama Digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek
dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari fase selanjutnya. Setiap fase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
22
2.
Dimensi kedua Digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari
proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment. Untuk lebih jelasnya lihat gambar 2.1 dibawah ini :
Gambar 2.1 Arsitektur Rational Unified Process Pada penggunaan kedua standar tersebut di atas yang berorientasi obyek (object orinted) memiliki manfaat yakni: a.
Improve productivity Standar ini dapat memanfaatkan kembali komponen-komponen yang
telah tersedia/dibuat sehingga dapat meningkatkan produktifitas. b.
Deliver high quality system Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang
23
dibuat pada komponen-komponen yang telah teruji (well-tested dan wellproven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi. c.
Lower maintenance cost Standar ini membantu menyakinkan dampak perubahan yang
terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga biaya pemeliharaan dapat dioptimalkan. d.
Facilitate reuse Standar ini memiliki kemampuan mengembangkan komponen-
komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya. e.
Manage complexity Standar ini mudah untuk mengatur dan memonitor semua proses dari
semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan.
2.6.1 Fase RUP Fase-fase ini memungkinkan proses yang harus dipresentasikan pada tingkat yang tinggi dalam cara yang mirip dengan bagaimana sebuah ‘proyek gaya waterfall’ mungkin disajikan, walaupun pada dasarnya kunci untuk proses iterasi terletak pada pembangunan yang terletak dalam semua fase. Selain itu, setiap fase memiliki satu tujuan utama dan tonggak penting diakhir menunjukkan bahwa tujuan yang dicapai.
24
1.
Inception Menentukan ruang lingkup proyek, membuat ‘business base’, menjawab
pertanyaan apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan. 2.
Elaboration Menganalisa berbagai persyaratan dan resiko, menetapkan ‘base line’,
merencanakan fase berikutnya yaitu construction. 3.
Construction Melakukan sederetan iterasi, pada setiap iterasi akan melibatkan proses
analisa desain, implementasi dan testing 4.
Transistion Membuat apa yang sudah dimodelkan menjadi suatu produk jadi. Dalam
fase ini dilakukan: a.
Beta dan performance testing
b.
Membuat dokumentasi seperti training, user guides dan sales kit
c.
Membuat rencana peluncuran produk ke komunitas pengguna
2.6.2 Peran Use Case Pada Setiap Fase 1.
Inception : a. Menolong mengembangkan scope proyek b. Menolong menetapkan penjadwalan dan anggaran
2.
Elaboration : a. Menolong dalam melakukan analisa resiko b. Menolong mempersiapkan fase berikutnya yaitu konstruksi
25
3.
Construction : a. Melakukan sederetan iterasi b. Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing
4.
Transistion Membuat apa yang sudah dimodelkan menjadi suatu produk jadi. Dalam fase ini dilakukan: a. Beta dan performance testing b. Membuat dokumentasi seperti training, user guides dan sales kit c. Membuat rencana peluncuran produk ke komunitas pengguna
2.7
UML (Unified Modeling Language) Unified Modelling Language (UML) adalah bahasa grafis untuk
mendokumentasikan, menspesifikasikan dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi diberagam metodologi, usaha bersama dari bayak pihak. Standar UML dikelola uleh Object Managemant Group. (Harianto Bambang, 2004) Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa
26
berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa
lainnya,
UML
mendefinisikan
notasi dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. 2.7.1 Use-case Diagrams Diagram use-case memperlihatkan kepada kita hubungan–hubungan yang terjadi antara aktor–aktor dengan use-case dalam sistem. (Nugroho Adi 2005) Use-case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use-case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use-case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem
untuk melakukan pekerjaan-pekerjaan tertentu.
Use-case
diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use-case dapat meng-include fungsionalitas use-case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use-case yang di-include akan dipanggil setiap kali use-case yang meng-include dieksekusi secara normal. Sebuah use-case dapat di-include oleh lebih dari satu use-case lain,
27
sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use-case juga dapat meng-extend usecase lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use-case menunjukkan bahwa use-case yang satu merupakan spesialisasi dari yang lain. Use-case Diagrams menyediakan cara medeskripsikan pandangan eksternal terhadap sistem dan interaksi-interaksinya dengan dunia luar. Dengan cara ini diagram use-case menggantikan diagram konteks pada pendekatan konvensional. Untuk penciptaan model use-case melibatkan pendefinisian sistem, pencarian aktor-aktor dan use-case, mendeskripsikan use-case dan mendefinisikan hubungan antar use-case dan terakhir adalah melakukan validasi model. Berikut simbol-simbol yang ada pada diagram use-case: 1.
Use-case Use-case adalah peringkat tertinggi dari fungsionalitas yang dimiliki
sistem. Dengan kata lain, use-case menggambarkan bagaimana seseorang akan menggunakan atau memanfaatkan sistem (Nugroho Adi, 2005). Berikut ini adalah gambar use-case dapat dilihat pada gambar 2.2:
Gambar 2.2 Use-case
28
2.
Aktor Dalam pemodelan sistem dengan UML, aktor adalah seseorang atau
sesuatu yang berinteraksi dengan sisten yang sedang kita kembangkan. Aktor berada diluar lingkup sistem/perangkat lunak yang sedang kita kembangkan bersifat ekternal (Nugroho Adi, 2005). Dalam pemodelan sistem dengan UML, aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem. Maksud berinteraksi adalah aktor mengirim atau menerima pesan ke atau dari sistem atau mempertukarkan informasi dengan sistem. (Harianto Bambang, 2004) Secara prinsip dapat kita kenali 3 jenis aktor untuk hampir semua sistem/perangkat lunak yang kita kembangkan, yaitu sebagai berikut : a.
Aktor yang pertama yaitu orang-orang yang hadir secara fisik, atau para pengguna. Mereka adalah aktor yang paling umum dan hadir disetiap sistem/perangkat lunak.
b.
Aktor yang kedua yaitu sistem lain.
c.
Aktor yang ke tiga yaitu waktu menjadi aktor ketika ia memicu eventevent tertentu bagi sistem/perangkat lunak yang kita kembangkan. Berikut ini adalah gambar aktor dapat dilihat pada gambar 2.3 :
Gambar 2.3 Aktor
29
3.
Relasi Use-case dan aktor masing masing tidak berdiri sendiri, mereka saling
terhubung dengan apa yang dinamakan relasi (Nugroho Adi, 2005). Adapun relasi tersebut adalah: a.
Relasi asosiasi 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). Berikut ini adalah gambar relasi asosiasi dapat dilihat pada gambar 2.4:
Gambar 2.4 Relasi Asosiasi b.
Relasi cakupan (include relationship) Relasi cakupan (include relationship) memungkinkan suatu use-case
untuk menggunakan fungsionalitas yang disediakan oleh use-case lainnya (Nugroho Adi, 2005). Berikut relasi cakupan dapat dilihat pada gambar 2.5 di bawah ini:
Gambar 2.5 Relasi Include c.
Relasi perluasan (extends relationship) Extends relationship
memungkinkan suatu
use-case
memiliki
kemungkinan untuk memperluas fungsionalitas yang disediakan use-case
30
lainnya. Ini agak mirip dengan include relationship, namun pada extends relationship tidak harus terjadi apa yang diharapkan (Nugroho Adi, 2005). Berikut ini adalah gambar relasi perluasan dapat dilihat pada gambar 2.6:
<extends> Gambar 2.6 Relasi Extends d.
Generalisasi Relasi generalisasi digunakan untuk memperlihatkan bahwa beberapa
actor atau use-case memiliki sesuatu hal yang bersifat umum (Nugroho Adi, 2005). Berikut ini adalah gambar generalisasi dapat dilihat pada gambar 2.7:
Gambar 2.7 Relasi Generalisasi 2.7.2 Activity Diagram Activity diagram adalah salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use-case.
Diagram ini juga dapat diganti dengan
sejumlah teks. Namun, penggunaan teks kadang terlalu sulit dan
dipahami,
terutama jika aliran event berbelit-belit dan memiliki banyak alternatif (Nugroho Adi, 2005). Activity diagram digunakan untuk memodelkan aspek dinamis dari sistem. Activity diagram secara esensial mirip diagram alir (flowchart), memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya. Berikut simbol-simbol yang ada pada diagram activity diagram:
31
1.
Status awal Status awal merupakan aktivitas sistem, sebuah diagram aktivitas memiliki
status awal. Berikut dapat dilihat pada gambar 2.8 status awal:
Gambar 2.8 Status Awal
2.
Aktivitas Aktivitas adalah apa yang dilakukan sistem, aktivitas biasanya diawali
dengan kata kerja. Berikut dapat dilihat pada gambar 2.9 aktivitas:
aktivitas
Gambar 2.9 Aktifitas 3.
Percabangan / decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Transisi berurutan adalah umum, tetapi transisi tidak selalu terjadi secara berurutan. Seperti pada diagram alur (flowchart), kita juga dapat melibatkan percabangan. Percabangan dilukiskan dengan bentuk jajaran genjang. Pada tramsisi berjalan kita dapat menempatkan ekspresi boolean tertentu, yang dievaluasi sekali saat memasuki percabangan. Kalimat penentu (guard) juga dapat dilibatkan untuk menentukan cabang mana yang akan dimasuki. Percabangan (Nugroho Adi, 2005). Berikut ini adalah gambar percabangan activity diagram dapat dilihat pada gambar 2.10 di bawah ini:
32
Gambar 2.10 Percabangan 4.
Penggabungan / join Asosiasi penggabungan dimana lebih dari satu aktivitas memiliki sebuah
status akhir, joining adalah beberapa aliran sekaligus yang secara bersamaan masuk ke satu titik. Urutan sederhana serta percabangan adalah bentuk yang umum yang kita jumpai pada activity diagram. Kita seringkali menemukan aliran-aliran yang konkruen.
Dalam
UML,
kita
menggunakan
garis
singkronisasi
untuk
menspesifikasi forking serta joining. Garis sinkronisasi digambarkan dengan garis horizontal tebal (Nugroho Adi, 2005).
Berikut ini adalah gambar dari
penggabungan dapat dilihat pada gambar 2.11:
Gambar 2.11 Penggabungan/join 5.
Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki
sebuah status akhir. Berikut di bawah ini gambar 2.12 status akhir :
Gambar 2.12 Status Akhir
33
2.7.3 Sequence Diagram Sequence Diagram adalah interaction diagram yang memperlihatkan event-event yang berurutan sepanjang berjalannya waktu, kita membaca diagram ini dari atas ke bawah. Masing-masing sequence diagram akan menggambarkan aliran-aliran pada suatu use-case. Kita dapat membaca diagram ini dengan melihat pada objek-objek dan pesan-pesan (message). Objek-objek yang berperan dalam aliran diperlihatkan pada kotak empat persegi panjang yang melintas pada bagian atas diagram (Nugroho Adi, 2005). Berikut simbol-simbol yang ada pada diagram sequence diagram: 1.
Aktor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi
yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang, bisanya dinyatakan menggunakan kata benda diawal frase nama actor. Berikut di bawah ini gambar 2.13 aktor sequence diagram:
nama aktor :
Gambar 2.13 Aktor 2.
Life Line Garis yang menyatakan sedang berjalanya sebuah sistem. Berikut di bawah
ini adalah gambar life line sequence diagram dapat dilihat pada gambar 2.14:
34
Gambar 2.14 Life Line 3.
Objek Menyatakan objek yang berinterkasi pesan, objek-objek jenis ini
memelihara informasi di dalamnya. Mereka kelak seringkali dipetakan sebagai field-field di basis data. Kebanyakan kata-kata benda pada aliran event adalah objek entitas. Berikut di bawah ini gambar 2.15 objek sequence diagram :
Gambar 2.15 Objek 4.
Waktu Aktif Menyatakan objek dalam keadaan aktif dan berinterkasi pesan. Berikut ini
adalah gambar waktu aktif sequence diagram dapat dilihat pada gambar 2.16:
Gambar 2.16 Status Akhir 5.
Pesan Tipe Create Menyatakan suatu objek membuat objek lain, arah panah mengarah pada
objek yang dibuat. Berikut di bawah gambar 2.17 pesan tipe create sequence diagram:
Gambar 2.17 Pesan Tipe Create
35
6.
Pesan Tipe Call Menyatakan suatu objek memanggil operasi/metode yang ada pada objek
lain atau dirinya sendiri. Berikut di bawah gambar 2.18 pesan tipe call sequence diagram:
Gambar 2.18 Pesan Tipe Call 7.
Pesan Tipe Send Menyatakan bahwa suatu objek mengirimkan data/masukan/informasi ke
objek lainya, arah panah mengarah pada objek yang dikirimi. Berikut di bawah gambar 2.19 pesan tipe send sequence diagram:
Gambar 2.19 PesanTipe Send 8.
Pesan Tipe Return Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau
metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian. Berikut ini adalah gambar pesan tipe return sequence diagram dapat dilihat pada gambar 2.20 :
Gambar 2.20 Pesan Tipe Return
36
9.
Pesan Tipe Destroy Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah
mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy. Berikut di bawah gambar 2.21 pesan tipe destroy sequence diagram:
Gambar 2.21 Pesan Tipe Destroy 2.7.4 Class Diagram Diagram Kelas (class diagram) adalah diagram yang digunakan untuk menampilan beberapa kelas serta paket-paket yang ada di dalam sistem/perangkat lunak
yang
sedang
kita
kembangkan.
Class
diagram
memberi
kita
gambaran/diagram statis tentang sistem/perangkat lunak dan relasi-relasi yang ada di dalamnya (Nugroho Adi, 2005). 2.7.4.1 Class Class
adalah
sebuah
spesifikasi
yang
jika
diinstansiasi
akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi).
Class diagram
menggambarkan
struktur
dan
deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Berikut adalah cara-cara mengidentifikasi class:
37
1.
Class-class dapat kita temukan saat kita meninjau skenario-skenario, baik alternatif maupun primer, untuk suatu use-case. Class-class dapat ditemukan dalam bentuk kata-kata benda dalam skenario use-case.
2.
Cara lain yang dapat digunakan
untuk menemukan class adalah dengan
memeriksa objek-objek yang ada di sequence diagram dan colaboration diagram. Untuk menemukan class berusahalah menemukan segala sesuatu yang bersifat umum dari objek-objek, sebab kita tahu bahwa sesungguhnya class adalah blue print bagi objek-objek didalamnya. Setiap object yang kita temukan dalam sequence diagram dan collaboration diagram sesungguhnya harus dipetakan kedalam bentuk class-class (Nugroho Adi, 2005). 2.7.4.2 Relasi Ada lima jenis relasi yang dapat kita modelkan. Kelima jenis relasi beserta ralsinya adalah sebagai berikut (Nugroho Adi, 2005) : 1.
Relasi asosiasi Asosiasi adalah koneksi semantik antara satu class dengan dengan class
yang lain. Asosiasi digambarkan dengan garis tunggal yang menghubungkan class-class. Saat asosiasi terhubung antara dua class, setiap class dapat mengirim pesannya kearah class yang lainnya pada interaction diagram. Dalam notasi uml mengenal asosiasi dua arah (bidirectional) atau satu arah (undirectional). Dalam UML asosiasi dua arah digambarkan dengan dengan garis dua tanda panah di kedua sisinya maupun dengan garis tanpa tanda panah.
Asosiasi satu arah
mengandung satu kepala panah yang menunjukan dari arah pemberian pesan (Nugroho Adi, 2005).
38
2.
Depedencies Depedencies juga menghubungkan dua class, tetapi memiliki perbedaan
dengan asosiasi. Dependency selalu bersifat satu arah (undirectional) dan memperlihatkan bahwa, meski suatu class tidak menginstansiasi yang lainnya, ia tidak perlu mengirim pesan ke class yang lainnya. Dengan kata lain, meski objek A tidak terinstansiasi dan memiliki objek B, ia perlu mengirim pesan ke objek B. Depedency juga dibutuhkan saat suatu class digunakan sebagai parameter atau tipe kembalian untuk operasi suatu class (Nugroho Adi, 2005). 3.
Agregasi Agregasi merupakan bentuk yang lebih kuat dari asosiasi. Agregasi adalah
relasi antara suatu keseluruhan ke bagian-bagiannya (Nugroho Adi, 2005). 4.
Realisasi (realizes relationship) Relasi realizes relationship digunakan untuk memperlihatkan relasi antara
suatu class dengan interfacenya, antara komponen dengan interfacenya, atau antara use-case dengan relalisasi use-case yang bersangkutan. Dengan kata lain relasi ini memisahkan antarmuka dengan implementasinya (Nugroho Adi, 2005). 5.
Generalisasi Generalisasi diperlukan untuk memperlihatkan relasi/hubungan pewarisan
(inheritance) antar unsur dalam class diagram (Nugroho Adi, 2005). 2.8
PHP (Php Hypertext Preprocessor) Php Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan
atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
39
2.8.1 Kelebihan PHP Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain: 1.
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
2.
Web server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
3.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis dan developer yang siap membantu dalam pengembangan.
4.
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5.
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
2.8.2 Cara kerja PHP Seperti yang telah disebutkan di atas bahwa PHP adalah aplikasi di sisi server atau dengan kata lain beban kerja ada di server bukan di client. Pada saat browser meminta dokumen PHP, web server langsung menggunakan modul PHP untuk mengolah dokumen tersebut. Jika pada dokumen terkandung fungsi yang mengakses database maka modul PHP menghubungi database server yang bersangkutan. Dokumen yang berformat PHP dikembalikan web server dalam format HTML, sehingga source code PHP tidak tampak di sisi browser.
40
Contoh program Hello World yang ditulis menggunakan PHP adalah sebagai berikut:
2.9
FrameWork Framework merupakan sekumpulan perintah/fungsi dasar yang dapat
membantu dalam menyelesaikan proses-proses yang lebih kompleks, menangani berbagai masalah dalam pemrograman seperti koneksi database, pemanggilan variabel, dll. Sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Secara sederhana dapat dijelaskan bahwa framework adalah kumpulan fungsifungsi yang sudah ada sehingga programmer tidak perlu lagi membuat fungsifungsi (kumpulan library) dari awal, yang tentunya tinggal memanggil kumpulan library tersebut didalam framework. Fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah fungsi enkripsi, session, security, manipulasi gambar, grafik, validasi, upload, template dan lain-lain. Perlu diketahui framework menggunakan konsep yang sama dalam membangun aplikasi, yaitu konsep MVC (Model View Controller). Ada beberapa alasan mengapa menggunakan Framework: 1.
Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
41
2.
Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
3.
Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
4.
2.10
Lebih bebas dalam pengembangan jika dibandingkan CMS
CodeIgniter CodeIgniter adalah sebuah web application framework yang bersifat open
source digunakan untuk membangun aplikasi php dinamis. Tujuan utama pengembangan
CodeIgniter
adalah untuk
membangun developer
untuk
mengerjakan aplikasi lebih cepat dari pada menulis semua code dari awal. CodeIgniter menyediakan berbagai macam library yang dapat mempermudah dalam pengembangan (Daqiqil, 2011) CodeIgniter itu sendiri dibangun menggunakan kosep Model View Controller development pattem. CodeIgniter sendiri merupakan salah satu framework tercepat dibandingkan dengan framework lainya. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
42
1.
View Merupakan bagian yang menangani presentation logic. Pada suatu aplikasi
web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. 2.
Model Biasanya berhubungan langsung dengan database untuk memanipulasi
data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 3.
Controller Merupakan bagian yang mengatur hubungan antara bagian model dan
bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan. Ada
beberapa
kelebihan
CodeIgniter
(CI)
Framework PHP lain, beberapa kelebihannya yaitu :
dibandingkan dengan
43
a.
Performa sangat cepat Salah satu alasan tidak menggunakan framework adalah karena
eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain. b.
Konfigurasi yang sangat minim (nearly zero configuration) tentu saja untuk menyesuaikan dengan database dan keleluasaan
routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config. c.
Banyak komunitas Dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru. d.
Dokumentasi yang sangat lengkap Setiap paket instalasi codeigniter sudah disertai user guide yang
sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami. Beberapa fitur yang disediakan CodeIgniter (CI), antara lain: a) validasi form dan data b) Kemanan dan XSS filter c) Class untuk pengiriman email, attachment, HTML/Text email, dll.
44
d) Enkripsi data e) Class upload file f)
Paging halaman
g) Library untuk memanipulasi gambar h) Shopping chart
2.11
i)
URL Friendly
j)
Class untuk tanggal kalender
Basis Data Pangkalan data atau basis data (bahasa Inggris: database), atau sering pula
dieja basis data, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan objek yang diwakili suatu basis data, dan hubungan di antara objek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layanan
45
mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut 2.11.1 Keuntungan Sistem Basis Data Berikut ini merupakan beberapa kelebihan dari sistem basis data yaitu : 1.
Terpeliharanya keselarasan (ke-konsistenan) data Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahanitu berlaku untuk keseluruhan.
2.
Data dapat dipakai secara bersama (shared) Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.
3.
Dapat diterapkan standarisasi Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.
46
4.
Keamanan data terjamin DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve).
5.
Terpeliharanya integritas data Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat.
6.
Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi. Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat.
7.
Data independence (kemandirian data) Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada
2.11.2 Kelemahan Sistem Basis Data Berikut ini merupakan beberapa kelemahan dari sistem basis data yaitu : 1.
Memerlukan tenaga spesialis
2.
Kompleks
3.
Memerlukan tempat yang besar
47
2.12
MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis dataSQL
(database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial SwediaMySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya (Hidayat, 2007). MySQL merupakan sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 2.12.1 Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain : 1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
48
2.
Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
3.
Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lainlain.
5.
Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
6.
Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, namahost, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
7.
Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
8.
Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
49
2.13
Pengujian Black Box Black-box testing adalah metode pengujian perangkat lunak yang tes
fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box). pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi, fungsional, sistem dan penerimaan.Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga (Grace, 2010) Pendekatan test black-box dengan cara 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 dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku
50
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 tehnik khusus untuk pengujian perangkat lunak.