LANDASAN TEORI
terdiri dari aktivitas (activity), tindakan (action) dan tugas (task) yang terjadi
a) Linier
deployment.
Deployment Construction
8
9
b) Iterative
selanjutnya.
Deployment
3. Evolutionary
lima kegiatan mengarah ke versi yang lebih lengkap dari perangkat lunak.
10
Planning Modelling
Communication
Deployment Construction
4. Parallel
Menjalankan satu atau lebih kegiatan secara paralel dengan kegiatan lain.
bersamaan.
Communication Planning
Time
Modelling
Construction Deployment
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
sistem adalah dengan model waterfall. Waterfall adalah model yang paling
populer dan model klasik dalam daur hidup pengembangan sistem yang bersifat
berikut:
1. Communication
ada dan tujuan yang akan dicapai. Selain itu dilakukan juga requirement
buku.
2. Planning
3. Modelling
4. Construction
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
13
Deployment Construction
Delivery Code
Support Testing
feedback
menggunakan model ini mudah dan ketika semua kebutuhan sistem dapat
software engineering dapat berjalan dengan baik tanpa masalah. Meskipun sering
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.
kami adalah saat perancangan, program akan stabil dan tidak ada perubahan saat
14
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
kemudian diulang-ulang.
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.
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
adalah:
1. Persamaan Penelitian:
gram.
2. Perbedaan Penelitian:
Winnowing.
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
16
cara ini, hanya ada satu perbandingan dari subsequence teks, dan Brute Force
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
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
3. Mencari nilai hash dari teks sumber dan kata yang ingin dicari
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
membandingkan nilai hash dari kata yang dicari dengan nilai hash teks
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
oleh spasi, jenis huruf kapital, tanda baca dan sebagainya, noise surpression yaitu
18
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
membuang seluruh karakter-karakter yang tidak relevan misal: tanda baca, spasi
dan juga karakter lain, sehingga nantinya hanya karakter-karakter yang berupa
2.4.1 Hashing
pengubahan inilah, maka tercipta penanda sebagai indeks untuk digunakan dalam
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
karakter per karakter pada nama-nama yang panjangnya bervariasi dan ada 26
Pencarian akan menjadi lebih efisien setelah di-hash karena hanya akan
yaitu suatu string pendek yang terdiri atas huruf dan angka yang terlihat acak
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
2.4.2 K-gram
(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
bungamelatidanmawar
dari text :
Keterangan :
k : banyak karakter
Rumus 2.2 Formula untuk mencari nilai hash ke-2 sampai ke-n
Dimana nilai ASCII masing-masing huruf adalah n=110, a=97, m=109, s=115.
Rumus 1:
22
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
kedua terdapat juga karakter pada kata pertama sehingga menggunakan rumus
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.
misal: tanda baca, spasi, dll. Misal: “nama saya bejo” akan diubah menjadi
namasayabejo.
Tahap kedua adalah pembentukan rangkaian gram dari teks yang telah
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
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
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
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
72 8 88 72
25
Similaritas (di,dj) =
Untuk menentukan jenis kesamaan antara dokumen yang diuji, ada 5 jenis
< 15% : Hasil uji 1-14% berarti kedua dokumen tersebut hanya
>50% : Hasil uji lebih dari 51-99% berarti dapat dikatakan bahwa
plagiat karena dari awal sampai akhir mempunyai isi yg sama persis.
26
Use case diagram menurut Whitten, Bentley, & Dittman (2007: 246)
ekternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa
yang akan menggunakan sistem dengan cara apa pengguna mengharapkan untuk
2.7.1 Karakteristik :
Use case diagram adalah interaksi atau dialog antara sistem dan actor,
Use case diagram diprakarsai oleh actor dan mungkin melibatkan peran
actor lain. Use case harus menyediakan nilai minimal kepada satu actor.
Use case diagram memiliki objek use case yang disebut skenario. Skenario
1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk
dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor
lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan
27
informasi inputan pada sistem, hanya menerima informasi dari sistem atau
berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor
digambarkan dengan stick man. Actor dapat digambarkan secara secara umum
relationship.
2. Use case
melengkapi satu tugas bisnis tunggal.” menurut (Whitten, Bentley, & Dittman,
actor.
Apa yang dikerjakan oleh suatu perangkat lunak bukan bagaimana cara
mengerjakannya
USE CASE
dan use case pada association terdiri dari anak panah yang
case diimitasi oleh pelaku di ujung lain dari garis. Garis penghubung
29
b) Extends, use case yang terdiri dari langkah yang diektraksi dari use
c) Uses (or Includes), jika ditemukan dua atau lebih use case yang
abstract use case. Hubungan diantara abstract use case dan use case
d) Depends On, sebuah relasi antara use case yang menunjukkan bahwa
satu use case tidak bisa dilakukan sampai use case yang lainnya
object class dapat diwariskan atau digunakan lagi oleh objek class
lainnya.
menjadi anggota.
Pemicu: Use case ini diawali saat pesanan baru
diserahkan.
Urutan Kejadian: User Sistem
Langkah 1:
Anggota club
menyediakan
informasi demografis
dan informasi
pembayaran dan
pemesanan.
Langkah 2:
Sistem merespons
dibutuhkan.
Langkah 4:
32
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
menggambar secara grafis aliran proses bisnis, langkah-langkah sebuah use case
(Whitten, Bentley, & Dittman, 2007: 390). Diagram ini sangat berguna untuk
menggunakan activity diagram digunakan memahami secara lebih baik aliran dan
proses.
Menurut Whitten, Bentley, & Dittman (2007: 659) sebuah UML diagram
a) Pada sequence diagram, kita menjumpai garis hidup objek. Garis hidup
mendeskripsikan tujuan dan input data yang sedang dikirim. Pesan pada
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
Primary key
35
data.
Secondary key
Foreign key
Descriptive field
2.12 MySQL
(RDBMS) yang cepat dan kuat . (Welling & Thomson, PHP and MYSQL Web
b) Low cost, MySQL tersedia tanpa biaya di bawah lisensi open source atau
d) Portability, MySQL dapat digunakan pada banyak sistem Unix yang berbeda
e) Availability of source code, kode sumber dari MySQL dapat diperoleh dan
dimodifikasi.
2.13 PHP
Pengertian PHP menurut (Welling & Thomson, PHP and MYSQL Web
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.
37
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.
b) Scalability, PHP dapat secara efektif dan murah menerapkan skala horisontal
memiliki banyak fungsi built-in untuk melakukan banyak tugas web yang
dokumen PDF.
berorientasi objek.
g) Portability, PHP tersedia untuk banyak sistem operasi yang berbeda, seperti
Microsoft Windows.
38
16) perlu mempertimbangkan lima faktor manusia terukur yang terdiri atas:
1. Waktu belajar, berapa lama waktu yang diperlukan oleh orang awam dalam
suatu tugas.
tugas.
3. Tingkat kesalahan, berapa banyak kesalahan dan kesalahan apa saja yang
dibuat pengguna.