BAB II DASAR TEORI
2.1
Bencana
2.1.1 Definisi Bencana Bencana adalah peristiwa atau rangkaian peristiwa yang mengancam dan mengganggu kehidupan dan penghidupan masyarakat yang disebabkan, baik oleh faktor alam dan/atau faktor nonalam maupun faktor manusia sehingga mengakibatkan timbulnya korban jiwa manusia, kerusakan lingkungan, kerugian harta benda, dan dampak psikologis (Undang-Undang Republik Indonesia Nomor 24 Tahun 2007 Tentang Penanggulangan Bencana, BAB I Ketentuan Umum, Pasal 1). Bencana terdiri dari tiga kategori bencana, yaitu : 1. Bencana alam adalah bencana yang diakibatkan oleh peristiwa atau serangkaian peristiwa yang disebabkan oleh alam antara lain berupa gempa bumi, tsunami, gunung meletus, banjir, kekeringan, angin topan, dan tanah longsor. 2. Bencana non-alam adalah bencana yang diakibatkan oleh peristiwa atau rangkaian peristiwa nonalam yang antara lain berupa gagal teknologi, gagal modernisasi, epidemi, dan wabah penyakit. 3. Bencana sosial adalah bencana yang diakibatkan oleh peristiwa atau serangkaian peristiwa yang diakibatkan oleh manusia yang meliputi konflik sosial antarkelompok atau antarkomunitas masyarakat, dan teror.
8
9
2.2
Knowledge Management System
2.2.1 Definisi Knowledge Druker mendefinisikan knowledge sebagai informasi yang mengubah sesuastu atau seseorang, hal itu terjadi ketika informasi tersebut menjadi dasar untuk bertindak, atau ketika informasi tersebut memampukan seseorang atau institusi untuk mengambil tindakan yang berbeda atau tindakan yang lebih efektif dari tindakan sebelumnya. Sehingga ada juga pendapat yang mengartikan knowledge sebagai actionable information atau informasi yang dapat ditindak lanjuti atau informasi yang dapat digunakan sebagai dasar untuk bertindak, untuk mengambil keputusan dan untuk menempuh arah atau strategi tertentu (Tobing L, Paul. 2007 : 16-17). Proses tranformasi informasi menjadi knowledge menurut davenport dan prusak terdiri dari empat tahapan yang dimulai dengan huruf C, yaitu (Tobing L, Paul. 2007 : 18) : 1. Comparation : Membandingkan informasi pada situasi tertentu dengan situasi-situasi yang lain yang telah diketahui. 2. Consequences : Menemukan implikasi-implikasi dari informasi yang bermanfaat untuk pengambilan keputusan dan tindakan. 3. Connections : Menemukan hubungan-hubungan bagian-bagian kecil dari informasi dengan hal-hal lainnya. 4. Conversations : Membicarakan pandangan, pendapat serta tindakan orang lain terkait informasi tersebut.
10
2.2.2 Siklus Knowledge Polanyi
seorang
ahli
kimia
merupakan
orang
yang
pertama
yang
memperkenalkan bahwa knowledge terdiri dari dua jenis yaitu tacit knowledge dan explicit knowledge. Tacit knowledge merupakan knowledge yang diam di dalam benak manusia dalam bentuk intuisi, judgement, skill, values dan belief yang sangat sulit diformalisasikan dan di share dengan orang lain. Sedangkan explicit knowledge adalah knowledge yang dapat atau sudah terkodifikasi dalam bentuk dokumen atau bentuk
berwujud
lainnya
sehingga
dapat
dengan
mudah
ditransfer
dan
didistrubusikan dengan menggunakan berbagai media. Explicit knowledge dapat berupa formula, kaset/cd video dan audio, spesifikasi produk atau manual. Kedua jenis knowledge tersebut, oleh nonaka dan takeuchi dapat dikonversi melalui empat jenis proses konversi, yaitu sosialisasi, eksternalisasi, kombinasi dan internalisasi. Keempat jenis proses konversi ini disebut SECI Process (S : Socialization, E : Externalization, C : Combination, dan I : Internalization). Berikut ini adalah penjelasan dari tiap-tiap proses konversi tersebut (Tobing L, Paul. 2007 : 21-22) : 1. Sosialisasi merupakan proses sharing dan penciptaan tacit knowledge melalui interaksi dan pengalaman langsung. 2. Eksternalisasi merupakan pengartikulasian tacit knowledge menjadi explicit knowledge melalu proses dialog dan refleksi.
11
3. Kombinasi merupkan proses konversi explicit knowledge menjadi explicit knowledge yang baru melalui sistemisasi dan pengaplikasian explicit knowledge dan informasi. 4. Internalisasi merupakan proses pembelajaran dan akuisisi knowledge yang dilakukan oleh anggota organisasi terhadap explicit knowledge yang disebarkan ke seluruh organisasi melalu pengalaman sendiri sehingga menjadi tacit knowledge anggota. 2.2.3 Definisi Knowledge Management Robert Buckman yang merupakan salah satu CEO yang terjun langlung memimpin implementasi knowledge management di perusahaan buckman labs, memilih definisi knowledge management dari American Productivity and Quality Centre (APQC). Definisi knowledge management menurut APQC yang digunakan untuk buckman labs adalah “systemic approaches to help information and knowledge emerge and flow to the right people at the right time to create value” (mekanisme dan proses yang terpadu dalam penyimpanan, pemeliharaan, pengorganisasian informasi bisnis dan pekerjaan yang berhubungan dengan penciptaan berbagai informasi menjadi aset intelektual organisasi yang permanen). Alasan pemilihan definisi tersebut adalah karena definisi knowledge management menurut APQC ini lebih tegas menyebutkan manusia sebagai bagian dari konsep knowledge management yang diyakini merupakan unsur utama dari keberhasilan implementasi knowledge management di buckman labs (Tobing L, Paul. 2007 : 23-24).
12
2.2.4 Manfaat Implementasi Knowledge Management Knowledge Merupakan Aset kunci agar suatu perusahaan memiliki keunggulan kompetitif yang kontinu. Keunggulan kempetitif tersebut diperoleh dari dampak implementasi knowledge management terhadap berbagai bidang berikut (Tobing L, Paul. 2007 : 24) : a. Bidang operasi dan pelayanan b. Bidang pengembangan kompetensi personil c. Bidang pemeliharaan ketersediaan knowledge d. Bidang inovasi dan pengembangan produk 2.2.5 Faktor-Faktor Penting Dalam Implementasi knowledge a.
Manusia Pada hakekatnya knowledge berada di dalam pikiran manusia berupa tacit
knowledge. Carla O’Dell mengatakan bahwa 80% knowledge adalah berupa tacit knowledge dan hanya 20% berupa explicit knowledge. Disamping sebagai sumber knowledge, manusia pada hakekatnya juga merupakanpelaku dari proses-proses yang ada di dalam knowledge management. Jika proses knowledge sharing/transfer dan knowledge creation tidak dapat berjalan, maka persoalan utamanya adalah karena tidak adanya kemauan dan kemampuan manusia untuk melakukannya. Semua prosesproses tersebut dapat berjalan, selama manusia memang terdorong untuk melakukannya, walaupun tanpa bantuan teknologi (Tobing L, Paul. 2007 : 28).
13
b.
Leadership Peran yang sangat kritis yang harus dijalankan pemimpin adalah membangun
visi yang kuat, yaitu visi yang dapat menggerakan seluruh anggota organisasi untuk mencapai visi tersebut. Visi tidak hanya sekedar statement yang bersifat retorik, tetapi harus diikuti oleh tindakan nyata dari pemimpin itu sendiri dalam memberikan teladan dan keyakinan kepada seluruh anggota organisasi bagwa memang organisasi sungguh-sungguh diarahkan dan digerakan menuju visi yang telah ditetapkan. Untuk suksesnya implementasi knowledge management, para pemimpin harus mengerahkan kapasitas interlektual dan sumber daya yang dibawah kendalinya dalam menginpirasi, menyusun dan terjun langsung mengkonduktori implementasi knowledge management untuk mewujudkan visinya (Tobing L, Paul. 2007 : 29). c.
Teknologi Perkembangan teknologi informasi yang sudah merasuk ke semua aspek
kegiatan manusia membuat pengguna teknologi informasi menjadi salah satu enabler dari knowledge management. Perkembangan teknologi informasi membuat semakin banyak proses yang diotomasi dan juga semakin banyak pekerja menghabiskan waktunya didepan computer baik untuk melakukan pekerjaan analisis, mengeksekusi proses bisnis maupun untuk berkomunikasi. Internet saat ini sudah menjadi interface dan sekaligus intergrator antara manusia dan manusia lainya. Selain berfungsi sebagai media utama pendistribusian knowledge, penggunaan teknologi informasi dalam knowledge management juga sangat berperan dalam
14
mengeksekusi berbagai proses di knowledge management yaitu (Tobing L, Paul. 2007 : 30-31) : - Capture, generate atau akuisisi knowledge. - Kodifikasi knowledge. - Knowledge maintenance (validasi, pemeliharaan integritas knowledge). - Security dari knowledge. - Memonitor pemanfaatan knowledge. d.
Organisasi Organisasi berkaitan dengan penanganan aspek operasional dari aset-aset
knowledge. Termasuk fungsi-fungsi, proses-proses, struktur organisasi formal dan informal, ukuran dan indikator pengendalian, proses penyempurnaan dan rekayasa proses bisnis (Tobing L, Paul. 2007 : 31). e.
Learning Garvin mendefinisikan learning organization sebagai keterampilan organisasi
dalam lima aktifitas utama, yaitu : - Penyelesaian masalah secara sistematis. - Pengujicobaan pendekatan-pendekatan baru. - Belajar dari pengalaman masa lalu. - Belajar dari praktek terbaik. - Transfer/sharing knowledge secara cepat dan efisien ke seluruh organisasi. Proses learning menjadi sangat penting dalam knowledge management, karena melalu proses inilah diharapkan muncul ide-ide, inovasi dan knowledge baru, yang
15
menjadi komoditas utama yang diproses dalam knowledge management (Tobing L, Paul. 2007 : 32). 2.2.6 Efiktifitas dan Efisiensi Knowledge Management Tujuan utama knowledge management adalah memastikan tersedianya knowledge yang dibutuhkan pada saat yang tepat dan untuk orang yang tepat yang penggunaanya akan meningkatkan efektifitas dan efisiensi organisasi atau menciptakan nilai bagi perusahaan. Untuk itu kebutuhan knowledge dan tingkat kepentingannya perlu dirumuskan sebagai acuan utama penyediaan knowledge (Tobing L, Paul. 2007 : 62). Dari uraian ini, sangat disadari bahwa efektifitas dan efisiensi knowledge management bukan hanya bertumpu kepada penyediaan materi knowledge dan infrastrukturnya saja, tetapi juga sangat ditentukan oleh kultur, perilaku, kapabilitas dari suatu organisasi terutama sumber daya manusianya. Untuk itu, inisiatif knowledge management perlu dilengkapi dengan program change management untuk membekali
organisasi
dengan
kapabilitas
yang
memadai
dalam
mengimplementasikan program-program knowledge management (Tobing L, Paul. 2007 : 64).
2.2.7 Definisi Knowledge Management System Knowledge management system adalah mekanisme dan proses yang terpadu dalam penyimpanan, pemeliharaan, pengorganisasian informasi bisnis dan pekerjaan yang berhubungan dengan penciptaan berbagai informasi menjadi aset intelektual organisasi yang permanen (Tobing L, Paul. 2007 : 8).
16
2.3
Perangkat Lunak
2.3.1 Definisi Perangkat Lunak Perangkat lunak adalah objek tertentu yang dapat di jalankan seperti sumber kode objek atau sebuah program yang lengkap. Perangkat lunak memiliki banyak bagian yang meliputi manual, referensi, tutorial, intruksi instalasi, data sampel, pelayanan pendidikan, pelayanan pendukung teknis dan sebagainya. Semua yang di hasilkan oleh projek perangkat lunak adalah produk kerja yang di sebut dengan work product (Ladjamudin, Ali Bahra. 2006 : 5). Produk kerja perangkat lunak meliputi : 1. Dokumen engginering yang di pakai untuk menentukan, mengontrol, dan memantau usaha kerja. 2. Objek yang di jalankan seperti prototipe, kendali tes (test harnes) dan piranti pengembangan tujuan khusus. 3. Data yang di gunakan untuk testing, melacak proyek dan sebagainya. Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen fisik. Ciri yang membedakan perangkat lunak dengan perangkat keras, yaitu: perangkat lunak dibangun dan dikembangkan tidak dalam bentuk klasik, perangkat lunak tidak pernah rusak, dan sebagian besar perangkat lunak dibuat secara custombuilt serta tidak dapat dirakit dari komponen yang sudah ada sebelumnya. Sebuah komponen perangkat lunak harus didesain dan diimplementasikan sehingga dapat dipakai lagi pada berbagai program yang berbeda. Komponen
17
perangkat lunak dibangun dengan bahasa pemrograman yang memiliki kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara ekspisit, serta aturan-aturan sintaks dan semantic yang dibentuk secara baik. 2.3.2 Kelompok Perangkat Lunak Perangkat lunak komputer merupakan serangkaian instruksi dengan aturan tertentu yang mengatur operasi perangkat keras. Perangkat lunak terdiri atas tiga kelompok, yaitu: 1. Sistem Operasi/Operating System/OS, adalah perangkat lunak yang digunakan untuk mengendalikan resource selama proses berlangsung. Fungsi sistem operasi adalah mengalokasikan memori dan pekerjaan, dan penjadwalan pekerjaan. Contoh OS adalah DOS, Unix, Novell, Windows, dan lain-lain. 2. Bahasa pemrograman/Programming Language, merupakan perangkat lunak yang digunakan sebagai alat untuk pengembangan program aplikasi. Level/generasi pemrograman komputer dikenal dengan 4GL, yaitu : a. Bahasa mesin (machine language), b. Bahasa rakitan (assembly language), c. Bahasa pemrograman tingkat tinggi (programming language), d. Aplikasi (application).
18
Bahasa pemrograman tingkat tinggi telah mengalami perkembangan yang pesat dan secara umum dapat dibagi dalam tiga kelompok, yakni sebagai berikut : a. Konvensional. b. Terstruktur, mengandung teknik pemecahan masalah yang tepat dan benar, memiliki algoritma pemecahan masalah yang sederhana, standar, dan efektif, penulisan program memiliki struktur logika yang benar dan mudah difahami, serta menghindari terjadinya loncatan proses yang tidak terstruktur. c. OOP (object oriented programming), dapat melakukan beberapa proses pada saat bersamaan. 3. Bahasa Query (query language), Bahasa query merupakan perangkat lunak bahasa tingkat tinggi yang dapat digunakan untuk menampilkan informasiinformasi yang diinginkan hanya dengan menuliskan sedikit perintah saja. Contoh bahasa query yang tersedia adalah SQL ( structure query language) yang dimiliki oleh sebagian besar paket perangkat lunak pengelolaan basis data (Sutanta, Edhy. 2005 : 20).
2.3.4 Rekayasa Perangkat Lunak Pendefinisian “Rekayasa Perangkat Lunak” telah dilakukan oleh banyak pihak, antara lain :
19
Menurut Ian Sommarville, rekayasa perangkat lunak berkaitan dengan teori, metode, dan kakas yang diperlukan dalam mengembangkan perangkat lunak untuk komputer. Menurut Fritz Bauer, rekayasa perangkat lunak adalah penetapan dan penggunaan prinsip-prinsip rekayasa yang tangguh / teruji dalam upaya memperoleh perangkat lunak secara ekonomis, handal dan bekerja efisien di mesin nyata. Menurut Mynatt, rekayasa perangkat lunak secara sederhana dinyatakan sebagai pendekatan sistematis untuk penciptaan dan pemilikan perangkat lunak. Menurut IEEE : [IEEE Standard Glossary of SE Terminology (IEEE 83)], rekayasa perangkat lunak adalah Pendekatan yang sistematis, berdisiplin dan dapat dikuantifikasi untuk pengembangan, pengoperasian dan pemeliharaan perangkat lunak, yaitu penerapan rekayasa terhadap perangkat lunak (Hariyanto, Bambang. 2004 : 8).
20
2.4
Objek
2.4.1 Definisi Objek Objek adalah sesuatu yang berarti dalam konteks suatu sistem. James Martin dan James Odell mengemukakan objek adalah sesuatu yang dapat dikonsepkan yang diperlukan dalam penyelesaian masalah. Objek dapat berupa konsep, abstraksi atau sesuatu dengan batas-batas tegas dan mempunyai arti untuk persoalan yang ditangani. Objek mempunyai identitas dan dapat dibedakan. Identitas berarti objek terbedakan oleh keberadaannya secara inheren dan bukan oleh properti-properti deskriftif yang dipunyainya. Beberapa objek yang diciptakan pada perangkat lunak juga dapat mempunyai korespondensi langsung dengan objek-objek dunia nyata (Hariyanto, Bambang. 2004 : 195). Objek adalah instan kelas saat jalan. Misalkan pada sistem penggajian, objek Employee yang merupakan instan waktu jalan merupakan pemodelan dari pegawai (employee) di dunia nyata. Dalam perspektif manusia, objek adalah sembarang dari hal-hal berikut : 1. Sesuatu yang tampak atau fisik. 2. Sesuatu yang dapat dikenal secara intelektual. 3. Sesuatu yang menuntun pemikiran dan aksi.
21
Rumbaugh mendefinisikan objek sebagai konsep, abstraksi atau sesuatu dengan batas dan arti yang jelas untuk masalah yang dihadapi. Dengan demikian, terdapat dua kegunaan objek, yaitu: 1. Untuk meningkatkan pemahaman dunia nyata. 2. Menyediakan basis praktis untuk dunia komputer. Pada pendekatan berorientasi objek, objek mempunyai dualitas, yaitu: 1. Objek dari pandangan pemrograman berorientasi objek (dan perancangan) adalah instan waktu jalan dan nilai yang didefinisikan oleh deskripsi statik disebut kelas. Objek adalah instan (saat jalan) dari suatu kelas. Perangkat lunak yang yang berisi kelas A dapat pada suatu saat menciptakan (lewat operasi penciptaan) instan dari kelas A. Instan tersebut adalah struktur data yang memenuhi pola yang didefinisikan oleh kelas A. 2. Objek pada pandangan analisis merupakan sesuatu atau entitas yang berperan didalam domain persoalan. Penggunaan
dualitas
istilah
“objek”
berkonsekuensi
bagus
memiliki
keampuhan metode berorientasi objek sebagai kakas pemodelan. Dualitas ini meyediakan sarana yang lebih baik disbanding metode lain. Metodologi berorientasi objek mendukung pemodelan di pengembangan perangkat lunak (objek sebagai peran pertama di dualitas) sekaligus juga bertindak sebagai pemodelan dunia nyata (objek sebagai peran kedua di dualitas).
22
2.4.2 Pengembangan Berorientasi Objek Pengembangan sistem berorientasi objek memerlukan keterampilan untuk analisis, perancangan, pemrograman dan pengujian berorientasi objek. Pemahaman pendekatan objek sangat diperlukan dalam pengembangan sistem berorientasi objek. Analisis dan perancangan berorientasi objek merupakan bagian kritis dalam pengembangan sistem berorientasi objek. Pendekatan berorientasi objek mempunyai keunggulan sebagai berikut : 1. Pendekatan objek menuntun penggunaan ulang (reuse) komponenkomponen program sebelumnya. Penggunaan kembali menuntun sebelumya. Penggunaan kembali menuntun pengembangan perangkat lunak yang lebih cepat dan berkualitas tinggi. 2. Perangkat
lunak
yang
dikembangkan
dengan
berorientasi
objek
mempermudah pemeliharaan karena strukturnya secara inheren sudah decouple. Decouple dalam level micro. 3. Sistem berorientasi objek lebih mudah diadaptasi dan diskala menjadi sistem lebih besar karena sistem-sistem lebih besar dibuat dengan merakit subsistem-subsistem yang dapat diguna ulang (Hariyanto, Bambang. 2004 : 82).
23
2.5
Unifield Proces (UP)
2.5.1 Definisi Unifield Proces (UP) Unified Process (UP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Unfied Process terdiri dari empat tahap yang
berbeda. Empat fase fokus pada aspek yang berbeda dari proses desain. Empat fase tersebut yaitu : Insepsi, Elaborasi, Konstruksi dan Transisi.
Gambar 2.1 Fase Unified Process (Hunt, John. 2003 : 31) 1. Inception Tahap ini mendefinisikan ruang lingkup proyek dan mengembangkan kasus bisnis untuk sistem. juga menetapkan kelayakan dari sistem yang akan dibangun. Berbagai prototipe dapat dikembangkan selama fase ini untuk memastikan kelayakan sistem. 2. Elaboration Tahap ini menangkap kebutuhan fungsional dari sistem. juga harus menentukan persyaratan non-fungsional untuk memastikan bahwa mereka diperhitungkan. Tugas utama lainnya untuk tahap ini adalah penciptaan arsitektur yang akan digunakan di seluruh sisa dari tahapan Unified Process.
24
3. Construction Fase ini berkonsentrasi pada menyelesaikan analisis sistem, melakukan sebagian besar desain dan diimplementasikan sistem. Yaitu, pada dasarnya membangun produk. 4. Transition Tahap transisi memindahkan sistem ke lingkungan pengguna. ini melibatkan aktivitas seperti menyebarkan sistem dan merawatnya.
2.5.2 Disiplin Dalam Unified Process Lima disiplin dalam Unified Process adalah requirement, analisys, design, implementation dan test. Perhatikan bahwa desain, implementasi dan disiplin testing bagian yang rusak. Hal ini untuk menunjukkan bahwa unsur-unsur dari setiap disiplin dapat dilakukan lebih awal dari bagian-bagian inti dari disiplin. Pada pelaksanaan, khususnya desain dan pengujian arsitektur akan terjadi awal (dalam fase elaborasi). Sehingga masing-masing bagian dari desain, implementasi dan disiplin uji harus terjadi saat ini.
25
Gambar 2.2 Disciplines versus Phase (Hunt, John. 2003 : 33) Berdasarkan gambar diatas, penjabaran disiplin dalam Unified Process yaitu: 1. Requirements Disiplin 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 disiplin ini adalah untuk merestrukturisasi kebutuhan yang diidentifikasi dalam disiplin requirement atau dalam kontek perangkat lunak yang akan dibangun dan bukan dalam kontek pengguna. Hal ini dapat dilihat sebagai jalan pertama pada tahapan desain. Bagaimanapun, hal ini bertujuan untuk melewatkan titik apa yang pada disiplin ini hendak dicapai.
26
3. Design Disiplin desain menghasilkan rancangan rinci yang akan dilaksanakan pada disiplin berikutnya. 4. Implementation Disiplin ini merupakan pengkodean desain dalam bahasa pemrograman yang sesuai dan kompilasi, pengemasan, 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 (Hunt, John. 2003 : 33).
2.5.3 Penerapan Unified Process Pada penerapan Unified Process untuk sebuah proyek dunia nyata, anda akan melihat bahwa itu adalah kerangka. Ini berarti bahwa tidak ada proses universal yang selalu akan berlaku secara keseluruhan. Sebaliknya, Unified Process adalah desain yang bersifat fleksibilitas dan extensibilitas. Itu memungkinkan berbagai strategi siklus hidup dan juga memungkinkan pemilihan artefak apa yang harus diproduksi. Mendefinisikan aktifitas apa yang harus dikerjakan. Kapan dan dimana pekerja harus melakukan kegiatan tersebut. Sehingga ada kemungkinan untuk menanggalkan elemen-elemen yang tidak sesuai proyek ini. Misalnya, Anda mungkin meninggalkan deployment diagram jika Anda hanya men-deploy pada satu
27
processor. Pada gilirannya, kita dapat menambahkan elemen tambahan jika memang diperlukan. Misalnya, memutuskan untuk menggabungkan beberapa ekstensi realtime ke dalam UML, dan beberapa kegiatan untuk mendukung hal tersebut. Anda mungkin juga merasa perlu untuk memasukkan proses tambahan. Misalnya, anda bisa memasukkan kegiatan tambahan untuk membantu mengidentifikasi set awal kelas, atribut dan hubungan. pada kenyataannya, anda bahkan dapat memutuskan untuk meninggalkan seluruh tahapan, iterasi dan disiplin yang sesuai: misalnya, sebuah sistem yang sederhana mungkin tidak membutuhkan model analisis eksplisit (Hunt, John. 2003 : 35). Workflow
Activities
Requirement
Menemukan aktor dan use case, memprioritaskan kasus penggunaan, kasus detail gunakan, antarmuka pengguna prototipe, struktur model use case
Analisys
Analisis arsitektur, menganalisa use case, mengeksplorasi kelas, menemukan paket
Design
Desain arsitektur, trace use case, memperhalus dan desain kelas, paket desain
Implementation
Test
Pelaksanaan arsitektur, menerapkan kelas dan interface, mengimplementasikan subsistem, melakukan unit testing, mengintegrasikan sistem Merencanakan dan merancang tes, melaksanakan uji, melakukan integrasi dan tes sistem, mengevaluasi tes
Gambar 2.3 Workflow dan Aktifitas pada Unified Process (Hunt, John. 2003 : 35)
28
2.5.4 Tahapan Dalam Menemukan Aktor Dalam menemukan aktor pada sebuah sistem, dibutuhkan sebuah pernyataan yang dapat membantu developer dalam mengidentifikasi aktor. Pertanyaan yang dapat membantu dalam menemukan aktor antara lain: 1. Siapa yang memiliki ketertarikan atas sistem? 2. Siapa yang menyukai untuk menggunakan sistem? 3. Siapa yang memiliki keuntungan atas sistem? 4. Siapa yang men-supply informasi terhadap sistem? 5. Siapa yang melakukan maintenance information pada sistem? 6. Siapa yang menerima informasi dari sistem? 7. Di organisasi mana sistem akan digunakan? Dengan menjawab pertanyaan diatas dapat membantu untuk melakukan identifikasi atas aktor yang berinteraksi dengan sistem (Hunt, John. 2003 : 72).
29
2.6
Unifield Modeling Language (UML)
2.6.1 Definisi Unifield Modeling Language (UML) Unified Modeling Language adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya system yang dibangun menggunakan pemrograman berorientasi objek (OO). Bahasa pemodelan ini telah ada di industri perangkat lunak sejak lama. Pemicu dibalik semuanya adalah bahwa bahasa pemrograman berada pada tingkat abstraksi yang tidak terlalu tinggi untuk memfasilitasi diskusi tentang desain. UML merupakan standar yang relatif terbuka yang dikontrol oleh Object Managemen Group (OMG), sebuah konsorsium terbuka yang terdiri dari banyak perusahaan. OMG dibentuk untuk membuat standar-standar yang mendukung interoperabilitas, khususunya interoperabilitas sistem berorientasi objek. OMG mungkin lebih dikenal dengan standar-standar CORBA (Common Object Broker Archiitecture). UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi objek yang berkembang pesat pada akhir 1980 dan awal 1990. Sejak hadirnya di tahun 1997, UML menghancurkan menara babel tersebut dalam sejarah (Fowler, Martin. 2005 : 1). Diagram – diagram yang terdapal dalam UML (Unified Modelling Language) antara lain :
30
2.6.2 Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut. UML menggunakan istilah fitur sebagai istilah umum yang meliputi properti dan operasi sebuah class (Fowler, Martin. 2005 : 58). 1. Property Property mewakili fitur-fitur struktural dari sebuah class sebagai bayangan awal, anda dapat menganggap properti berhubungan dengan bidang-bidang dalam sebuah class. Properti merupakan sebuah konsep tunggal, tetapi tampak seperti dua notasi yang berbeda attribute dan asosiasi meskipun mereka tampak berbeda dalam sebuah diagram mereka sebenarnya dalah hal yang sama (Fowler, Martin. 2005 : 54). 2. Atribut Notasi atribut mendeskripsikan properti dengan berbasis teks didalam kotak class diagrams tersebut (Fowler, Martin. 2005 : 55). 3. Asosiasi Cara lain untuk medeskripsikan sebuah properti adalah asosiasi. Banyak informasi yang sama dengan ditunjukan dalam sebuah atribut terdapat dalam sebuah asosiasi.
31
Asosiasi merupakan sebuah garis solid antara dua class, ditarik dari class sumber ke class target. Nama properti bergerak sampai tujuan akhir sebuah asosiasi menghubungkan dengan class yang merupakan jenis properti (Fowler, Martin. 2005 : 56). Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat runtime. 4. Hubungan Antar Class a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. b. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”). c. 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.
32
d. Hubungan dinamis, yaitu rangkaian pesan (message) yang di- passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian. 5. Multiplicity Multiplicity sebuah properti merupakan indikasi tentang berapa banyak objek yang akan mengisi sebuah properti. Umumnya multiplicity didefinisikan dengan sebuah batas yang lebih bawah dan sebuah batas atas. properti multipilcity yang sering ditemui adalah: a. 1 (sebuah pesanan hanya bias memiliki seorang pelanggan) b. 0..1 (sebuah pelanggan perusahaan dapat memiliki sebuah sales rep.) c. ..* (seorang pelanggan tidak perlu membuat sebuah ada batas maksimal berapa jumlah
pesanan dan tidak
pesanan dan tidak ada batas
maksimal berapa jumlah pesanan yang dapat dibuat oleh seorang pelanggan – nol atau lebih pesanan) (Fowler, Martin. 2005 : 57).
2.6.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
33
tunggal. Diagram tersebut menunjukan sebuah objek contoh dan pesan-pesan yang melewati objek-objek ini di dalam use case. 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 (Fowler, Martin. 2005 : 81). a. Kerangka Interaksi Masalah umum di sequence diagram adalah bagaimana menunjukkan behaviour loop dan kondisional. Interaction fragment merupakan hal baru di UML 2. Kita mungkin tidak menemukan diagram disisipkan sebelum UML 2. Umumnya, kerangka tersebut terdiri dari beberapa daerah dari sebuah sequence diagram yang dipisahkan menjadi satu atau lebih fragment. Setiap kerangka memiliki sebuah operator dan setiap fragment dapat memiliki sebuah penjaga. Untuk menunjukkan sebuah loop, gunakan operand “loop” dengan sebuah fragment tunggal dan letakkan dasar interaksi pada penjaga. Untuk logika kondisional, dapat digunakan operand “alt” dan memberi sebuah kondisi pada setiap fragment. Hanya fragment yang nilai penjaganya
34
true yang akan dieksekusi. Jika anda hanya memiliki satu daerah, itu merupakan operator “opt”. Tabel 2.1 Operator Umum Untuk Kerangka Interaksi (Fowler, Martin. 2005 : 90) Operator alt
Arti Alternative multiple fragment, hanya fragment dengan kondisi true yang akan diekseskusi
opt
Optional, fragment dieksekusi jika kondisi yang ada bernilai true
par
Parallel, setiap fragment berjalan parallel
loop
Loop, fragment dapat mengeksekusi berulang kali dan penjaga menunjukkan dasar iterasi
region
Critical region, fragment hanya memiliki satu alur yang mengeksekusi sekaligus
neg
Negative, fragment menunjukkan sebuah interaksi invalid
ref
Reference, mengacu pada sebuah interaksi yang dibuat didiagram lain. Kerangkan dibuat untuk mencakup garis alur dan interaksi tersebut. Anda dapat mendefinisikan parameter dan nilai kembali.
sd
Sequence
diagram,
digunakan
untuk
melingkupi
seluruh sequence diagram, jika anda menginginkan.
35
Gambar 2.4 Contoh Penggunaan Kerangka Interaksi (Fowler, Martin. 2005 : 89) b. Membuat dan Menghapus Partisipan Sequence Diagram menunjukkan beberapa notasi tambahan untuk membuat dan menghapus partisipan. Untuk membuat partisipan, anda tinggal membuat sebuah sebuah tanda panah langsung ke kotak partisipan. Disini, nama pesan merupakan pilihan jika anda menggunakan sebuah konstruktor, tetapi saya biasanya menandainya dengan kata “baru” dalam semua kasus. Jika partisipan tersebut langsung melakukan sesuatu segera setelah dibentuk,
36
seperti query command, anda mulai sebuah aktivasi dibelakang kotak partisipan. Penghapusan sebuah partisipan ditandai dengan tanda X besar. Garis pesan melewati X menunjukkan satu partisipan mengahapus dirinya sendiri.
Gambar 2.5 Pembuatan dan Penghapusan Partisipan (Fowler, Martin. 2005: 87) Didalam lingkungan tempat pembuangan, anda jangan langsung menghapus objek, tetapi gunakanlah X untuk menunjukkan bahwa sebuah objek sudah tidak diperlukan dan siap untuk dibuang. Ini juga berlaku pada operasi – operasi penutup, menunjukkan bahwa objek sudah tidak dapat digunakan lagi (Fowler, Martin. 2005 : 87).
37
Gambar 2.6 Partisipan (Fowler, Martin. 2005 : 218) 2.6.4 Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberpa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini mendukung behaviour parallel. Activity diagram memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain diagram hanya menyebutkan aturan-aturan rangkaian dasar yang harus kita ikuti. Hal yang ini penting untuk pemodelan bisnis karena proses-proses sering muncul secara parallel, ini juga berguna pada algoritma yang bersamaan, dimana urutan-urutan independent dapat melakukan hal-hal secara parallel. Jika anda memiliki paralelismi, maka anda membutuhkan sinkronisasi. Misalkan, kita tidak bisa menutup pesanan sebelum diantar dan dibayar. Kita menampilkannya dengan join sebelum aksi menutup
38
pesanan. Dengan sebuah join, aliran keluar dilakukan hanya jika seluruh aliran tersebut telah mencapai join. Jadi anda hanya dapat menutup pesanan tersebut hanya jika anda telah menerima pembayaran dan mengantarkan barang (Fowler, Martin. 2005 : 163). a. Partisi Activity diagram memberi tahu anda tentang yang terjadi, tetapi diagram ini tidak memberi tahu anda tentang siapa yang melakukan apa. Jika anda ingin menunjukkan siapa melakukan apa, anda dapat memisahkan activity diagram kedalam partisi-partisi yang menampilkan aksi mana yang yang dilakukan oleh sebuah class atau organisasi. b. Spesifikasi Join Secara default, join melakukan eksekusi pada aliran keluarnya pada saat semua aliran inputnya telah sampai. (Dalam bahasan yang lebih formal, join mengeluarkan sebuah token pada aliran keluarnya jika token-token sampai pada setiap aliran inputnya). Dalam beberapa kasus, khususnya saat anda memiliki sebuah aliran dengan banyak token, akan lebih membantu jika memiliki sebuah aturan yang lebih rinci (Fowler, Martin. 2005 : 177).
39
Gambar 2.7 Activity Diagram Sederhana (Fowler, Martin. 2005 : 164)
2.6.5 Use Case Diagram Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsiskan interaksi antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sebuah sistem tersebut digunakan. Dalam bahasa use case, para pengguna disebut sebagai aktor. Aktor merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya dengan sistem.
40
Aktor dapat meliputi pelanggan, petugas layanan konsumen, manajer penjualan,dan analisis produk. Seorang aktor dapat menggunakan banyak use case, sebaliknya use case juga dapat digunakan banyak aktor. Setiap langkah dalam use case adalah sebuah elemen dalam interakasi antara aktor dan sistem. Setiap langkah harus berupa pernyataan sederhana dan dengan jelas menunjukan siapa yang menjalankan langkah tersebut. Langkah tersebut harus menunjukan tujuan aktor. Bukan mekanisme yang harus dilakukan aktor. Konsekuensinya, anda tidak menjabarkan antarmuka pengguna dalam use case (Fowler, Martin. 2005 : 141). Hubungan yang terdapat dalam use case yaitu : a. Bentuk <
> adalah stereotype ketergantungan. Hal ini menunjukkan bahwa jalur sebuah
use case dimasukkan ke dalam use case lain.
Khususnya, bentuk ini muncul saat beberapa use case berbagai langkahlangkah yang sama. use case yang dimasukkan dapat memfaktorkan behavior umum. Ini menggantikan penggunaan <<uses>>. b. Generalisasi Use Case menunjukkan bahwa satu use case merupakan variasi terhadap lainnya. c. Bentuk <<extend>> adalah stereotype sebuah ketergantungan. Hal ini member bentuk perluasan yang lebih terkontrol dari pada hubungan generalisasi. Disini,use case dasar menyatakan sejumlah titik perluasan. Use case yang diperluas dapat mempengaruhi behavior hanya pada titik-titik perluasa tersebut. Jadi, jika anda member produk secara online, anda
41
mungkin memilik use case untuk membeli sebuah produk dengan titik perluasan untuk merekam informasi pengiriman barang dan merekam informasi pembayaran. Use case tersebut kemudian dapat diperluas bagi konsumen sehingga informasi ini didapat dengan cara lain (Fowler, Martin. 2005 : 207).
Gambar 2.8 Contoh Use Case Diagram (Fowler, Martin. 2005 : 147)
2.6.6 Deployment Diagram Deployment/Physical Diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
42
Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini. Hal utama dalam diagram tersebut adalah pusat-pusat yang dihubungkan oleh jalur komunikasi. Sebuah pusat adalah sebuah titik yang dapat mengumpulkan beberapa perangkat lunak. Pusat-pusat mempunyai dua bentuk. Sebuah alat adalah perangkat keras, alat ini dapat berupa sebuah computer atau perangkat keras sederhana yang terhubung pada sebuah sistem. Sebuah lingkungan eksekusi merupakan perangkat lunak yang mengumpulkan atau terdiri dari perangkat lunak lain., contohnya adalah sebuah sistem operasi. Jika anda menampilkannya sebagai kotak-kotak . class, anda dapat menambah sebuah icon <<artifact>>. Anda dapat member label pusat atau artifak dengan label nilai untuk menunjukkan berbagai macam informasi menarik tentang pusat, seperti vendor, sistem operasi, lokasi atau hal lain yang menyenangkan anda (Fowler, Martin. 2005 : 137).
Gambar 2.9 Contoh Deployment Diagram (Fowler, Martin. 2005 : 138).
43
2.7
PHP : Hypertext Preprocessor (PHP)
2.7.1 Definisi PHP Rasmus Lerdorf merupakan seorang programmer yang menciptakan PHP pada tahun 1994. PHP terus mengalami perkembangan dan perubahan hingga saat ini dalam berbagai versi (Suryana, Taryana. 2007 : 1). PHP adalah singkatan dari “PHP : Hypertext Preprocessor”, merupakan bahasa web server-side yang bersifat open source. Bahasa PHP menyatu dengan script HTML yang sepenuhnya dijalankan pada server. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifikasi. Untuk menjalankan sistem PHP dibutuhkan 3 komponen : 1. Web server 2. Program PHP 3. Database Server
2.7.2 Variabel PHP Variabel digunakan untuk menyimpan data yang nilainya dapat berubah-ubah. Dalam bahasa PHP, variabel dimulai dengan tanda ”$”. Aturan penulisan variabel antara lain sebagai berikut :
44
1. Hanya ada 3 karakter yang dapat digunakan untuk nama variabel yaitu huruf, angka, dan garis bawah. 2. Karakter pertama setelah tanda ”$” harus huruf atau garis bawah. 3. Jika nama variabel lebih dari satu kata, tidak boleh ada tanda spasi di antara keduanya.
2.7.3 Kelebihan PHP Adapun kelebihan-kelebihan dari PHP yaitu: 1. PHP mudah dibuat dan kecepatan akses tinggi. 2. PHP dapat berjalan dalam web server yang berbeda dalam sistem operasi yang berbeda pula. 3. PHP diterbitkan secara gratisan 4. PHP merupakan bahasa yang dapat diletakkan dalam tag HTML. 5. Sistem database yang didukung PHP cukup banyak. 6. PHP termasuk server side programming.
45
2.8
Cascading Style Sheets (CSS)
2.8.1 Defisnisi Cascading Style Sheets (CSS) Cascading Style Sheets (CSS) adalah salah satu bahasa pemrograman desain web (style sheet language) yang mengontrol format tampilan sebuah halaman web yang ditulis dengan menggunakan bahasa penanda (markup language). Biasanya CSS digunakan untuk mendesain sebuah halaman HTML dan XHTML, tetapi sekarang bahasa pemrograman CSS bisa diaplikasikan untuk segala dokumen XML, termasuk SVG dan XUL. Tujuan utama CSS diciptakan adalah untuk membedakan konten dari dokumen dan tampilan dari dokumen, dengan itu pembuatan ataupun pemrograman ulang web akan lebih mudah dilakukan. Hal yang termasuk dalam desain web diantaranya adalah warna, ukuran dan formatting. Dengan adanya CSS, konten dan desain web akan mudah dibedakan, jadi memungkinkan untuk melakukan pengulangan pada tampilan-tampilan tertentu dalam suatu halaman web, sehingga akan memudahkan dalam membuat halaman web yang banyak, sehingga membuat waktu dalam membuat web jauh lebih cepat (Wiswakarma, Komang. 2010 : 2).
46
2.9
Basis Data
2.9.1 Definisi Basis Data Basis data dapat didefinisikan dalam sejumlah sudut pandang, yaitu : - Mendefinisikan basis data sebagai kumpulan informasi bermanfaat yang diorganisasikan ke dalam tata cara khusus. - Basis data adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan pengulangan data. - Basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data terkomputerisasi (Kadir, Abdul. 2003 : 3). Secara sederhana, basis data dapat diungkapkan sebagai suatu pengorganisasian data dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan cepat. Dalam hal ini, pengertian akses dapat mencakup pemerolehan data, maupun pemanipulasian data, seperti menambah dan menghapus data. Manajemen modern mengikutsertakan informasi sebagai sumber daya manusia, uang, mesin, dan material. Informasi adalah suatu bentuk penyajian data yang melalui mekanisme pemrosesan, yang berguna bagi pihak tertentu. Bagi pihak manajemen, informasi merupakan bahan untuk pengambilan keputusan (Kadir, Abdul. 2003 : 3). 2.9.2 MySQL MySQL (My Strukture Query Language) atau yang biasa dibaca ”mai-se-kuel” adalah sebuah progran pembuat database yang bersifat open source, artinya siapa saja boleh menggunakannya.
47
MySQL sebenarnya produk yang berjalan pada platform linux. Karena sifatnya yang open source, dia dapat dijalankan pada semua platform baik windows maupun linux. Saat ini database MySQL telah digunakan hampir oleh semua programer database, apalagi dalam pemrograman web. Kelebihan lain dari MySQL adalah ia menggunkan bahasa query standar yang dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan yang tersturktur yang telah distandarkan untuk semua program pengakses database seperti Oracle, Posgres SQL, SQL Server, dan lain-lain. (Nugroho, Bunafit. 2004 : 29). 2.9.2.1 Keunggulan MySQL MySQL dapat digunakan pada berbagai platform sistem operasi. Khusus pada sistem operasi windows, MySQL bersifat shareware (dikenakan biaya setelah melakukan modifikasi dan digunakan untuk keperluan produksi). Keunggulan MySQL sebagai “backend” dalam mengelola database adalah : 1. Kecepatan. Berdasarkan hasil pengujian, MySQL memiiki kecepatan yang paling baik disbanding RDBMS lainnya. Sebagai contoh MySQL 4.0 kinerja query naik sebesar 200% dari kinerja biasa. 2. Mudah digunakan. Perintah dalam MySQL dan aturan-aturannya relatif mudah diingat dan diimplemntasikan, karena MySQL menggunakan SQL sebagai bahasa standar database.
48
3. Fitur-fitur yang dimiliki MySQL banyak dibutuhkan dalkam aplikasi web. Misalnya, klausa LIMIT SQL praktis untuk melakukan paging. Indeks field FULLTEXT, untuk full text searching. Dan kekayaan fungsi built-nya, mulai dari memformat dan memanipulasi tanggal, mengolah string, regex, enkripsi dan hashing. 4. Praktis untuk melakukan penyimpanan password anggota situs. 5. Memiliki overhead koneksi yang rendah.
49
2.10
Metadata
2.10.1
Definisi Metadata Pengertian Metadata menurut National Information Standards Organization
(NISO) adalah informasi yang terstruktur yang menggambarkan, menjelaskan, menempatkan, atau membuat lebih mudah untuk mengambil, menggunakan, atau mengelola sebuah sumber informasi. Metadata sering disebut data di dalam data atau informasi di dalam informasi (NISO, 2004 : 1). Istilah metadata digunakan secara berbeda dalam masyarakat yang berbeda. Beberapa menggunakannya untuk merujuk pada sebuah mesin pencarian yang dimengerti, sementara yang lain menggunakannya hanya untuk catatan yang menjelaskan tentang sumber data elektronik. Skema metadata lainnya telah dikembangkan untuk menggambarkan berbagai jenis benda tekstual dan non-tekstual termasuk buku yang diterbitkan, dokumen elektronik, pencarian arsip, benda-benda seni, pendidikan dan materi pelatihan, dan data ilmiah. Ada tiga jenis utama dari metadata : 1. Metadata deskriptif menggambarkan sumber data untuk tujuan seperti penemuan dan identifikasi. Hal ini dapat mencakup unsur-unsur seperti judul, abstrak, penulis, dan kata kunci. 2. Metadata struktural menunjukkan bagaimana objek yang sama diletakkan bersama-sama, misalnya, bagaimana halaman diperintahkan untuk membentuk bab.
50
3. Metadata
Administrasi
menyediakan
informasi
untuk
membantu
mengelola sumber data, seperti kapan dan bagaimana ia diciptakan, jenis file dan informasi teknis lainnya, dan siapa yang dapat mengaksesnya.
2.10.2
Cara Kerja Metadata Alasan penting untuk menciptakan metadata deskriptif adalah untuk
memfasilitasi penemuan informasi yang relevan. Selain tempat penyimpanan sumber data, metadata dapat membantu mengatur sumber data elektronik, memfasilitasi interoperabilitas dan integrasi antar sumber data, menyediakan identifikasi digital, dan mendukung pengarsipan dan pelestarian (NISO, 2004 : 1).
2.10.3
Tempat Penyimpanan Sumber Data Metadata memiliki fungsi dalam tempat penyimpanan sumber data dan
sebaiknya katalogisasi sumber data dilakukan seperti berikut : - Memungkinkan sumber data dapat ditemukan oleh kriteria yang relevan; - Mengidentifikasi sumber data; - Menyimpan sumber data yang sama dalam satu lokasi penyimpanan; - Membuat pembeda untuk membedakan setiap sumber data; - Memberikan informasi lokasi (NISO, 2004 : 1).
51
2.11
Metode Perancangan Kasus Uji
2.11.1
Black Box Pengujian black box berfokus pada persyaratan fungsional perangkat lunak.
Pengujian ini memungkinkan analis system memperoleh kumpulan kondisi input yang akan mengerjakan seluruh keperluan fungsional program. pengujian untuk mengetahui apakah semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan kebutuhan fungsional yang telah didefinsikan (Presman, Roger S. 1997 : 99). Tujuan metode ini mencari kesalahan pada : a. Fungsi yg salah atau hilang b. Kesalahan pada interface c. Kesalahan pada struktur data atau akses database d. Kesalahan performansi e. Kesalahan inisialisasi dan tujuan akhir Metode ini tidak terfokus pada struktur kontrol seperti pengujian white box tetapi pada domain informasi. Pengujian black box dirancang untuk menjawab pertanyaan sebagai berikut : - Bagaimana validitas fungsional diuji? - Apa kelas input yg terbaik untuk uji coba yg baik?
52
- Apakah sistem sangat peka terhadap nilai input tertentu? - Bagaimana jika kelas data yang terbatas dipisahkan? - Bagaimana volume data yg dapat ditoleransi oleh sistem? - Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem? 2.11.1.1 Tipe dari Black Box Testing a. Equivalence Class Testing - Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan sebagai kasus uji. - kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus uji. - Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid. - kondisi input bisa merupakan suatu range, harga khusus, suatu himpunan, atau suatu boolean. - Bila kondisi input berupa suatu range, maka input kasus ujinya satu valid dan dua yang invalid.
53
- Bila kondisi input berupa suatu harga khusus, maka input kasus ujinya satu valid dan dua yang invalid. - Bila kondisi input berupa suatu anggota himpunan, maka input kasus ujinya satu valid dan dua yang invalid. - Bila kondisi input berupa suatu anggota boolean, maka input kasus ujinya satu valid dan dua yang invalid. b. Sample Testing - Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi. - Integrasikan nilai tersebut ke dalam kasus uji. - Nilai yang dipilih dapat berupa konstanta atau variabel. c. Limit Testing - Kasus uji yang memproses nilai batas (atau titik singular). - Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang sama atau mendekati nilai yang membatasi kelas akivalensi tersebut. - Limit test also juga melibatkan data keluaran dari ekivalensi kelas.
54
- Pada kasus segi tiga, misalnya limit testing mencoba untuk mendeteksi apakah a+b >= c dan bukan a + b > c. - Bila kondisi input menentukan suatu range, maka kasus ujinya harus mencakup pengujian nilai batas dari range dan nilai invalid yang dekat dengan nilai batas. Misal bila rangenya antara [-1.0, +1.0], maka input untuk kasus ujinya adalah -1.0, 1.0, -1.001,1.001. - Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup nilai minimum dan maksimum. Misal suatu file dapat terdiri dari 1 to 255 record, maka kasus ujinya harus mencakup untuk nilai 0, 1, 255 and 256, atau uji saat keadaan record kosong dan record penuh. d. Robustness Testing - Data dipilih dari luar range yang didefinisikan. Tujuan pengujian ini adalah untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan akibat adanya keabnormalan. e. Behavior Testing - Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program, tidak bisa dilakukan per modul (CSU : Computer Software Unit).
55
f. Requirement Testing - Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan modul / CSU. - Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunak (Presman, Roger S. 1997 : 111).