• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. adalah process-flow. Process-flow menggambarkan bagaimana framework yang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. adalah process-flow. Process-flow menggambarkan bagaimana framework yang"

Copied!
34
0
0

Teks penuh

(1)

8

LANDASAN TEORI

2.1 Proses Pengembangan Software

Salah satu aspek yang terpenting dalam proses pengembangan software adalah process-flow. Process-flow menggambarkan bagaimana framework yang terdiri dari aktivitas (activity), tindakan (action) dan tugas (task) yang terjadi dalam setiap aktivitas kerangka kerja yang diselenggarakan sehubungan dengan urutan dan waktu.

Ada 4 jenis process-flow (Pressman, 2010: 31):

a) Linier

Melaksanakan masing-masing dari lima framework activity secara urut dimulai dengan communication dan mencapai puncaknya dengan deployment.

Gambar 2.1 Linier Process Flow

Communication Planning Modelling

(2)

b) Iterative

Mengulang satu atau lebih aktivitas sebelum memproses aktivitas selanjutnya.

Gambar 2.2 Iterative Process Flow

3. Evolutionary

Menjalankan aktivitas dengan cara melingkar. Setiap sirkuit yang melalui lima kegiatan mengarah ke versi yang lebih lengkap dari perangkat lunak. Communication Planning Modelling Construction

(3)

Gambar 2.3 Evolutionary Process Flow

4. Parallel

Menjalankan satu atau lebih kegiatan secara paralel dengan kegiatan lain. Sebagai contoh melakukan modelling pada saat pembuatan software memungkinkan menjalankan construction secara paralel disaat yang bersamaan.

Gambar 2.4 Parallel Process Flow Planning Modelling Construction Deployment Communication Time Communication Planning Modelling Construction Deployment

(4)

2.1.1 Model Waterfall

Nama model ini sebenarnya adalah “Linear Sequential Model ”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam perancangan pembuatan program.

Menurut (Pressman, 2010, hal. 39) salah satu model pengembangan sistem adalah dengan model waterfall. Waterfall adalah model yang paling populer dan model klasik dalam daur hidup pengembangan sistem yang bersifat sistematis, berurutan dalam membangun software. Adapun tahapannya sebagai berikut:

1. Communication

Pada tahap ini akan dilakukan analisis terhadap kebutuhan software, dan juga melakukan inisiasi proyek, seperti menganalisis masalah yang ada dan tujuan yang akan dicapai. Selain itu dilakukan juga requirement gathering, dimana akan dikumpulkan requirement melalui analisis kuesioner serta mengumpulkan data tambahan melalui paper maupun buku.

2. Planning

Planning merupakan lanjutan proses dari proses communication. Tahap ini merupakan tahap dimana akan dilakukan estimasi mengenai

(5)

kebutuhan-kebutuhan yang diperlukan untuk membuat sebuah sistem. Selain itu penjadwalan dalam proses pengerjaan juga ditentukan pada tahap ini. Tahapan ini akan menghasilkan user requirement.

3. Modelling

Pada proses modelling akan menghasilkan software requirement dimana akan menerjemahkan syarat kebutuhan ke sebuah perancangan program yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada perancangan struktur data, arsitektur dari program yang akan dibuat, user interface dan detail (algoritma) prosedural.

4. Construction

Tahap ini merupakan tahap dimana perancangan diterjemahkan ke dalam bahasa yang dimengerti oleh mesin (coding). Programmer akan menerjemahkan user requirement dan software requirement ke dalam coding. Setelah selesai melakukan coding maka akan dilakukan testing terhadap program yang telah dibuat. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap program yang telah dibuat untuk kemudian bisa diperbaiki.

5. Deployment

Setelah proses coding selesai dan tidak ada kesalahan lagi, maka program sudah dapat digunakan oleh user. Pada tahap ini juga dilakukan

(6)

pemeliharaan, perbaikan dan pengembangan agar sistem tersebut tetap dapat berjalan sebagaimana fungsinya.

Gambar 2.5 Waterfall Model Pressman

Kelebihan dari pengunaan model ini adalah pengaplikasian dalam menggunakan model ini mudah dan ketika semua kebutuhan sistem dapat didefinisikan secara utuh, ekplisit dan benar di awal pengerjaan program, software engineering dapat berjalan dengan baik tanpa masalah. Meskipun sering sekali kebutuhan sistem tidak dapat didefinisikan se-ekplisit yang diinginkan, tetapi paling tidak masalah pada kebutuhan sistem di awal pembuatan program lebih ekonomis dalam hal uang (lebih murah), selain itu usaha dan waktu yang terbuang lebih sedikit jika dibandingkan masalah yang muncul pada tahap-tahap selanjutnya.

Alasan kami menggunakan model waterfall dalam pembuatan program kami adalah saat perancangan, program akan stabil dan tidak ada perubahan saat

Communication Project initiation Requirement gathering Planning Estimating Scheduling tracking Modelling Analysis Design Construction Code Testing Deployment Delivery Support feedback

(7)

pengembangan untuk alasan apapun seperti perubahan eksternal, perubahan tujuan ataupun perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah dipahami dengan baik. Dengan menggunakan model waterfall dapat menghasilkan produk atau program yang baru (versi baru) dari program yang sudah ada sebelumnya. Sebenarnya, jika menghasilkan versi baru maka sudah termasuk incremental development yang setiap tahapnya sama dengan waterfall kemudian diulang-ulang.

2.2 Hasil-hasil Penelitian Terdahulu

Steven (2009: 19) telah melakukan penelitian tentang pendeteksian plagiarisme dengan menggunakan algoritma Rabin-Karp. Rabin-Karp adalah algoritma pencarian kata yang mencari sebuah pola berupa substring dalam sebuah teks menggunakan hashing dan metode k-gram. K-gram adalah rangkaian terms dengan panjang k. Kebanyakan yang digunakan sebagai terms adalah kata. K-gram merupakan sebuah metode yang diaplikasikan untuk pembentukan kata atau karakter. Metode k-gram ini digunakan untuk mengambil potongan-potongan karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari dokumen. Algoritma ini bekerja dengan baik pada sebagian besar kasus praktis, tapi akan mengakibatkan waktu komputasi yang relatif lama jika teks berisi banyak perbandingan nilai hashing yang tidak sama (Khan & Pateriya, 2012: 4). Seperti mencari kata ‘ax’ yang terdapat pada 10.000.000 karakter ‘a’. Berbeda dengan Steven, kami membuat aplikasi yang berbasis web untuk pendeteksian kesamaan dokumen dengan menggunakan algoritma Winnowing (Schleimer, Wilkerson, & Aiken, 2003: 4).

(8)

Persamaan dan perbedaan penelitian terdahulu dengan penelitian saat ini adalah:

1. Persamaan Penelitian:

a. Sama-sama meneliti tentang algoritma pendeteksi kesamaan dokumen pada dokumen-dokumen berbasis teks.

b. Metode yang digunakan pada algoritma menggunakan metode K-gram.

2. Perbedaan Penelitian:

a. Jika pada penelitian Steven (2009: 19), meneliti pendeteksian kesamaan dokumen dengan menggunakan Algoritma Rabin-Karp, sedangkan penelitian yang sekarang menggunakan Algoritma Winnowing.

b. Jika pada penelitian Steven (2009: 19), hasil kesamaan dokumen tidak menunjukkan letak kesamaan teks, sedangkan penelitian yang sekarang dapat menunjukkan letak kesamaan teks.

2.3 Algoritma Rabin Karp

Algoritma Rabin-Karp merupakan versi awal dari fingerprinting dengan menggunakan metode k-gram yang diciptakan oleh Michael O. Rabin dan Richard M. Karp pada tahun 1987 (Schleimer, Wilkerson, & Aiken, 2003: 3). Pada dasarnya, Algoritma Rabin Karp menghitung nilai hash untuk pattern dan setiap k-gram dari teks yang akan dibandingkan. Jika nilai hash tidak sama, maka akan dihitung nilai hash untuk k-gram selanjutnya secara berurutan. Jika nilai hash sama, maka dilakukan perbandingan antara pattern dan k-gram. Dengan

(9)

cara ini, hanya ada satu perbandingan dari subsequence teks, dan Brute Force hanya diperlukan ketika nilai hash sama.

Karakteristik Algoritma Rabin-Karp : (Fernando, 2009: 2)

a) Menggunakan sebuah fungsi hashing

b) Fase prepocessing menggunakan kompleksitas waktu O(m) c) Untuk fase pencarian kompleksitasnya : O(mn)

d) Waktu yang diperlukan O(n+m)

Fungsi hashing mengurangi perbandingan dari setiap k-gram yang quadratik di dalam banyak kasus atau situasi. Daripada melakukan pemeriksaan dari k-gram di setiap posisi dari teks ketika terjadi pencocokan pattern, akan lebih baik dan efisien untuk melakukan pemeriksaan dari k-gram hanya jika teks yang sedang proses memiliki kemiripan nilai hash seperti pada pattern. Untuk melakukan pengecekan kemiripan antara dua kata ini digunakan fungsi hash (Fernando, 2009, hal. 2). Sedangkan perhitungan nilai hash selanjutnya dilakukan Rolling hash.

Berikut ini merupakan langkah-langkah dalam mencocokan kata dengan algoritma Rabin-Karp (Steven, 2009: 15) :

1. Hilangkan tanda baca dan ubah teks sumber menjadi kata-kata tanpa huruf kapital.

2. Tentukan panjang dari teks sumber yang ingin dicari (n) dan kata yang ingin dicari (m)

(10)

3. Mencari nilai hash dari teks sumber dan kata yang ingin dicari menggunakan fungsi hash yang telah ditentukan

4. Lakukan iterasi dari indeks i=0 sampai i=n-m+1 untuk membandingkan nilai hash dari kata yang ingin dicari dengan nilai hash dari teks sumber pada indeks i sampai dengan i+m-1. Jika nilai hash sama, maka akan diperiksa lebih lanjut apakah kata yang dicari sama dengan bagian teks dari sumber pada indeks i sampai dengan i+m-1. Jika sama, maka telah ditemukan kata yang cocok. Jika tidak maka dilanjutkan dengan membandingkan nilai hash dari kata yang dicari dengan nilai hash teks sumber pada indeks berikutnya.

2.4 Algoritma Winnowing

Winnowing adalah algoritma yang digunakan untuk melakukan proses document fingerprinting (Schleimer, Wilkerson, & Aiken, 2003: 4). Algoritma winnowing melakukan penghitungan nilai-nilai hash dari setiap k-gram, untuk mencari nilai hash selanjutnya digunakan fungsi rolling hash. Kemudian dibentuk window dari nilai-nilai hash tersebut. Dalam setiap window dipilih nilai hash minimum. Jika ada lebih dari satu hash dengan nilai minimum, dipilih nilai hash yang paling kanan. Kemudian semua nilai hash terpilih disimpan untuk dijadikan fingerprint dari suatu dokumen. Fingerprint ini yang akan dijadikan dasar pembanding kesamaan antara teks yang telah dimasukkan. Syarat dari algoritma deteksi penjiplakan (Schleimer, Wilkerson, & Aiken, 2003: 2) whitespace insensitivity, yaitu pencocokan teks file seharusnya tidak terpengaruh oleh spasi, jenis huruf kapital, tanda baca dan sebagainya, noise surpression yaitu

(11)

menghindari pencocokan teks file dengan panjang kata yang terlalu kecil atau kurang relevan dan bukan merupakan kata yang umum digunakan, dan position independence yaitu pencocokan teks file seharusnya tidak bergantung pada posisi kata-kata sehingga kata dengan urutan posisi berbeda masih dapat dikenali jika terjadi kesamaan. Winnowing telah memenuhi syarat-syarat tersebut dengan cara membuang seluruh karakter-karakter yang tidak relevan misal: tanda baca, spasi dan juga karakter lain, sehingga nantinya hanya karakter-karakter yang berupa huruf atau angka yang akan diproses lebih lanjut.

2.4.1 Hashing

Hashing merupakan pengubahan serangkaian karakter menjadi nilai atau kode yang menjadi penanda dari rangkaian karakter tersebut. Dengan pengubahan inilah, maka tercipta penanda sebagai indeks untuk digunakan dalam mencari informasi kembali atau information retrieval. Fungsi untuk menghasilkan nilai ini disebut fungsi hash, sedangkan nilai yang dihasilkan disebut nilai hash. Contoh sederhana hashing adalah (Firdaus, 2008: 2):

Firdaus, Hari

Munir, Rinaldi

Rabin, Michael

Karp, Richard

Masing-masing nama di atas merupakan kata kunci untuk informasi dalam pencarian pada database. Apabila tidak di-hash, pencarian akan dilakukan

(12)

karakter per karakter pada nama-nama yang panjangnya bervariasi dan ada 26 kemungkinan pada setiap karakter yaitu 26 huruf alphabet.

7864 = Firdaus, Hari

9802 = Munir, Rinaldi

1990 = Rabin, Michael

8822 = Karp, Richard

Contoh di atas adalah penggunaan hashing dalam pencarian pada database. Pencarian akan menjadi lebih efisien setelah di-hash karena hanya akan membandingkan empat digit angka dengan cuma 10 kemungkinan setiap angka yaitu 0 sampai 9. Nilai hash pada umumnya digambarkan sebagai fingerprint yaitu suatu string pendek yang terdiri atas huruf dan angka yang terlihat acak (data biner yang ditulis dalam hexadecimal).

Fungsi Hash adalah suatu cara menciptakan “fingerprint” dari berbagai data masukan. Fungsi Hash akan mengganti atau mentranspose-kan data tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasi hexadecimal). Algoritma fungsi hash yang baik adalah yang menghasilkan sedikit hash collision. Hash collision merupakan kejadian dua atau lebih hash memiliki nilai hash yang sama.

(13)

2.4.2 K-gram

K-gram adalah rangkaian substring yang bersebelahan dengan panjang k (Schleimer, Wilkerson, & Aiken, 2003: 1). Metode ini menghasilkan rangkaian substring sejumlah k-grams, dimana k adalah parameter yang dipilih oleh user. K-gram mengambil substring karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari dokumen. Berikut ini adalah contoh k-gram dengan k=5:

Text: Bunga melati, dan mawar

Kemudian dilakukan penghilangan spasi :

bungamelatidanmawar

Sehingga dihasilkan rangkaian 5-grams yang diturunkan dari text :

bunga ungam ngame gamel amela melat elati latid atida tidan idanm danma anmaw nmawa mawar

2.4.3 Rolling Hash

Fungsi yang digunakan untuk menghasilkan nilai hash dari rangkaian gram dalam algoritma Winnowing adalah rolling hash (Jonathan D. Cohen, 1997 : 3) Fungsi hash didefinisikan sebagai berikut:

(14)

Rumus 2.1 Formula rolling hash

Keterangan :

c : nilai ascii karakter b : basis (bilangan prima) k : banyak karakter

Keuntungan dari rolling hash adalah untuk nilai hash berikutnya dapat dilakukan dengan cara:

Rumus 2.2 Formula untuk mencari nilai hash ke-2 sampai ke-n

Contoh rangkaian gram: “namas amasa”

Dimana nilai ASCII masing-masing huruf adalah n=110, a=97, m=109, s=115.

Rumus 1:

Rumus pertama untuk mencari nilai hash dari kata “namas”. Setelah mendapatkan nilai hash dari kata “namas” maka untuk mencari nila hash kata kedua yaitu “amasa” tidak perlu menggunakan rumus 1 lagi, karena pada kata

(15)

kedua terdapat juga karakter pada kata pertama sehingga menggunakan rumus kedua untuk mencari nilai hash pada kata kedua.

Rumus 2:

Dengan begitu tidak perlu melakukan iterasi dari indeks pertama sampai terakhir untuk menghitung nilai hash untuk gram ke-2 sampai terakhir. Hal ini tentu dapat mengehemat biaya komputasi saat menghitung nilai hash dari sebuah gram.

2.4.4 Langkah Algoritma Winnowing

Berikut ini adalah langkah-langkah yang harus di lakukan untuk menerapkan algoritma Winnowing dalam melakukan proses document fingerprinting (Kusmawan, Yuhana, & Purwitasari, 2010: 2).

Tahap pertama adalah pembuangan karakter-karakter yang tidak relevan, misal: tanda baca, spasi, dll. Misal: “nama saya bejo” akan diubah menjadi

namasayabejo.

Tahap kedua adalah pembentukan rangkaian gram dari teks yang telah dibersihkan dengan ukuran 5 (ukuran 5 dapat berubah-ubah sesuai kebutuhan):

(16)

Pada tahap ketiga dilakukan penghitungan nilai-nilai hash dari setiap gram menggunakan rolling hash: 12916, 12115, 12895, 12295, 13412, 12392, 13711, 11841. Lalu dibentuk window dari nilai-nilai hash, pada contoh ini digunakan window dengan ukuran 4:

{ 12916 12115 12895 12295 },

{ 12115 12895 12295 13412 },

{ 12895 12295 13412 12392 },

{ 12295 13412 12392 13711 },

{ 13412 12392 13711 11841 }.

Tahap yang terakhir adalah memilih nilai hash terkecil dari setiap window untuk dijadikan sebagai fingerprint, bila terdapat nilai minimum hash yang sama maka hanya ditulis satu saja yaitu nilai hash yang paling kecil pada window yang pertama ditemukan nilai hash tersebut:

[ 12115,1 ] [ 12295,3 ] [ 11841,7 ]. Apabila nilai hash terkecil pada window selanjutnya sama dengan nilai hash terkecil pada window sebelumnya maka nilai hash-nya tidak perlu dituliskan lagi. Nilai 1, 3 dan 7 merupakan nilai indeks dari hash yang terbentuk oleh k-gram. Parameter nilai pada window digunakan untuk mengambil perwakilan nilai hash sebagai bagian fingerprint yang tepat.

(17)

2.5 Algoritma Manber

Algoritma Manber merupakan salah satu metode document fingerprinting yang ditemukan oleh Udi Manber pada (Manber, 1994: 1-10). Secara umum prinsip kerja dari Algoritma Manber hampir sama dengan algoritma Winnowing yang membedakan adalah pada saat skema pemilihan hash untuk dijadikan document fingerprinting. Pada algoritma ini memilih setiap hash yang sesuai dengan H mod P = 0, di mana H adalah nilai hash dan P adalah ukuran chunk yang diinginkan lebih besar sementara pada Algoritma Winnowing memilih hash minimum dalam setiap window.

Berikut ini merupakan gambaran pemilihan hash pada algoritma Manber untuk dijadikan document fingerprinting (Ricardo Filipe, 2010: 291-302):

77 72 42 17 98 50 17 98 8 88 67 39 77 72 42 17 Dari urutan nilai hash yang diberikan diatas, fingerprints dipilih menggunakan kriteria H mod P = 0. Dengan menggunakan P = 4 didapatkan nilai hash yang memenuhi kriteria yaitu :

72 8 88 72

Selanjutnya nilai hash tersebut dijadikan document fingerprinting.

2.6 Pengukuran nilai similarity

Untuk mendapatkan tingkat presentase kesamaan sebuah dokumen dengan dokumen lain menggunakan persamaan Jaccard Coefficient (Potthast & Stein, 2008: 2) yang ditunjukan pada persamaan :

(18)

Similaritas (di,dj) =

Rumus 2.3 Rumus pengukuran nilai similarity dengan menggunakan persamaan Jaccard Coefficient

Untuk menentukan jenis kesamaan antara dokumen yang diuji, ada 5 jenis penilaian persentase similarity (Mutiara-Agustina, 2008):

• 0% : Hasil uji 0% berarti kedua dokumen tersebut benar-benar berbeda baik dari segi isi dan kalimat secara keseluruhan

• < 15% : Hasil uji 1-14% berarti kedua dokumen tersebut hanya mempunyai sedikit kesamaan

• 15-50%: Hasil uji 15-50% berarti menandakan dokumen tersebut termasuk plagiat tingkat sedang

• >50% : Hasil uji lebih dari 51-99% berarti dapat dikatakan bahwa dokumen tersebut mendekati plagiarisme

• 100% : Hasil uji 100% menandakan bahwa dokumen tersebut adalah plagiat karena dari awal sampai akhir mempunyai isi yg sama persis.

2.7 Use Case Diagram

Use case diagram menurut Whitten, Bentley, & Dittman (2007: 246) adalah diagram yang menggambarkan interaksi antara sistem dengan sistem ekternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem.

(19)

2.7.1 Karakteristik :

Use case diagram adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem.

Use case diagram diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use case harus menyediakan nilai minimal kepada satu actor. Use case diagram bisa memiliki perluasan yang mendefinisikan tindakan

khusus dalam interaksi atau use case lain mungkin disisipkan.

Use case diagram memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.

2.7.2 Komponen Use Case Diagram :

1. Actor

Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.

(20)

Gambar 2.6. Actor

2. Use case

“Use case adalah urutan langkah-langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal.” menurut (Whitten, Bentley, & Dittman, 2007, hal. 246)

Cara menentukan Use case dalam suatu sistem:

• Pola perilaku perangkat lunak aplikasi.

Gambaran tugas dari sebuah actor.

• Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.

• Apa yang dikerjakan oleh suatu perangkat lunak bukan bagaimana cara mengerjakannya

(21)

Gambar 2.7 Use Case

3. Relasi dalam use case

Ada beberapa relasi yang terdapat pada use case diagram:

a) Association, hubungan antar aktor dengan use case dimana terjadi interaksi diantara mereka yang digambarkan sebagai satu garis lurus yang menghubungkan pelaku dan use case. Garis penghubung pelaku dan use case pada association terdiri dari anak panah yang menyentuh use case digunakan untuk mengidentifikasikan bahwa use case diimitasi oleh pelaku di ujung lain dari garis. Garis penghubung yang lain tanpa anak panah. Garis ini mengidentifikasikan bahwa terjadi interaksi antara use case dan aktor.

(22)

Gambar 2.8. Contoh Relasi Association

b) Extends, use case yang terdiri dari langkah yang diektraksi dari use case yang lebih kompleks untuk menyederhanakan masalah orisinal dan memperluas fungsionalitas use case sebelumnya.

Gambar 2.9 Contoh Relasi Extends

c) Uses (or Includes), jika ditemukan dua atau lebih use case yang melakukan langkah-langkah fungsional yang identik, ekstrak langkah fungsional tersebut menjadi use case terpisah yang dinamakan abstract use case. Hubungan diantara abstract use case dan use case yang menggunakannya dinamakan uses relationship.

(23)

Gambar 2.10 Contoh Relasi Uses

d) Depends On, sebuah relasi antara use case yang menunjukkan bahwa satu use case tidak bisa dilakukan sampai use case yang lainnya dilakukan. Depends On ditunjukan dengan garis berkepala anak panah (baik garis tegas ataupun garis putus-putus).

(24)

e) Inheritance, konsep dimana atribut yang ditentukan di dalam sebuah object class dapat diwariskan atau digunakan lagi oleh objek class lainnya.

Gambar 2.12 Contoh Relasi Inheritance

2.8 Use Case Narative

Menurut Whitten, Bentley, & Dittman(2007: 246) adalah deskripsi tekstual kegiatan bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan suatu tugas.

(25)

Tabel 2.1 Contoh Use Case Narative

Nama Use-Case : Place New Order

Prioritas : Tinggi

Aktor Utama Sistem: Anggota Club

Deskripsi: Use-case ini mendeskripsikan kejadian ketika

anggota club menyerahkan pesanan baru untuk produk SoundStage.

Kondisi Sebelumnya: Individu yang menyerahkan pesanan harus

menjadi anggota.

Pemicu: Use case ini diawali saat pesanan baru

diserahkan.

Urutan Kejadian: User

Langkah 1: Anggota club menyediakan informasi demografis dan informasi pembayaran dan pemesanan. Sistem Langkah 2:

(26)

Sistem merespons dengan cara menguji semua informasi yang dibutuhkan. Langkah 4: Untuk setiap pesananproduk sistem menvalidasi identitas produk Langkah 5: Sistem merekam informasi pesanan kemudian pesanan diproses,sistem menghasilkan konfirmasi pesanan dan mengirim ke angota club. Langkah Alternatif -

Kesimpulan Usecase ini menyimpulkan kapan anggota klub

(27)

2.9 Activity Diagram

Activity diagram adalah diagram yang dapat digunakan untuk menggambar secara grafis aliran proses bisnis, langkah-langkah sebuah use case (Whitten, Bentley, & Dittman, 2007: 390). Diagram ini sangat berguna untuk memodelkan hasil-hasil dari aktivitas seperti memodelkan event yang menyebabkan window akan ditampilkan atau ditutup. Analisis sistem menggunakan activity diagram digunakan memahami secara lebih baik aliran dan rangkaian langkah-langkah use case. Bagian-bagian dari activity diagram:

• Titik Solid menggambarkan awal sebuah proses.

• Segi empat bersudut tumpul menggambarkan sebuah kegiatan atau tugas yang perlu dilakukan.

• Anak panah menggambarkan awal dan tujuan kegiatan.

Bar hiam solid adalah sebuah bar sinkronisasi untuk menggambarkan

kegiatan yang muncul secara paralel.

• Teks di dalam [ ] menggambarkan sebuah sasaran yang merupakan sebuah hasil dari kegiatan keputusan.

Diamond menggambarkan sebuah kegiatan keputusan.

• Titik solid dalam sebuah lingkaran menggambarkan akhir dari sebuah proses.

(28)

Sistem menampilkan form isian registrasi

Pengguna mengisi from isian registrasi

Pengguna melakukan submit form registrasi

Sistem menvalidasi

data pengguna

[Gagal] Sistem menyimpan data pengguna

Halaman personal pengguna ditampilkan [Berhasil]

Mulai

Selesai

Gambar 2.13 Contoh Activity Diagram

2.10 Sequence Diagram

Menurut Whitten, Bentley, & Dittman (2007: 659) sebuah UML diagram yang menggambarkan interaksi antara pesan dan objek di time sequence.

Ciri-ciri sequence diagram:

a) Pada sequence diagram, kita menjumpai garis hidup objek. Garis hidup objek adalah garis tegas vertical yang mencerminkan eksistensi sebuah objek sepanjang periode waktu.

(29)

b) Pada sequence diagram, kita menjumpai objek yang berbentuk persegi panjang dimana didalam persegi panjang tersebut terdapat nama dari objek tersebut dan digaris bawahi.

c) Pada sequence diagram, kita menjumpai pesan (message) yang mendeskripsikan tujuan dan input data yang sedang dikirim. Pesan pada sequence diagram ditunjukan dengan bentuk arah panah horisontal.

(30)

2.11 Pengertian Basis Data

Basis Data (database) adalah kumpulan data yang saling terkait (Whitten, Bentley, & Dittman, 2007: 518). Di dalam basis data tersebut terdapat beberapa table yang berisikan fields dan records. Fields adalah implementasi fisik dari sebuah atribut data. Field adalah unit terkecil dari data yang disimpan dalam basis data. Record adalah kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya. Ada 4 tipe field yang dapat disimpan, yaitu:

Primary key

Primary key adalah sebuah field yang nilai-nilainya

mengidentifikasikan satu dan hanya ada satu record pada sebuah data.

Secondary key

Secondary key adalah sebuah pengidentifikasi alternatif pada sebuah database. Nilai secondary key memungkinkan mengidentifikasi sebuah record tunggal (seperti pada sebuah primary key) atau sebuah subset dari semua record.

Foreign key

Foreign key merupakan pointer ke record-record dari sebuah file lain pada sebuah database. Foreign key memampukan sebuah database terhubung ke record dari satu tipe ke record-record dari tipe lain.

(31)

Descriptive field

Descriptive field adalah semua field lainnya (nonkey) yang menyimpan data bisnis.

2.12 MySQL

MySQL merupakan suatu Relational Database Management System (RDBMS) yang cepat dan kuat . (Welling & Thomson, PHP and MYSQL Web Development, 2008: 3). MySQL memungkinkan secara efisien menyimpan, mencari, mengurutkan dan mendapatkan data. MySQL menggunakan Structured Query Language (SQL) sebagai standar query basisdata.

Diantara kelebihan-kelebihan MySQL yaitu:

a) High Performance, MySQL mempunyai

performa yang cepat.

b) Low cost, MySQL tersedia tanpa biaya di bawah

lisensi open source atau dengan biaya rendah di bawah lisensi komersial jika mendistribusikan MySQL sebagai bagian dari aplikasi.

c) Ease of configuration and learning, MySQL

mudah untuk dikonfigurasi dan dipelajari karena menggunakan Structured Query Language (SQL) sebagai standar query basisdata.

d) Portability, MySQL dapat digunakan pada

banyak sistem Unix yang berbeda serta di bawah Microsoft Windows.

e) Availability of source code, kode sumber dari

(32)

f) Availability of support, MySQL memiliki perusahaan induk yang menawarkan dukungan, pelatihan, konsultasi, dan sertifikasi.

2.13 PHP

Pengertian PHP menurut (Welling & Thomson, PHP and MYSQL Web Development, 2008: 2) mengemukakan bahwa “PHP adalah server-side scripting language yang dirancang khusus untuk Web”. Source code PHP diinterpretasi pada server web dan akan dieksekusi setiap kali halaman diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Sistem kerja dari program ini adalah sebagai interpreter. Dikatakan sebagai bahasa interpreter, script mentahnya tidak harus diubah ke dalam bentuk source code. Sehingga pada saat menjalankan program, source code secara langsung akan dijalankan tanpa harus melalui proses pengubahan ke dalam bentuk source code.

Diantara kelebihan-kelebihan dari PHP:

a) Performance, PHP mempunyai performa yang

cepat.

b) Scalability, PHP dapat secara efektif dan murah

menerapkan skala horisontal dengan sejumlah komoditas server yang besar.

c) Database Integration, PHP memiliki native

(33)

PostgreSQL, Oracle, dbm, FilePro, DB2, Hyperwave, Informix, Interbase, dan database Sybase.

d) Built-in Libraries, karena PHP dirancang untuk

digunakan di Web, PHP memiliki banyak fungsi built-in untuk melakukan banyak tugas web yang terkait seperti menghasilkan gambar, terhubung ke layanan web dan layanan jaringan lainnya, parse XML, mengirim email, cookies, dan menghasilkan dokumen PDF.

e) Cost, PHP digunakan secara gratis.

f) Object-Oriented Support, PHP telah dirancang

dengan baik pada fitur berorientasi objek.

g) Portability, PHP tersedia untuk banyak sistem

operasi yang berbeda, seperti Linux, FreeBSD, Solaris dan IRIX, OS X, atau pada berbagai versi Microsoft Windows.

h) Flexibility of Development Approach, PHP

mudah beradaptasi dengan menerapkan aplikasi besar menggunakan framework berdasarkan pola desain seperti Model-View-Controller (MVC).

2.14 Lima Faktor Manusia Terukur

Dalam design antarmuka pengguna, Menurut (Ben Shneiderman, 2010: 16) perlu mempertimbangkan lima faktor manusia terukur yang terdiri atas:

1. Waktu belajar, berapa lama waktu yang diperlukan oleh orang awam dalam komunikasi pengguna untuk mempelajari cara relevan untuk melakukan suatu tugas.

(34)

2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk melakukan tugas.

3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahan apa saja yang dibuat pengguna.

4. Daya ingat, bagaimanakah kemampuan pengguna mempertahankan pengetahuannya setelah jangka waktu tertentu. Daya ingat berkaitan erat dengan waktu belajar dan frekuensi penggunaan.

5. Kepuasan subjektif, seberapa suka pengguna menggunakan variasi aspek dari suatu sistem.

Gambar

Gambar 2.1 Linier Process Flow
Gambar 2.2 Iterative Process Flow
Gambar 2.4 Parallel Process Flow  Planning Modelling Construction  Deployment Communication Time Communication Planning  Modelling  Construction Deployment
Gambar 2.5 Waterfall Model Pressman
+7

Referensi

Dokumen terkait

Dalam rangka memecahkan masalah seperti yang sudah dirumuskan pada perumusan masalah, maka diberikan penyuluhan dan pelatihan sebagai berikut: (1) pembekalan

Aktor / actor Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang dibuat itu sendiri, jadi

1) Kehilangan penjualan, ketika perusahaan tidak mampu memenuhi suatu pesanan maka ada nilai penjualan yang hilang bagi perusahaan.. 2) Kehilangan langganan,

Dengan ini saya menyatakan bahwa skripsi berjudul Pengaruh Penjarangan dan Pelebaran Jarak Naungan terhadap Keawetan Alami dan Sudut Mikrofibril Kayu Meranti Merah

Indeks pengungkapan digunakan untukmenentukan pengungkapan tanggung jawab sosial, perusahaan yang dijadikan sampel sebanyak 198 perusahaan selama tahun 2011-2013 dan dapat

Analisa studi eksisting dalam perancangan ini mengacu pada observasi yang telah dilakukan terhadap obyek yang diteliti, buku yang pernah dibuat oleh Museum serta

Peran penting yang dipegang Ridwan Kamil dalam keberhasilan program Bandung Smart City serta penggunaan Twitter sebagai media komunikasi dan kolaborasi dengan

Dalam upayanya menciptakan iklim yang aman dan mendukung wartawan, negara-negara harus memberikan kebebasan wartawan menjalankan tugas mereka secara independen, tanpa intervensi