METODE STRING MATCHING
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
METODE STRING MATCHING
SKRIPSI
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Oleh :
Syahrul Dani Sitorus
NPM : 0811335
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
MEDAN
2012
METODE STRING MATCHING
SKRIPSI
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Oleh :
Syahrul Dani Sitorus
NPM : 0811335
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
MEDAN
2012
METODE STRING MATCHING
SKRIPSI
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Oleh :
Syahrul Dani Sitorus
NPM : 0811335
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
METODE STRING MATCHING
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Yang Dipersiapkan dan Disusun Oleh :
SYAHRUL DANI SITORUS
NPM : 0811335
Telah Memenuhi Persyaratan Untuk Di Pertahankan
Di Depan Dewan Penguji Pada Sidang Meja Hijau
Medan,
Agustus 2012
Pembimbing I
Pembimbing II,
Mesran, S.Kom, M.Kom
Nelly Astuti Hasibuan, S.Kom, M.kom
NIDN : 0124087801
NIDN : 0111108401
Diketahui oleh
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan
METODE STRING MATCHING
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Yang Dipersiapkan dan Disusun Oleh :
SYAHRUL DANI SITORUS
NPM : 0811335
Telah Dipertahankan Di Depan Dewan Penguji Sidang Meja Hijau
Pada Tanggal Agustus 2012
Dan Dinyatakan Lulus dan Memenuhi Syarat Untuk Menjadi Skripsi
Medan,
Agustus 2012
Pembanding I,
Pembanding II,
Lambok Harry OA. Butarbutar, M.Kom
Indra M. Sarkis, S.T, M.Kom
NIDN : 0102048103
NIDN :
0123077601
Diketahui oleh
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Yang Dipersiapkan dan Disusun Oleh :
SYAHRUL DANI SITORUS
NPM : 0811335
Telah Dipertahankan Di Depan Dewan Penguji Sidang Meja Hijau
Pada Tanggal Agustus 2012
Dan Dinyatakan Lulus dan Memenuhi Syarat Untuk Menjadi Skripsi
Medan,
Agustus 2012
Pembanding I,
Pembanding II,
Lambok Harry OA. Butarbutar, M.Kom
Indra M. Sarkis, S.T, M.Kom
NIDN : 0102048103
NIDN :
0123077601
Diketahui oleh
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer Pada
Strata 1 Program Studi Teknik Informatika
Yang Dipersiapkan dan Disusun Oleh :
SYAHRUL DANI SITORUS
NPM : 0811335
Telah Dipertahankan Di Depan Dewan Penguji Sidang Meja Hijau
Pada Tanggal Agustus 2012
Dan Dinyatakan Lulus dan Memenuhi Syarat Untuk Menjadi Skripsi
Medan,
Agustus 2012
Pembanding I,
Pembanding II,
Lambok Harry OA. Butarbutar, M.Kom
Indra M. Sarkis, S.T, M.Kom
NIDN : 0102048103
NIDN :
0123077601
Diketahui oleh
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan
1
1.1 Latar Belakang Masalah
Pemanfaatan komputer telah memberikan efisiensi dan efektifitas dalam
pendistribusian data serta berbagi informasi sebagai contoh adalah bagaimana cara
memproses informasi secara cepat dan akurat serta dalam pengumpulan,
penyimpanan dan pengolahan informasi antara komputer terhadap
user
yang
bersifat sebagai
client
. Sehingga banyak dari kalangan masyarakat maupun
instansi pemerintah atau swasta memanfaatkan teknologi komputer sebagai alat
untuk mempercepat dan meningkatkan produktivitas kerja.
Namun pada kenyataanya penggunaan komputer secara tidak benar oleh
user
membuat dibutuhkannya suatu kendali yang dapat memantau dan mengawasi
aktifitas komputer yang dilakukan oleh
user
, kemungkinan-kemungkinan tersebut
seperti penyalahgunaan komputer untuk hal pribadi yang digunakan oleh
user
seperti membuka jejaring sosial,
chatting
, dan tindakan lain yang tidak berkenaan
dengan aktivitas yang seharusnya digunakan untuk hal-hal penting sehingga
menghambat produktivitas kerja. Disamping itu komputer sering juga disalah
gunakan oleh para remaja ataupun anak-anak yang berumur antara 10-16 tahun
dengan mengakses
internet
dari komputer pribadi dengan membuka situs-situs
yang dilarang.
hasil si
mpanan
ketukan
keyboard
yang telah disimpan dan dikirimkan
via email
tersebut .
Keylogger
dapat digunakan untuk kejahatan dan kebaikan, karena mencatat
segala aktivitas yang
user
lakukan di suatu komputer dan menyimpan semua
informasi kedalam
log file
. Bekerja dengan mendeteksi
signal keyboard
yang
user
tekan. Dengan adanya aplikasi ini, pengawas dapat memantau kegiatan yang
dilakukan oleh para
user
dan juga bagi para orang tua agar dapat memantau
kegiatan anaknya saat menggunakan internet dengan komputer pribadinya, dan
melihat situs apa saja yang telah diakses oleh anaknya tersebut melalui hasil
rekaman yang telah disimpan tersebut.
Keylogger
yang akan dirancang memiliki fasilitas
yang fungsinya
adalah mengirim setiap hasil simpanan dari ketukan
keyboard
ke
yang
sudah ditargetkan, didalam perancangan aplikasi
keylogger
ini, fasilitas
yang digunakan adalah dari
GMail
, karena dalam proses perancangannya
port
yang digunakan adalah
port
untuk
pada Gmail
Selain itu perangkat lunak ini juga dapat diterapkan pada lembaga
pendidikan yang sudah memiliki fasilitas internet, karena dapat membantu para
guru untuk memantau situs apa saja yang dibuka oleh para siswa pada saat jam
pelajaran berlanjut, dan jika salah satu siswa membuka situs yang tidak layak
dibuka, maka akan terekam di aplikasi
keylogger
melalui
signal keyboard
yang
ditekan, dan akan dikirim lewat
yang sudah ditargetkan dan dalam waktu
yang sudah ditentukan, sehingga semua tindakan para
user
atau siswa dapat
dipantau dari jarak jauh, tanpa harus memperhatikan satu per satu
user
tersebut
.
Metode yang digunakan dalam perancangan aplikasi
keylogger
tersebut
adalah metode string matching, metode string matching adalah suatu algoritma
yang digunakan untuk memecahkan masalah pencocokan suatu teks terhadap
suatu teks lain pada perekaman yang dilakukan aplikasi
keylogger
.
LOGGER UNTUK MEMANTAU AKTIVITAS USER PADA KOMPUTER
MENERAPKAN METODE STRING MATCHING .
1.2 Rumusan Masalah
Adapun masalah yang akan di angkat, di bahas, dan di selesaikan adalah
sebagai berikut :
1. Bagaimana proses pemantauan terhadap aktivitas
user
?
2. Bagaimana proses pengiriman
hasil simpanan ketukan
keyboard
yang
akan dikirim melalui
Gmail yang ditargetkan?
3. Bagaimana menerapkan metode string matching pada aplikasi
keylogger
?
1.3 Batasan Masalah
Agar tidak melebar dari pokok pembahasan maka masalah dibatasin sebagai
berikut :
1. Hanya dapat digunakan di OS
Windows XP
,
Windows
7,
Windows
8.
2. Hanya dapat menyimpan data ketikan.
3. Hanya dapat mengirim hasil simpanan dari ketukan
keyboard
dengan
menggunakan
email Gmail
.
4. Dapat menyimpan hasil ketikan
on screen keyboard
yang ada dalam
system
windows
.
5. Pembuatan
design
dan
coding program
menggunakan bahasa pemrograman
Visual Basic
.
NET
2008.
1.4 Tujuan Dan Manfaat
Dari hasi penelitian yang dilakukan, adapun tujuan yang ingin dicapai dalam
merancang aplikasi ini yaitu :
1. Untuk mengetahui cara kerja dari suatu proses pemantauan terhadap aktivitas
user
.
3. Untuk mengetahui bagaimana cara kerja metode string matching dengan
mencocokan variable string inputan dari
keyboard
yang ditekan sesuai yang
ditangkap dari sinyal-sinyal keyboard yang ditekan .
Manfaat yang dapat diperoleh adalah :
1. Mempermudah pengawasan terhadap aktivitas
user
dengan cara menyimpan
hasil ketukan
keyboard
yang telah diambil dan dikirim melalui
.
2. Dapat mengetahui siapa yang menggunakan komputer atau laptop pribadi
user
jika digunakan oleh orang lain dengan melihat hasil simpanan ketukan
keyboard
.
3. Bagi
user
yang berselancar didunia maya dan melupakan
password
pada situs
yang baru saja didaftarkan maka
password
tersebut akan tersimpan didalam
keylogger
.
1.5 Metode Penelitian
Metodologi penelitian yang digunakan dalam pengumpulan data adalah
sebagai berikut :
1. Studi
literature
, merupakan uraian tentang teori, temuan dan bahan penelitian
lain yang diperoleh dari bahan acuan untuk dijadikan landasan kegiatan
penelitian. Sehingga jelas penyelesaian permasalahan yang diuraikan
sebelumnya pada perumusan masalah.
2.
Menganalisis data, yaitu melakukan evaluasi terhadap teknik dalam
penyelesaian data yang nantinya dapat dikoordinasikan dengan perancangan
aplikasi tersebut.
3.
Perancangan, tahap penerjemahan dari data yang dianalisis ke dalam bentuk
yang mudah dimengerti oleh
user
.
4.
Pengujian, merupakan hasil pembuktian pekerjaan merancang aplikasi tersebut.
5.
Implementasi, merupakan pengujian terhadap perangkat lunak yang dirancang.
1.6 Sistematika Penulisan
BAB I
:PENDAHULUAN
Merupakan uraian umum yang memuat latar belakang masalah,
rumusan masalah, batasan masalah,manfaat dan tujuan, metodologi
penulisan dan sistematika penulisan.
BAB II :LANDASAN TEORI
Berisi mengenai konsep teoristis dari aplikasi
keylogger
metode yang
diterapkan dan perancangan aplikasi
keylogger
dengan menggunakan
tools Visual Basic Net
2008.
BAB III : ANALISA DAN PERANCANGAN
Pada bab ini akan dianalisa tentang bagaimana aplikasi
keylogger
tersebut dibuat dalam perancangannya.
BAB IV :ALGORITMA DAN IMPLEMENTASI
Bab ini berisi laporan pengujian terhadap modul program
keylogger
.
BAB V
:KESIMPULAN DAN SARAN
6
r
u
er
ng
t l
k
l
h kum
pul
n
! !r
"perint
h y
ng dieksekusi oleh
m
esin kom
puter
l
m
m
enj
l
n eksekusiny
#!
nurut
Rosa A.S dan M. Salahudin dalam buku Rekayasa Perangkat
Lunak, 2011, perangkat lunak adalah program komputer yang terasosiasi dengan
dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain dan
cara penggunaan.
$
y
% &' '&(
eystroke Logger
atau yang lebih dikenal dengan
keylogger
merupakan
sebuah perangkat, baik perangkat keras atau perangkat lunak yang digunakan
untuk memantau penekanan tombol
keyboard
yang ditangkap oleh sinyal-sinyal
keyboard
yang ditekan. Aplikasi
keylogger
menggunakan mekanisme mengaitkan
misalnya,
SetWindowsHookEx
untuk menangkap sinyal keyboard yang ditekan
hasil rekamanan tersebut biasanya akan menyimpan hasil pemantauan penekanan
tombol
keyboard
tersebut ke dalam sebuah berkas
log, catatan atau rekaman. Hasil
rekaman tersebut kemudian akan dikirim kepada orang yang membutuhkan
data-data tersebut melalui berbagai media, diantaranya disimpan dalam bentuk
notepad
dan dapat juga langsung di kirim melalui
yang telah di tentukan,
yang
digunakan untuk mengirim hasil simpanan ketukan
keyboard
tersebut
menggunakan
dari
Gmail
yang telah ditargetkan dengan waktu yang sudah
ditentukan.
terekam didalam aplikasi
keylogger.
(Wardana, R, S. Hut, (2006),
Pemrograman
Virus & Spyware
)
)*)*+
Jenis-Jenis Keylogger
1.
Keylogger
Berbasis Perangkat Lunak (
Software
)
Cara kerja
keylogger
berbasis perangkat lunak ini adalah dengan merekam
ketukan
keyboard
melalui suatu program aplikasi yang dirancang, cara kerjanya
adalah dengan menggunakan beberapa fungsi
Application Program Interface
(API) yang dikenal dalam bahasa pemrograman dan proses lainnya yang
fungsinya untuk memanggil beberapa perintah yang ada pada sistem yang dapat
dimengerti oleh
Operating System
(OS). Cara kerjanya adalah sebagai berikut:
1
. GetKeyState
Berfungsi untuk mendapatkan tombol
keyboard
apa yang sedang di ketuk.
Untuk menggunakan fungsi ini program membutuhkan timer atau
looping
untuk memonitor tombol yang digunakan secara berkelanjutan. Parameter yang
digunakan pada fungsi ini berupa nilai
ascii.
2.
GetAsyncKeyState
Hampir sama dengan fungsi
GetKeyState
, Bedanya dengan fungsi
GetAsyncKeyState
, fungsi nya tidak memerlukan konstanta
key_prossed.
3.
Kernel-based
Merupakan suatu perangkat lunak yang menjadi bagian utama didalam OS.
Kernel
bertugas untuk melayani bermacam-macam program aplikasi untuk
mengakses perangkat keras pada komputer. Dengan memanfaatkan proses
kernel
ini memungkinkan
keylogger
sulit dideteksi terutama para pengguna
awam, karena dapat merubah kernel system operasi, sehingga dapat memproses
perangkat keras tanpa izin. Contohnya adalah pada saat
keylogger
beroperasi,
maka sebuah informasi yang diketikan pada
keyboard
dapat diketahui.
4.
Hypervisior-based.
dirancang dengan cara ini secara teori berada pada
malware hypervisior
dimana
keylogger
tersebut bekerja dibawah sistem operasi.
5.
Form Grabber based
Teknik ini bekerja pada
web form
dengan cara merekam fungsi
on Submit
pada
web browser. Perekaman informasi dilakukan sebelum data di kirim melalui
internet.
6
Low Level Keyboard Hook ( SetWindowsHookEx )
Teknik ini menggunakan perintah
SetWindowsHookEx
dengan
WH_Key-Board_LL sebagai parameter untuk membuat
Low Level Keyboard Hook,
yang
fungsinya untuk mendapatkan akses kendali sendiri (access-control list)
didalam.
sumber:(http://dhanung.wordpress.com/2012/01/24/key-logger-tool-pencuri
informasi, tanggal akses 18 April 2012).
Pengaksesan data yang terdapat pada
keylogger
berbasis perangkat lunak
adalah sebagai berikut :
1. Data disimpan kedalam
log
atau catatan menggunakan aplikasi
notepad
di
dalam komputer target.
2. Data ditransmisikan melalui sebuah perangkat keras yang disiapkan.
3. Data dikirim melalui
secara berkala.
2.
Keylogger
Berbasis Perangkat Keras (
Hardware)
Cara kerja
keylogger
berbasis perangkat keras ini adalah
dengan cara
penyambungan kabel yang di sambungkan pada penyambung
keyboard
. Jenis dari
keylogger
ini adalah
keylogger
yang sudah terintegrasi di dalam keyboard. Data
rekaman disimpan dalam memory pada
Electrically Erasable Programmable
Read Only Memory
(EEPROM). Jenis lainnya yaitu
keylogger
yang terintegrasi
dengan
motherboard
, tepatnya berupa
firmware
di
BIOS
, keylogger berbasis
perangkat keras ini tidak memiliki ketergantungan terhadap aplikasi atau
software
yang terinstal di komputer
.
Merupakan rangkaian perangkat keras yang dibutuhkan untuk melakukan
proses perekaman
keyboard
yang dipasang antara
keyboard
dan komputer, alat
tersebut biasanya dipasang bersamaan dengan konektor kabel
keyboard. Tetapi
ada juga yang dipasang kedalam
keyboard
tersebut sehingga alat tersebut tidak
terlihat. Hasil ketukan dari alat tersebut akan disimpan kedalam memori
internal yang sewaktu-waktu dapat diakses,
kapasitas menyimpan data sampai
dengan 2
Gigabyte
. Jenis
keylogger hardware
ini dapat menampilkan
menu teks
dengan banyak pilihan untuk menganalisis data yang berhasil dicatat Selain itu,
keylogger
ini termasuk salah satu yang cepat dalam mengambil data
login
.
Keystroke
logger
ini benar-benar transparan untuk di operasikan didalam komputer, dan
diperlukan
software
atau
driver
dalam peng
instalan
nya
.
Gambar 2.1 KeyGrabber
PS/2
sumber :( http://manik.web.id/hardware-keylogger-yang-menakutkan.html,
tan ggal
akses 18 April 2012)
2.
Wireless Keylogger Sniffers
Alat yang digunakan untuk melakukan pengumpulan paket-paket data antara
keyboard wireless
dengan alat penerimanya
(receiver).
Gambar 2.2
KeyGrabber Wireless
3.
Firmware-based
BIOS-level firmware
yang bertugas menangani
event
pada
keyboard, setelah
dimodifikasi maka dapat merekam proses atau event yang terjadi pada
keyboard. Pada metode ini diperlukan akses root untuk dapat mengakses
perangkat lunak yang dibutuhkan oleh BIOS agar dapat mengakses perangkat
keras yang sedang berjalan.
4.
Keyboard overlay
Tombol palsu yang diletakkan diatas tombol yang sebenarnya, sehingga apabila
tombol asli ditekan maka tombol palsu juga akan ikut tertekan dan secara
otomatis semua hasil ketukan pada tombol asli akan sama pada tombol palsu.
sumber:(
http://manik.web.id/hardware-keylogger-yang-menakutkan.html
,
tanggal akses 18 April 2012).
2.3. User
User adalah seorang pengguna atau lebih yang berhubungan dengan
antarmuka sistem teknologi yang fungsinya untuk salah satunya adalah komputer
1.
Tingkatan User
1. Administrator
Merupakan tingkatan
user
yang tertinggi yang mempunyai akses kesemua
fitur yang ada di
keylogger
2. User biasa
Merupakan
user
yang hanya sebagai pengguna sistem atau aplikasi yang
dibuat.
sumber:(http://shendnightvision.wordpress.com/2011/02/12/pengertian-user-serta-cara-membuat-sekaligus-menggunakannya/
tanggal akses 15 Juni 2012)
2.4 Komputer
melakukan pengolahan data informasi yang berupa teks, gambar maupun suara
untuk menghasilkan output yang kita kehendaki.
Menurut Hamacher komputer adalah mesin penghitung elektronik yang
cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai
dengan program yang tersimpan di memorinya dan menghasilkan output berupa
informasi
Menurut Blissmer komputer adalah suatu alat elektronik yang mampu
melakukan beberapa tugas sebagai berikut: menerima input, memproses input tadi
sesuai dengan programnya, menyimpan perintah-perintah dan hasil dari
pengolahan, serta menyediakan output dalam bentuk informasi
Menurut Fuori komputer adalah suatu pemroses data yang dapat melakukan
perhitungan besar secara cepat, termasuk perhitungan aritmatika dan operasi
logika tanpa campur tangan manusia.
Menurut Elias M.Awad komputer adalah alat hitung yang memproses data
yang disajikan dalam bentuk data disket (digital) dan data kontinyu (analog).
Menurut Larry Long dan Nancy Long komputer adalah alat hitung
elektronik yang mampu menginterpretasikan dan melaksanakan perintah-perintah
terprogram untuk input, output, perhitungan, dan operasi-operasi logic
Menurut Robert H. Blissmer komputer adalah alat elektronik yang mampu
melaksanakan tugas antara lain menerima input, memproses input sesuai dengan
programnya, menyimpan perintah-perintah dan hasil pengolahan, menyediakan
output dalam bentuk informasi.
Menurut Donald H. Sanders komputer adalah sistem elektronik untuk
memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan.
supaya secara otomatis menerima dan menyimpan data input, memprosesnya dan
menghasilkan output, belerjanya dikendalikan oleh program yang tersimpan di
dalam penyimpanannya dan program tersebut dikenal dengan nama sistem
operasi.
2.5
Elektronik Mail
disingkat
atau surat elektronik adalah sarana kirim
mengirim surat melalui jalur internet. Dengan surat biasa umumnya pengirim
perlu membayar per pengiriman dengan membeli perangko, tetapi surat elektronik
umumnya biaya yang dikeluarkan adalah biaya untuk membayar sambungan
Internet. Tapi ada perkecualian misalnya surat elektronik ke telepon genggam
kadang pembayarannya ditagih per pengiriman. Dalam pengiriman
maka
harus memiliki protokol yang digunakan untuk mengirimkan pesan
yang
bernama SMTP (Simple Mail Transfer Protocol) agar dapat diteruskan ke
server
tujuan. SMTP yang digunakan untuk pengiriman
tersebut adalah
SMTP dari
Gmail
yaitu smtp.gmail.com dan nomor port yang digunakan dalam
pengiriman
Gmail tersebut adalah 587.
Mail-server
tujuan ini bisa dianalogikan sebagai kotak pos di pagar depan
rumah kita, atau kotak PO BOX di kantor pos.
Email-email
yang terkirim akan
tersimpan di kotak pos tersebut hingga si pemiliknya mengambilnya. Urusan
pengambilan email
tersebut tergantung kapan di penerima memeriksa account
emailnya.
sumber: (
http://techscape.co.id/hosting/smtp.ts
, tanggal akses 14 Juli 2012)
.
2.6
Metode string matching
Metode string matching adalah suatu algoritma yang digunakan untuk
memecahkan masalah pencocokan suatu teks terhadap suatu teks lain. cara
kerjanya adalah dengan mencocokan variable string inputan dari
keyboard
yang
ditekan sesuai yang ditangkap dari sinyal-sinyal keyboard yang ditekan
sumber:(
http://id.wikipedia.org/wiki/Algoritma_pencarian_string
, tanggal akses 13
Agustus 2012)
2.7 Perancangan Perangkat Lunak
perangkat lunak adalah proses menciptakan obyek baru yang bila dieksekusi akan
memberikan fungsi sesuai yang diinginkan dan mempertimbangkan faktor biaya.
Menurut Asep Juarna, perancangan perangkat lunak adalah disiplin
manajerial dan teknis yang berkaitan dengan pembuatan dan pemeliharaan produk
perangkat lunak secara sistematis. Termasuk pengembangan dan modifikasinya,
yang dilakukan pada waktu yang tepat dan dengan mempertimbangkan faktor
biaya.
Jadi definisi perancangan perangkat lunak adalah proses pembuatan obyek
baru yang memiliki fungsi atau perintah yang diinginkan didalam komputer
termasuk pengembangan modifikasinya dengan mempertimbangkan waktu yang
tepat dan faktor biaya.
sumber:(http://staffsite.gunadarma.ac.id/ajuarna/index.php?stateid=download&id=4927&
part=files, tanggal akses 18 April 2012)
2.8 Unified Modeling Language (UML)
UML
(Unified Modeling Language)
adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan
software
berbasis OO
(Object-Oriented), UML sendiri juga memberikan standar penulisan sebuah
sistem
blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam
bahasa program yang spesifik, skema
database, dan komponen-komponen yang
diperlukan dalam sistem
software.
UML
adalah salah satu tool / model untuk
merancang pengembangan
software
yang berbasis
object oriented.
UML
tidak hanya merupakan sebuah bahasa pemograman visual saja,
namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman,
seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke
dalam sebuah
object-oriented database. Begitu juga mengenai pendokumentasian
dapat dilakukan seperti;
requirements, arsitektur,
design,
source code, project
plan,
tests, dan
prototypes.
sumber:(http://hasmapsa.staff.gunadarma.ac.id/Downloads/files/19614/Mg+8+U
ML.pdf, tanggal akses 14 Juni)
Tabel 2.4 Beberapa pengklasifikasi (Clasifier)
Pengklasifikasi
Kegunaan
Notasi
Actor
Menggambarkan semua objek di luar
sistem (bukan hanya pengguna sistem
atau perangkat lunak) yang berinteraksi
dengan sistem yang dikembangkan.
Mahasiswa
Use Case
Mengembangkan fungsional yang
Tabel Lanjutan 2.4 Beberapa pengklasifikasi (Clasifier)
Pengklasifikasi
Kegunaan
Notasi
Simpul
(node)
Menggambarkan
sumber
daya
komputasional yang digunakan oleh
sistem
sumber : (Adi Nugroho, 2010, chap.1)
Kaidah-kaidah yang dapat digunakan untuk melakukan
transformasi
dari
diagram-diagram UML ke bahasa-bahasa pemograman berorientasi tertentu, kelas-kelas
implementasi sesungguhnya menangkap bentuk langsung suatu kelas yang diperlukan
oleh bahasa pemograman berorientasi objek yang dipilih. Berikut tabel relasi-relasi dalam
UML.
Tabel 2.5 Relasi-relasi dalam UML
Relasi
Fungsi
Notasi
Asosiasi
(Association)
Mendeklarasikan hubungan antar
suatu kelas
instance
Kebergantungan
(dependency)
Relasi antar dua elemen model
Aliran
(flow)
Relasi antar dua versi suatu objek
Generalisasi
(Generalization)
Relasi antar pengklasifikasi yang memiliki
deskripsi yang bersifat lebih umum dengan
berbagai pengklasifikasi yang lebih
spesifik, digunakan dalam struktur
pewarisan
Relasasi
(relazation)
Relasi antar spesifikasi dan implementasi
Penggunaan
(usage)
Situasi dimana salah satu elemen
membutuhkan elemen yang lain agar dapat
berfungsi dengan baik
sumber : (Adi Nugroho, 2010, chap.1)
2.8.1 Jenis-Jenis UML
Jenis-jenis UML di definisikan sebagai berikut:
1.
Use Case Diagram
Use Case diagram adalah gambar dari beberapa atau seluruh aktor dan use case
dengan tujuan mengenali interaksi mereka dalam suatu sistem. Oleh karena itu,
use case diagram dapat membantu menganalisa kebutuhan suatu sistem. Dalam
use case diagram terdapat istilah seperti aktor, use case dan use case
relationship.
2. Kelas Diagram
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan
hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap
attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan
kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah
kelas diagram tanpa stereotype.
3.
State Diagram
State diagram
menggambarkan urutan keadaan yang dilalui object dalam suatu
kelas, karena suatu kejadian menyebabkan suatu perpindahan aktivitas/state.
State dari objek adalah penggolongan dari satu atau lebih nilai
attribute
pada
kelas.
4.
Activity Diagram
Activity Diagram
berupa
flow chart
yang digunakan untuk memperlihatkan
aliran kerja dari sistem. Notasi yang digunakan dalam
activity diagram
adalah
sebagai berikut:
a.
Activity
Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran
pekerjaan.
b.
Transition
Notasi yang digunakan untuk memperlihatkan jalan aliran kontrol dari
activity
ke
activity.
c.
Decision
Notasi yang menandakan kontrol cabang aliran berdasarkan
decision point.
d. Synchronization Bars
Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat
diselesaikan secara bersamaan (pararel)
5.
Sequence Diagram
demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai
dengan
use case diagram.
6.
Collaboration Diagram
Collaboration
adalah cara alternatif untuk mengetahui tahap-tahap terjadinya
suatu aktivitas. Perbedaan antara
collaboration
dan
sequence diagram
adalah
collaboration
diagram memperlihatkan bagaimana hubungan antara beberapa
objek, sedangkan yang kedua
sequence
diagram memperlihatkan bagaimana
urutan kejadian
7
Component Diagram
Component diagram
berfungsi untuk menggambarkan komponen run-time dan
executable
yang dibuat untuk sistem. Komponen saling berelasi menggunakan
depedecy relation
(Hubungan ketergantungan, yang ditandai dengan garis
putus-putus). Komponen
run-time
memperlihatkan pengelompokan kelas untuk
run-time
library seperti Java Applet,
Active-X Component
dan
Dynamic
Libraries. Komponen
executable
memperlihatkan
interface
dan memanggil
dependencies beberapa
executable.
Interface
kelas diperlihatkan seperti
lollypop.
8
Deployment Diagram
Deployment
Diagram memperlihatkan konfigurasi pada jalannya proses
run-time elements
dan proses
software
yang ada pada diagram.
Run-time elements
menggambarkan node yang berkoneksi menandakan adanya komunikasi
diantaranya. Diagram ini membantu tim untuk mengerti sistem
topology
sumber:(
http://rinaugm.blog.ugm.ac.id/2010/04/23/uml-unified-modellinglang
uage/, tanggal akses 19 Juni 2012).
2.9
Visual Studio .NET
2.9.1 .NET
modul-modul baru yang konsisten, terlepas dari jenis bahasa pemrograman yang
digunakan.
.NET
Platform
menyediakan hal-hal berikut bagi para
developer
:
1.
Language
independent, dengan programming model yang konsisten di semua
aplikasi yang dibangun.
2.
Interoperability
dan kompatibilitas antar aplikasi.
3. Kemudahan migrasi dari teknologi yang ada saat ini.
4. Dukungan penuh terhadap berbagai teknologi standar yang digunakan dalam
platform internet, antara lain HTTP, XML, SOAP dan HTML.
Teknologi inti .NET secara umum terdiri dari 4 area pokok :
1. .NET Framework
.NET
Framework
adalah teknologi inti yang menyediakan berbagai library
untuk digunakan oleh aplikasi di atasnya. Komponen inti .NET
Framework
adalah
Common Language Runtime
(CLR)
yang menyediakan run time
environment untuk aplikasi yang dibangun menggunakan Visual Studio .NET,
terlepas dari jenis bahasa pemrogramannya.
Gambar 2.6 .NET Framework
sumber :( http://www.ilmukomputer.org/wpcontent/uploads/2006/09/choirul-vbnet
01.zip, tanggal akses 18 April 2012)
mensupport .NET mengakses
library
yang sama di dalam .NET
Framework,
dengan
object model
yang konsisten, dengan
run time file
yang sama.
Bagi programmer VB6, tentu mengetahui bahwa diperlukan distribusi
run time
library
khusus ketika menginstal
aplikasi. Demikian pula ketika anda
menginstal
aplikasi yang dibangun dengan
visual C++
maupun
Delphi. Dalam
dunia .NET, hal tersebut sudah tidak diperlukan lagi, selama .NET
Framework
telah terinstal di komputer sasaran.
2) .NET Building Block Services
Building block
merupakan sekumpulan
services
yang bersifat programmable,
yang dapat diakses secara
offline
maupun
online.
Service
tersebut merupakan
modul-modul yang terdapat di suatu komputer,
server
dalam jaringan, maupun
di suatu
server
di
internet.
Service
ini merupakan suatu idealisasi di masa depan, dimana sebuah aplikasi
bersifat terdistribusi dengan modul-modul yang tersimpan di berbagai tempat,
tetapi dapat diintegrasikan membentuk suatu aplikasi. Konsep ini merupakan
arah pengembangan
subscription based software, yang saat ini mulai banyak
berkembang dan dikenal sebagai
Application Service Provider.
Service
tersebut dapat diakses oleh berbagai
platform, asalkan
platform
tersebut mendukung protokol SOAP, yang merupakan protokol standar dalam
mengakses web service. Peranan XML sebagai media definisi data menjadi
sangat penting dalam hal ini, dan XML juga menjadi pusat perubahan besar
dalam
platform
.NET. Dalam pelajaran selanjutnya,
user
akan melihat bahwa
semua data dalam .NET selalu direpresentasikan dalam bentuk XML.
3. Visual Studio .NET
layaknya
windows programming. Pemrograman
web
menjadi lebih mudah dan
menyenangkan bagi para
programmer windows, sedangkan anda para veteran
scripting language
sudah saatnya untuk beralih ke ASP.NET, yang dapat
diprogram menggunakan
VB, C#, C++
maupun
Phyton
dan
COBOL
sekalipun.
Microsoft
masih menyediakan
Jscript.NET bagi pengguna
JavaScript
dan
JScript, sedangkan versi .Net dari
VBScript
belum diketahui apakah akan
disediakan atau tidak.
2.9.2 Microsoft Visual Basic.Net
BASIC, adalah singkatan dari
Beginners All-purpose Symbolic Instruction
Code
adalah sebuah kelompok bahasa pemrograman tingkat tinggi. Secara harfiah,
BASIC memiliki arti kode instruksi simbolis semua tujuan yang dapat digunakan
oleh para pemula. Memang, istilah bahasa BASIC di sini juga bisa diartikan
menjadi bahasa untuk pemula, atau dengan kata lain, disebut sebagai bahasa dasar,
tapi hal tersebut dirasa kurang tepat, mengingat BASIC dapat juga digunakan oleh
para pemrogram ahli. BASIC pertama kali dikembangkan pada tahun 1963 oleh
John George Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmouth
Collage, untuk mengizinkan akses terhadap komputer bagi para mahasiswa
jurusan selain jurusan ilmu
eksakta.
Pada zaman itu, hampir semua komputer membutuhkan perangkat lunak,
dan waktu itu belum ada perangkat lunak yang dijual secara bebas, sehingga
hanya orang-orang tertentulah yang dapat menggunakan komputer, yakni para
matematikawan dan ilmuwan, karena mereka dapat membangun perangkat lunak
sendiri. bahasa BASIC, setelah diciptakan menjadi menjamur dan banyak
dimodifikasi. bahasa basic menjadi bahasa yang paling popular digunakan pada
komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun
1980-an. Dan hingga saat ini, menjadi bahasa yang beberapa kali berevolusi.
Perkembangan berikutnya ialah diluncurkannya BASICA
(Basic-Advanced) untuk DOS. Setelah BASICA,
Microsoft
meluncurkan
Microsoft
QuickBasic
dan
Microsoft
BASIC (dikenal juga sebagai Basic Compiler). Sejarah
basic
di tangan Microsoft sebagai bahasa yang
diinterpretasi
(BASICA) dan juga
bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan
sebagai gabungan keduanya.
Programmer yang menggunakan Visual Basic bisa memilih kode
terkompilasi atau kode yang harus diinterpretasi sebagai hasil executable dari
kode VB. Sayangnya, meskipun sudah terkompilasi jadi bahasa mesin, DLL
bernama MSVBVMxx.DLL tetap dibutuhkan. Namun karakteristik bahasa
terkompilasi tetap muncul.
Microsoft
Visual Basic (sering disingkat sebagai VB saja) merupakan
sebuah bahasa pemrograman yang bersifat event driven dan menawarkan
Integrated Development Environment
(IDE)
visual
untuk membuat program
aplikasi berbasis sistem operasi
Microsoft Windows
dengan menggunakan model
pemrograman
Common Object Model
(COM). Visual Basic merupakan turunan
bahasa
BASIC
dan menawarkan pengembangan aplikasi komputer berbasis grafik
dengan cepat, akses ke basis data menggunakan
Data Access Objects
(DAO),
Remote Data Objects
(RDO), atau
ActiveX Data Object
(ADO), serta menawarkan
pembuatan kontrol
ActiveX
dan objek
ActiveX. Beberapa bahasa skrip seperti
Visual Basic
for Applications
(VBA) dan Visual Basic
Scripting Edition
(VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda.
Gambar 2.7 Visual Basic. Net 2008
sumber: (
http://www. ilmukomputer.
org/wpcontent/uploads/2006/09/choirul-vbnet 01.zip
,
tanggal akses 18 April 2012)
Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar
yang sangat luas. Dalam sebuah
survey
yang dilakukan pada tahun 2005, 62%
pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual
Basic, yang diikuti oleh
C++,
Java Script,
C#, dan
Java.
Visual Basic merupakan bahasa yang mendukung
Object Oriented
Programming
(OOP), namun tidak sepenuhnya. Beberapa karakteristik objek
tidak dapat dilakukan pada
Visual Basic, seperti
Inheritance
tidak dapat dilakukan
pada
class module.
Polymorphism
secara terbatas bisa dilakukan dengan mendeklarasikan
class module
yang
memiliki
Interface
tertentu. Visual Basic (VB) tidak bersifat case sensitive.
Namun seiring berkembangnya zaman
Visual Basic
semakin dikembangkan
dengan penambahan tools dan penambahan bahasa pemrograman yang lain
didalam
software visual studio net
ini
:;< => ?@A B ?
A
CDE FGHE IJK LM NOIJ POQQJ N GRGS IJ KPOQQ J N TE UGVW GVX Y ZVXXSV GFGV [G\GH GCZY]XUGY GV ^E H SGD
B
GH E W. NE
_ `GVX YZU SC GFG V ZTEHE F\ SHSH TGUE ^E H SGDB
GHEW`GV X TE[SGR ]DZ\ CZUS H G\ GGV
M
EWU]H]aR. P
U]H ZH CZU GVWGVXGV IJKPOQ QJN E VEY ZY E DE FE RG\ GCGV
-
R G\ GCG Vb [GX GEYGVG W GU G C ZV`EYCGVGV \ GHE D FZRSFGV I JKcOdNeTGV[GXGE Y GV GWGUGCZV`EYCGVGVFZTGD GY[ ZVRSFfOMJgd eTGVTE FE UE YFZJhdi P
.
:;<;<=> ?@A B ?jABklm
A
VGDE H GHE H RZY TETZaEVE HEFGV HZ[ GXGE C ZVXSU GE GV TGUE HE H R ZY EVa]UYGHE `G VXSRS\ FZTGDGY [GXE G V
-
[GXEGV F]YC]VZVV`G TZVX GV YGFH ST SVRSFY ZVXETZVRE aE FGHE Y GHGDG\b \ GY [GR GV `G VX R ZUnGTE H Z\EVXX G TGC GR TESH SDFGV
FZ[SRS\ GV
-
FZ[SRS\ GV `G VX HZH SGE SVRSF CU]HZH CZU [GE F GVV`G.
_G\ GC GVGDE H GY ZU SCGFGV RG\GC`G VX C GDEVX FUE RE HTGVH GVXGR C ZVREVX
,
FGU ZVG FZH GDG\ GV TERG\ GCE VE GFGV Y ZV`Z[ G[FGV nSXG FZH GDG\ GV TERG\ GC H ZDGVnSRV`G
.
_SX GH SRGYG TGUEY ZVX GVGDEH G HE H R ZY `GER S Y ZVZVRSFGV DEVXFSC HE H R ZY
,
YZVXSYCSDFG V aGFR G[ZUTGH GUFGV][H ZUoGHE`G VXRZD G\TEDGFSF GVTGVYZVX GVGDE H Ga GFR G
.
:;<;p=> ?@A B ?q?B ?@?r
P
ZY GVaGGR GVF]YCSRZU
R ZD G\ YZY[ZUEFGV ZaE HE Z VHE TGV ZaZFRE aE R GH TGD GY
CZVTE H RUE[SHEGVTGR GHZU RG[ZU [GXE
E Va]UY GHE
H Z[GX GE
W]VR]\
GTGD G\[GX GEYG VGWGU G
Y ZYCU]H ZH E Va]UYGHE
H ZWGUG WZCGR TGV GFSUGR H ZUR G TGDGY CZVXS Y CSDGV
,
CZV`E Y CGV GV TG V CZVX]DG\ GV E Va]UYGHE GVRGUG F]YCSRZU RZU\GTGC sLJ N `GVX
[ZUHEaGR HZ[GXGE tPi JfM
.
uZ\EVXX G [GV`G F TGUE FGD GVXGV Y GH`GU GFGR YGSCSVE VH R GVHE CZYZUEVRG\ GRGS H v GH RG YZY GVaGGR FGV RZFV]D]XE F]Y CSR ZU H Z[GXGE GD GR
SVRSFYZY CZU WZC GRTGVYZVE VXFGRF G VCU]TSFREoE R GHFZUnG
.
N
GYSV TEFGDGVX GV GVG F-
GVGF UZYGnG `G VX Y ZY E DEFE F]YCSRZU CUE [GTETE FGYGUV`G RZU FGTGV X nSXG CZUV G\ YZVXGFHZH H E R SH TZv GH G
,
H Z\EVXX G Y ZY[SGRyz{| z} ~ { z z y} } ~ z { } y }}
.
} y z}~ y y z{z y
,
| z{ } y | {~{ | } ~ | y z } y y y {
,
z}~~ |y z } y | z}~ z }| {z|z} ~}{ { } ~
.
F
y {-
y { } ~ } z} ~ | } z} ~} | z {z }} { } ~ {z } |} z z { } } | y
{ z y ¡ } ~ y{ y | z} ~{ }}
,
z ~} y } ~{ { { |z{z} z ~~ z{ z} ~} z} ~~ } }
¢ £
B
z{ y } z}yz} y} ~ ¢ £ |~ { y¤1.
¥ z } y } } y z}~ y}}
.
G
¦§¨¦ ©3.1
¦ ª«¬ ¬«®¯¬¦ °©¦§ª¦ ©¦±²©³ ¦±²®´ µ°°²©2. P
Á ÂÁ ÃÄÅ Æ ÇÅÈ ÄÉÄ Äà ÊËÌÍÎÏÐÑË ÒÒÏÌ Ó Ç ÄÅÔÈ ÕÅÖÄÈÅ ÕÈׯÇÅØÄ× ÕÁ Ù× ÄÅÙÁ ÕÈÚ-
ÙÁ ÕÈÚÖÄÅ ØÄÉÄÉÁÎ ÏÐÑË ÒÒÏÌ
.
3. P
ÚÛÓ ÇÓÜ ÇÅ ØÄ× ÕÁÙ×ÄÅÙÁÕÈÚÎ Ï ÐÑË ÒÒÏÌÝÞ ßàË áÏâ ßãÎÏÐÑË ÒÒÏÌÉ ÄÅÝÞ ßÏÍ ßÞ ÑÓ ÇäÄÚ ÄåÇÚ Ó ÄÆÄ ÄÅ
.
4.
Ä. A
× ÕÁÙ× ÄÅÎÏÐÑË ÒÒÏÌÝÞßàË áÏâ ßã æåçè× ÕÁÙ× ÄÅÎÏ ÐÑË ÒÒÏÌÝÞ ßÏÍ ßÞ Ñ æ
5.
Ä. P
Ú ÛÓÇÓ Æ ÇÚÇ×ÄÆ Á Å ÙÛÚ ÆÄÓÁ ÄÉÄÂÄÃ Æ ÇÆ È ÂÄÁ ÆÇÚ Ç× ÄÆ/
Æ ÇÅÖÁÆ Ü ÄÅ Á Å ÙÛÚ ÆÄÓÁÖÄÅ ØÉÁ Õ ÄÅ Ø×ÄÜÉÄÚÁÓÁÅÖÄÂÎ ÏÐéË ßÌ ãÖÄÅ ØÉÁ Õ Ç× ÄÅ
.
åç Â ÛØÁ Å ÇÆ ÄÁ ÄÉÄÂÄà ÆÇÆÄÓÈ× ÄÅ ÄÂÆ ÄÕ ÏÍ ßÞ Ñ ÉÄÅ â ßê êëËÌã ÄØÄÚ ÉÄÜ ÄÕ
ÆÇÅØØÈÅÄ× ÄÅÎÏÐÑË ÒÒÏÌÝÞ ßÏÍ ßÞ ÑÁÅÁ
.
6.
Ä. H
ÇÅ ÕÁ× ÄÅ ÆÇÚÇ×ÄÆ ÁÅ Ù ÛÚÆ ÄÓÁ ÄÉÄÂÄà ÆÇÅ ØÃ ÇÅ ÕÁ× ÄÅ ÙÁÕÈÚ Î ÏÐÑË ÒÒ ÏÌ ÝÞ ßàË á Ïâ ßãÉÄÂ ÄÆÜÚ ÛÓÇÓÆ ÇÅ ÖÁÆ Ü ÄÅ× ÇÕÈ×ÄÅÎ Ï ÐéË ßÌãÖÄÅ ØÉÁÕÇ×ÄÅç
åç
D
ÄÂ ÄÆ ÃÄ ÈÅ ÕÈ× Æ ÇÅØÄ× ÕÁÙ× ÄÅ × ÇÚÔ Ä ÉÄÚÁ ÎÏÐÑË Ò ÒÏÌ ÝÞ ß ÏÍ ßÞ Ñ Á ÅÁ ÃÄÚÈ Ó Â ÄÃ
Õ ÇÚ× ÛÅ Ç× ÓÁÔÄÚÁÅ ØÄÅÁ Å ÕÇÚ Å ÇÕ
.
7.
Ä.
ì ÇÕ Ç Äà ÜÚ ÛÓÇÓ Î Ï ÐÑË ÒÒÏÌ ÝÞ ß àË áÏâ ßã Ü Ú ÛÓÇÓÅÖÄ ÓÈ ÉÄà ÉÁà ÇÅ ÕÁ× ÄÅ í Æ Ä× ÄÓ ÇÂÄÅÔÈ ÕÅ ÖÄ Ä×ÄÅ Ä× ÕÁ Ù Ü ÇÚÁ Å ÕÄà ÈÅ ÕÈ× Æ ÇÅÖÁÆÜ ÄÅ ÃÄÓÁ Á Å ÙÛÚÆÄÓÁ ÖÄÅØ
ÉÁ ÚÇ× ÄÆÕ ÇÚÓ ÇåÈ Õ×ÇàË áÏâ ßã
.
åç
P
Ú ÛÓ ÇÓ Ü ÇÅØ ÄÆåÁ  ÄÅ ÁÅ ÙÛÚÆ ÄÓÁ ÄÉÄ ÄÃí Æ ÇÅ ØÄÆåÁ ÁÅ ÙÛÚÆÄÓÁ ÖÄÅ Ø ÕÇÂÄÃÉÁ ×ÈÆÜÈ Â× ÄÅÉÁÊËÌÍÎ ÏÐ ÑË ÒÒÏÌÝÞßàË áÏâ ßã
.
8.
åçP
Ú ÛÓ ÇÓ Ü ÇÅ ØÁÚÁÆÄÅÁÅ ÙÛÚ Æ ÄÓÁ× Ç Ï ÍßÞÑ ÄÉÄ ÄÃÆ ÇÅØÈÆÜÈ Â× ÄÅ ÁÅ ÙÛÚÆ ÄÓÁÄÜ ÄÓ ÄÔ Ä ÖÄÅ Ø Õ ÇÂÄà ÉÁÄÆåÁ ÉÁ ÊËÌÍÎ Ï ÐÑË ÒÒÏÌ ÝÞ ß àËá Ïâ ßã ÈÅ ÕÈ× ÉÁ ×ÁÚÁÆ × ÄÅ × Ç
Ü ÇÅØ ÄîÄÓÆ ÇÂÄÂÈÁÏÍßÞÑæ
9.
P
Ú ÛÓ ÇÓ × ÇÂÈ ÄÚ ÄÉ ÄÂÄà ÈÅÕÈ× Æ ÇÅØÃÇÅ ÕÁ × ÄÅ ÓÇÆ È Ä Ä× ÕÁ ïÁÕÄÓ Æ ÇÚ Ç× ÄÆ åÄÁ ×ÉÄÚÁÎ Ï ÐÑË ÒÒÏÌÝÞßàË áÏâ ßãÉÄÅÎ ÏÐÑË ÒÒÏÌÝÞßÏÍ ßÞÑ æ
ðñòñð óô õö ÷øõùúûüýúþû ÿ÷ô ùõû ÷ô
M
ÇÕ ÛÉÇ ÓÕÚÁ Å Ø Æ ÄÕäÃÁ Å Ø ÁÅÁ ä ÄÚÄ × ÇÚÔÄÅÖÄ ÄÉ Ä Äà ÉÇÅ Ø ÄÅ Æ ÇÅ äÛ äÛ×ÄÅïÄÚÁÄåÂÇ Ó ÕÚÁÅ Ø Á ÅÜÈ ÕÄÅ ÉÄÚÁ ÎÏÐéË ßÌã ÖÄÅØ ÉÁÕÇ× ÄÅ ÓÇÓÈ ÄÁ ÖÄÅ Ø ÉÁ Õ ÄÅ Ø×ÄÜ ÉÄÚÁ
ÓÁÅ ÖÄÂ
-
ÓÁÅÖÄÂ×Ç ÖåÛÄÚ ÉÖÄÅØÉÁ Õ Ç×ÄÅ íÈÅ ÕÈׯ ÇÂÁ ÃÄÕåÄØÄÁ Æ ÄÅ Äï ÄÚÁÄå ÇÕÇÚÓ ÇåÈ ÕÉÁÁÅÜÈ ÕÉÄÅÉÁ× ÇÅ ÄÂÁ Å íÆ Ä× ÄÉÄÜ ÄÕÉÁ ÂÁ ÃÄÕÕÄåÇÂÉÁåÄîÄÃÁÅÁ
. A
B
C
D
E
M
C
Z), dan posisi baris diinisialkan sebagai (I), maka proses pencocokannya
adalah dengan cara membandingkan karakter yang ada pada sistem dengan
karakter yang di
!"#sehingga terjadi proses input seperti dibawah ini :
A. Pencarian dimulai dari data objek pertama pada barisan bilangan A.
. A
B
C
D
E
1
2
3
4
5
Obj = 5: Z = C
I = 1: Ketemu = False
While ( I < = Obj) And Not (False)
True
If ( Z <> chr(I) ) Then
I =1 + 1 = 2
B. Data tidak ditemukan dan data yang dicari (X) lebih besar daripada data objek
pertama pada barisan bilangan A maka proses pencarian dilanjutkan ke data
kedua pada barisan bilangan B.
. A
B
C
D
E
1
2
3
4
5
Obj = 5: Z = C
I = 2: Ketemu = False
While ( I < = Obj) And Not (False)
True
If ( Z <> chr(I) ) Then
I = 2 + 1 = 3
. A
B
C
D
E
1
2
3
4
5
O
&'= 5:
Z = C
I = 3: Ketemu = True
While ( I = Obj) And Not (False)
False
If ( Z = chr(I) ) Then
Proses penginputan karakter akan direkam
D. Data ditemukan pada posisi ketiga dari barisan bilangan A dan pencocokan
sukses.
()*)+ ,- ./ 01.23- 34 .- .-56786/9:
yboard
Analisa penekanan tombol pada
; <=> ?@@<Aini dibuat agar dapat mengetahui
bagaimana
;< => ?@@<Amendeteksi setiap ketukan yang ditangkap melalui sinyal
;<=B?CA D
yang ditekan dengan menggunakan kode ascii yang merupakan standart
internasional dalam kode huruf dan simbol yang selalu digunakan oleh komputer
dan alat komunikasi lain untuk menunjukan teks.
Tabel 3.3 Karakter ASCII
Karakter
ASCII
backspace
8
Tab
9
Enter
13
Shift
16
Ctrl
17
Menu
18
CapsLock
20
Esc
27
Space
32
Page Up
33
F GHIJ
3.3 L
GKL MNGKK
GO GPN IOA
QCII
E
KR35
H
S TI36
L
IU N37
V W
38
XY Z[N
39
D
S\K40
D
IJ46
H
IJW47
N
MTL
S ]P144
A
65
B
66
C
67
D
68
E
69
F
70
G
71
H
72
I
73
J
74
K
75
L
76
M
77
N
78
O
79
P
80
Q
81
R
82
S
83
T
84
U
85
` abcd
3.3 L
aef ghaeK
ai ajh ciA
kCII
l
87
m
88
n
89
Z
90
0
48
1
49
2
50
3
51
4
52
5
53
6
54
7
55
8
56
9
57
0
96
1
97
2
98
3
99
4
100
5
101
6
102
7
103
8
104
9
105
*
106
+
107
Enter
108
-
109
.
110
q rstu
3.3 L
rvw xyrvK
rz r{y tzA
|CII
}
97
~
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
q
113
r
114
s
115
t
116
u
117
v
118
w
119
x
120
y
121
z
122
Pencocokan string yang dilakukan tidak berbeda dengan konsep pencarian
yang biasa digunakan, bahkan saling berhubungan karena mengalami proses yang
sama yaitu pencocokan string, sehingga proses karakter yang diinputkan dari
¡ ¢ £ ¤ ¥ ¦§¨©© ¤ª ¥ ¤ «¢
,
ª§ ¢ £ ¢ ¦¤ © ¬®¯°±² § ª³ ´µ ¬²¶· £ ©
-
£© § § ¤ ¨ ¤¥ © © £ £ ¢ ¨ ª ¢
A
¸CII.
¸ª ¹¨ ¨ ¥ ª³¥ ¤ ¥ ¥©¤ ¢ º ¯»¼±½ ² §
© ¤º ¯»¼±½ ² ¦¾
A
§¨ ¤£¿©ª¹£ ¥©¤ §¨
A
¸CII
¤ ¥65 114 111 101 108 107 97 109 105 107 97 122 101 32 105 115 32 98 97 99 107
ÀÁÂÁÃ ÄÅ ÆÇ ÈÉÆÄÊ ËÈÌÈ ËÆÉÍÉ ÎÏ
D
¤£ ª ¤ © Ð © ¦ © « ¤ ¢ ¨ ¤ ¥Ñ·¯½¦ © £ ¢ ¨£ ¦¢§
.
D
¥¢ 2
¨ § Ñ· ¯½ © £¢ ¨£ ¦¢§ ¨£ ¦¢§ §¨ © §
,
£ © ¦ Ñ· ¯½ ¦ ¢ Ð © £ ¢ º ¯ »Ò ÓÓ¯½ ¥© ¤ §£ Ô¦ £¦
© ¦ ¢ º ¯»¼±½ ² §©ª¢ §£ Õµ ± ¯Ö±µÒ ¦ ³© × £
©¤ ¥ ¦ ¢ ¤ ¥ §£ ¥© ¤ ب §£© §©ª¢ ¯Ö±µÒ £ ¤ ¥
¦©ª¢ ¥Ø¨ §£ © ¥©¤ §¦ £¦¢ º ¯»¼±½² ¤ ¥
¦ ¢ º¯ »ÒÓÓ¯½ ¥©¤ ¤ ¥
,
Ñ·¯½ ª§ Ù ±Ú¯¼º,
ÚÛ ±®® µ¬Ó ©£ Öµ Ú½·Ù®¶ ½ ²
,
ª§ ¢ ¤¢ § ¤© © :
G
ëìí ëîïð ëñ ëòì óîôõ ëöë÷ø ëòðùõ ó÷ú ëí ëî ë÷ë÷ ëù ðòëñó÷ ñ ë÷ ûëö ñ ðüð ñëòýþ ÿïðì ë÷ ëýþ ÿ
1
ïë÷ýþÿ2
ö óûðëñë÷÷ëòô ïëøïðõë÷ñ ëôìóù ëù ô ðÿÿ ï ë÷ø ëò ðùë÷ûïð ñó îðì ëö óõ ó÷ û ëëòëïëù ëøòóí ëûëðíóîðöô ñ
:
F
ëóí öC
ø ëññ ð÷ûM
ðî ò ñ îïòóî
70%
10%
20%
ëí óù
3.5 H
ëòðùð÷ îì ëòðë÷ ûïðöô ìõôù ö ë÷ïó÷ û ë÷ÿÿóñ óùëø ïðöô ìõôùö ë÷ ø ëòðù ïëñ ë ë÷ û ïð ñóîð ìë ùóø õ ó÷ûë ëò ì ëö ë ñ óùëø
ïðùðø ëñëö ñðüð ñëò
-
ëö ñ ðüð ñëòýþÿ õ ëïëòë ëñì ó÷ ûûô÷ ëö ë÷ö ìõô ñóîò óí ëû ëðí ó îðöô ñ:
1.
þÿ ëö ñð üðñ ëò ÷ëëïëùëø:
F
ëóí ö70 %
M
ðî ò ñ îï20%
C
ø ëññ ð÷û= 10%
A
õùðö ëòð ÿÿ ë÷û ëöë÷ ïðîë÷ë÷ û ìó îô õ ëö ë÷ ëõù ðö ëò ð ë÷ û øë÷ëïëõ ëñ í ó îúëù ë÷ ïð ö ìõ ô ñ óî ëñëô ù ëõ ñ õ ë÷ û ì óì ðù ðö ð òðò ñ óì õ óîëò ð þ
ë÷û ò ô ïëø ïðñ ó÷ ñôö ë÷ ò õ óòððö ëòð÷ë ëõù ðö ëòð ð÷ ð ïðò ð ìõ ë÷ ö óïëù ëì í ó÷ ñôö
ÿ!" ïë÷ ïðö ðîðì ìóùëùô ð ÿ# "
,
ïëùëì õ óìíô ëñë÷ ëõùðö ëò ð ð÷ ð õ ó÷ôù ðòìó÷ûûô÷ëö ë÷í ëøëòëõ ó ì ûîëìë÷üðò ô ëùí ëò ð
.
÷óñ.
D
ëùëì õ óìíô ëñë÷ ëõùðö ëòð ÿÿ,
ëï ë3
ø ëù õ ëù ð÷ û õ ó÷ ñ ð÷ û ëðñôõ óîë÷ë÷ ûë÷ ì ïóù üðò ôëù ðòëòð $ñ ëìõ ðù ë÷ õ ëïë ù ëëî ö ìõô ñ ó î ïóò ö ñ õ %
,
õ ðù ðø ë÷ìó÷ô ë÷ û ïðòóïðëö ë÷ òóîñë í ëû ëðì ë÷ ë ë îë ö ó îúë ëõù ðö ëò ð ñóîò óíô ñ ïëù ëì õ î ò óò
õ óîóö ëìë÷ö óñôö ë÷ÿ& " ë÷ ûïðî óö ëì
.
B
óîïëòëîöë÷ ô îëð ë÷ ïð ëñëò ïë÷ ô÷ ñôö ù óí ðø ú óùëò ÷ë,
õ ó÷ôù ðò ëöë÷ìó÷ûû ëìí ëîö ë÷ñ ëøëõ ë÷õ ó÷û óîú ëë÷ï ëù ëìõ óìí ô ëñë÷ëõùðö ëò ð ÿÿ ñ óîò óíô ñ
G
()*(+3.6
,(-(./0)* 1( 2( 34.5 6 7(8 6K
095:;;0+P
<=>?@>?A >?B CBD <EF >G >>F HC I>B CJKLM NOOKPC ?CGCQ>ACE<?R>GC2
Q>AC>?:
1.
SCB CT UKPM
<=VF >I>? Q>AC>? G >=C BCBD <E W>?A Q<=>G> F >G > B CB C XUKP W>?AE<EF V? W>C DV A>B V ?DVI E<H >IVI>? F <?AVEF VH >? C ?YZ= E >B C G >?
E<? WC EF >??W> G >H >E Q<?DVI [N\ K]^_ B<=D > E<?AC=C E I>??W> I< Q>AC >?
F <?A >`>BE <H>HVCKa^bMW> ?ABVG>cGC D >= A<DI >?
2.
SCB CP
<?A>`>BM
<=VF >I>? Q >AC>? G >=C B CBD <E W>?A Q<=>G > F >G > BC B C F <?A>`>B W>?AE<EF V? W>C DVA>B V?DVI E <?<=CE> G >? E <?AZH >c C ?YZ=E >BC G >=C da^bM W> ?A
B VG >cGCD>= A<D I>?e
B
<=CIVD >I >? GC R <H >B I>? @>= > I<=R> BC BD<E Q>A>CE>?> F=ZB <B I <WHZAA<=E<? WC EF >? C ?YZ= E>B C W>?A GC G >F>D G >=C c>B CH B C ?W>H I<D VI>? J KLfN^P _ cC?AA >
B>EF >CI<F >G >F<?A>`>BG <?A >?E<?AAV?>I >?UKg XK[hK_b^OP ^a
:
K
:
1.
¡¡ ¢ £¤
,
¥¢ ¤¥ ¢¦ § ¨©¢
2. H
¦ ¤¥ ¢ ¦£ ¦ ¦ § ¨© ¢ ¦¦ ¤ ª¨« ¢ ¡¡ ¦
ª¨« ¢ £ ¬
3. K
¤¥ ¥¦£ B
® ¦ ¦£¦ ® -
:
¯°¯ ± ²³ ²´³ µ¶
· ¡¡ ¢
¥
¢ ¬
· ¡¡
¦
¤¥ ¦ ¸ ¹ º¨ © » ¦
¤ ¦ ¢ ¦ £ ¦ ¡¡
,
¦ ¦ ¢¦¥
¤¥ ¦¦ ª¨« ¢ ¦£
¦¢ ¦£ ¬