Perancangan Perangkat Lunak Keystroke Lo

PERANCANGAN PERANGKAT LUNAK KEY STROKE
LOGGER UNTUK MEMANTAU AKTIVITAS USER
PADA KOMPUTER MENERAPKAN
METODE STRING MATCHING

SKRIPSI
Diajukan Untuk Memenuhi Persyaratan
Mencapai Gelar Sarjana Komputer

Oleh :
Syahrul Dani Sitorus
NPM : 0811335

PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BUDIDARMA
MEDAN
2012

PERANCANGAN PERANGKAT LUNAK KEY STROKE
LOGGER UNTUK MEMANTAU AKTIVITAS USER

PADA KOMPUTER MENERAPKAN
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

PERANCANGAN PERANGKAT LUNAK KEY STROKE LOGGER UNTUK
MEMANTAU AKTIVITAS USER PADA KOMPUTER MENERAPKAN
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
NIDN : 0124087801

Nelly Astuti Hasibuan, S.Kom, M.kom

NIDN : 0111108401

Diketahui oleh
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan

Sinar Sinurat, ST, M.Kom
NIDN : 0317086703

PERANCANGAN PERANGKAT LUNAK KEY STROKE LOGGER UNTUK
MEMANTAU AKTIVITAS USER PADA KOMPUTER MENERAPKAN
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
NIDN : 0102048103

Indra M. Sarkis, S.T, M.Kom
NIDN : 0123077601

Diketahui oleh
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan

Sinar Sinurat, ST, M.Kom

NIDN : 0317086703

 

ENDAHULUAN
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.

Untuk mencegah masalah ini, salah satu solusi yang dapat diambil adalah

membuat sistem yang dapat menyimpan suatu informasi yang diketikan melalui

keyboard dan menyimpannya dalam bentuk notepad yang akan dibuat pada
aplikasi yang akan dirancang tersebut serta dapat mengirimkan hasil simpanan


ketikan tersebut melalui email yang sudah ditargetkan, sehingga mempermudah

dalam mengawasi dan memantau setiap aktivitas user yang dilakukan dengan

menggunakan komputer terutama untuk kaum remaja, yang menggunakan

komputer untuk mengakses situs-situs yang dilarang oleh pemerintah. Dengan
adanya sistem yang akan dirancang tersebut, maka akan terlihat dengan jelas apa

saja yang dilakukan oleh user pada saat menggunakan komputer dengan melihat

1

2

islh
aismpanan

tersebut .


ketukan keyboard yang telah disimpan dan dikirimkan via email

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 email yang fungsinya

adalah mengirim setiap hasil simpanan dari ketukan keyboard ke email yang
sudah ditargetkan, didalam perancangan aplikasi keylogger ini, fasilitas email


yang digunakan adalah dari GMail, karena dalam proses perancangannya port

yang digunakan adalah port untuk Email 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 email 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.

Melihat dari penjelasan diatas maka penulis merasa sangat tertarik untuk

membuat aplikasi keylogger yang bertugas memantau kegiatan seseorang ketika

sedang menggunakan komputer. Oleh karena itu, penulis mengambil skripsi
dengan judul

PERANCANGAN PERANGKAT LUNAK KEY STROKE

3

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 email hasil simpanan ketukan keyboard yang
akan dikirim melalui email 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.

2. Untuk mengetahui bagaimana proses pengiriman hasil simpanan dari ketukan

keyboard ke email Gmail ditentukan oleh waktu yang sudah diatur dan email

Gmail yang sudah ditargetkan.

4

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 email.

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

Agar penulisan skripsi ini teratur dan tersistem, maka dapat di uraikan

sebagai berikut :

5

BAB I

:PENDAHULUAN

Merupakan uraian umum yang memuat latar belakang masalah,
rumusan masalah, batasan masalah,manfaat dan tujuan, metodologi

BAB II

penulisan dan sistematika penulisan.

:LANDASAN TEORI

Berisi mengenai konsep teoristis dari aplikasi keylogger metode yang

diterapkan dan perancangan aplikasi keylogger dengan menggunakan
BAB III

tools Visual Basic Net 2008.

: ANALISA DAN PERANCANGAN

Pada bab ini akan dianalisa tentang bagaimana aplikasi keylogger
tersebut dibuat dalam perancangannya.

BAB IV

:ALGORITMA DAN IMPLEMENTASI

BAB V

:KESIMPULAN DAN SARAN

Bab ini berisi laporan pengujian terhadap modul program keylogger.

Berisi tentang adanya pengetahuan baru dari pengerjaan karya ilmiah

ini dan mengemukakan hal apa saja yang akan dijadikan referensi
untuk mengembangkan penelitian ini.

 
 


 r  u
rengt lkl hkumpl n ! !r " peirnthyngikusedhole
ism
nek
m
o
rp
tel m
u
njmel nikusney
Rosa A.S dan M. Salahudin
#!utnr

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%&' '&
atau
(etsokry Logger

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 email yang telah di tentukan, email yang

digunakan untuk mengirim

hasil

simpanan

ketukan

keyboard

tersebut

menggunakan email dari Gmail yang telah ditargetkan dengan waktu yang sudah

ditentukan.

Keylogger dapat digunakan untuk kepentingan yang baik atau bahkan bisa

digunakan untuk kepentingan yang jahat. Kepentingan yang baik antara lain untuk

memantau produktivitas karyawan, untuk penegakan hukum dan pencarian bukti
kejahatan. Kepentingan yang jahat antara lain pencurian data dan password yang
digunakan oleh pihak ilegal sehingga merugikan pihak korban yang datanya
6

7

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

GetAsyncKeyState, fungsi nya tidak memerlukan konstanta key_prossed.

fungsi

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.

Hypervisior sering disebut dengan Virtual Machine Monitor (VMM) yang

berfungsi untuk memungkinkan beberapa sistem operasi untuk bekerja secara

bersamaan kepada komputer utama yang telah ditentukan, keylogger yang

8

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 email 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.

Jenis-jenis keylogger berbasis Hardware adalah sebagai berikut :

1. Regular Hardware Keylogger

9

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 penginstalannya.

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

sumber : (http://manik.web.id/hardware-keylogger-yang-menakutkan.html tanggal akses
18 April 2012)

1
0

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
Komputer sebenarnya berasal dari Bahasa Yunani yaitu Computare yang

berarti menghitung. Berdasarkan arti tersebut, maka secara harfiah komputer bisa
diartikan sebagai sebuah alat elektronika yang memiliki kemampuan untuk

1

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.

Menurut Williams, Sawyer komputer adalah mesin multiguna yang dapat
diprogram, yang menerima data (fakta-fakta dan gambar-gambar kasar) dan
memproses atau memanipulasinya ke dalam informasi yang dapat kita gunakan.
sumber:(http://carapedia.com/pengertian_definisi_komputer_menurut_para_ahli_info503.
html, tanggal akses 25 Mei 2012).

1
2

2.5

Email
Elektronik Mail disingkat email 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 email maka

harus memiliki protokol yang digunakan untuk mengirimkan pesan email yang
bernama SMTP (Simple Mail Transfer Protocol) agar dapat diteruskan ke mail
server tujuan. SMTP yang digunakan untuk pengiriman email tersebut adalah
SMTP dari Gmail yaitu smtp.gmail.com dan nomor port yang digunakan dalam
pengiriman email 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
Perancangan berasal dari kata rancang yang berarti proses, sedangkan

perancangan adalah proses untuk membuat dan menciptakan obyek baru.
Berdasarkan kesimpulan tersebut maka dapat disimpulkan bahwa perancangan

1
3

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 sebagai sebuah bahasa yang memberikan vocabulary dan tatanan

penulisan kata-kata dalam MS Word untuk kegunaan komunikasi. Sebuah

bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep

tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem.

UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang

dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi
tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang
merupakan salah satu proses implementasi pengembangan software.

1
4

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

dimiliki sistem

Mengajar

Mengembangkan

fungsional

yang

Kelas

Menggambarkan

konsep

dasar

Subsistem

Menggambar paket spesifikasi serta

Use Case

(class)

(SubSystem)

Komponen

(Component)

Antarmuka
(Interface)

pemodelan sistem

implementasi

Menggambarkan bagian-bagian fisik
sistem atau perangkat lunak yang

Dosen

Pengajaran

Pengajaran

dikembangkan

Menggambarkan antarmuka

pengiriman pesan (massege) antar
perangkat lunak

Antarmuka PengajarMahasiswa

1
5

Tabel Lanjutan 2.4 Beberapa pengklasifikasi (Clasifier)

Pengklasifikasi
Kegunaan
Simpul
Menggambarkan
sumber
(node)

daya

komputasional yang digunakan oleh
sistem

Notasi

Server

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.

Relasi
Asosiasi
(Association)
Kebergantungan
(dependency)
Aliran
(flow)

Tabel 2.5 Relasi-relasi dalam UML
Fungsi
Mendeklarasikan hubungan antar instance
suatu kelas
Relasi antar dua elemen model

Notasi

Relasi antar dua versi suatu objek

Generalisasi
Relasi antar pengklasifikasi yang memiliki
(Generalization) 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

1
6

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

Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan

urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap

1
7

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 runtime 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
.NET

platform

merupakan

satu

set

kumpulan

teknologi

memungkinkan teknologi Internet ditransformasikan ke dalam

yang

platform

distributed computing dengan skalabilitas dan kompatibilitas tinggi. Secara

teknikal, .NET Platform menyediakan konsep pemrograman dengan library dan

1
8

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)

Dengan adanya CLR tersebut, programmer dapat menikmati consistent object
model dalam mengakses berbagai komponen library. Dengan demikian
penggunaan bahasa pemrograman dalam dunia .NET adalah lebih ke masalah

selera atau taste, dan bukan pada kelebihan maupun kekurangan masing-

masing bahasa. Mengapa ? Karena semua bahasa pemrograman yang

1
9

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
Visual Studio .NET (VS.NET) menyediakan tools bagi para developer untuk
membangun aplikasi yang berjalan di .Net Framework. VS.Net membawa

perubahan besar dalam gaya pemrograman, karena setiap programmer dituntut

untuk memahami .NET object model dan Object Oriented Programming
dengan baik, jika tidak ingin menghasilkan aplikasi dengan performa rendah.

VS.Net juga semakin mempertipis jarak antara windows programmer dengan

Web Programmer. Dunia scripting yang akrab bagi programmer web akan

sulit ditemukan dalam .NET, karena pemrograman web sudah bersifat full

object oriented, dengan fasilitas event driven programming sebagaimana

2
0

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.

Bill Gates, pendiri Microsoft, memulai bisnis softwarenya dengan

mengembangkan interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia

ubah agar dapat berjalan di atas IBM PC dengan sistem operasi DOS.

2
1

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.

Para programmer dapat membangun aplikasi dengan menggunakan

komponen-komponen yang disediakan oleh Microsoft Visual Basic Program,

program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API,

tapi membutuhkan deklarasi fungsi eksternal tambahan.

2

Gambar 2.7 Visual Basic. Net 2008

sumber: (http://www. ilmukomputer. org/wpcontent/uploads/2006/09/choirulvbnet 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

sumber: (http://www. ilmukomputer. org/wpcontent/uploads/2006/09/choirul-vbnet

01.zip, tanggal akses 18 April 2012).

./. 000
/1/203/ 4/1 567/18/19/1
:;< =>?@AB?
ACDEFGHE IJK LMNOIJ POQQJN GRGS IJKPOQQJN TEUGVWGVX YZVXXSVGFGV [G\GHG
CZY]XUGYGV ^EHSGD BGHEW. NE_ `GVX YZUSCGFGV ZTEHE F\SHSH TGUE ^EHSGD BGHEW
`GVX TE[SGR ]DZ\ CZUSHG\GGV MEWU]H]aR. PU]HZH CZUGVWGVXGV IJKPOQQJN EVE
YZYEDEFE RG\GCGV-RG\GCGVb [GXGEYGVG WGUG CZV`EYCGVGV \GHED FZRSFGV IJKcOdNe
TGV [GXGEYGVG WGUG CZV`EYCGVGV FZTGDGY [ZVRSF fOMJgde TGV TEFEUEY FZ JhdiP.
:;?@AB? jABklm
AVGDEHG HEHRZY TETZaEVEHEFGV HZ[GXGE CZVXSUGEGV TGUE HEHRZY EVa]UYGHE `GVX
SRS\ FZTGDGY [GXEGV-[GXEGV F]YC]VZVV`G TZVXGV YGFHST SVRSF
YZVXETZVREaEFGHE YGHGDG\b \GY[GRGV `GVX RZUnGTE HZ\EVXXG TGCGR TESHSDFGV
FZ[SRS\GV-FZ[SRS\GV `GVX HZHSGE SVRSF CU]HZH CZU[GEFGVV`G. _G\GC GVGDEHG
YZUSCGFGV RG\GC `GVX CGDEVX FUEREH TGV HGVXGR CZVREVX, FGUZVG FZHGDG\GV TERG\GC
EVE GFGV YZV`Z[G[FGV nSXG FZHGDG\GV TERG\GC HZDGVnSRV`G. _SXGH SRGYG TGUE
YZVXGVGDEHG HEHRZY `GERS YZVZVRSFGV DEVXFSC HEHRZY, YZVXSYCSDFGV aGFRG
[ZUTGHGUFGV ][HZUoGHE `GVX RZDG\ TEDGFSFGV TGV YZVXGVGDEHG aGFRG.
:;?@AB? q?B?@?r
PZYGVaGGRGV F]YCSRZU RZDG\ YZY[ZUEFGV ZaEHEZVHE TGV ZaZFREaERGH TGDGY
CZVTEHRUE[SHEGV TGRG HZURG [ZU[GXE EVa]UYGHE HZ[GXGE W]VR]\ GTGDG\ [GXGEYGVG WGUG
YZYCU]HZH EVa]UYGHE HZWGUG WZCGR TGV GFSUGR HZURG TGDGY CZVXSYCSDGV,
CZV`EYCGVGV TGV CZVX]DG\GV EVa]UYGHE GVRGUG F]YCSRZU RZU\GTGC sLJN `GVX
[ZUHEaGR HZ[GXGE tPiJfM. uZ\EVXXG [GV`GF TGUE FGDGVXGV YGH`GUGFGR YGSCSV
EVHRGVHE CZYZUEVRG\ GRGS HvGHRG YZYGVaGGRFGV RZFV]D]XE F]YCSRZU HZ[GXGE GDGR
SVRSF YZYCZUWZCGR TGV YZVEVXFGRFGV CU]TSFREoERGH FZUnG.
NGYSV TEFGDGVXGV GVGF-GVGF UZYGnG `GVX YZYEDEFE F]YCSRZU CUE[GTE
TEFGYGUV`G RZUFGTGVX nSXG CZUVG\ YZVXGFHZH HERSH TZvGHG, HZ\EVXXG YZY[SGR
UZHG\ CGUG\ ]UGVX RSG YZUZFG, HZ\EVXXG TGCGR YZUSHGF Y]UGD GVGF [GVXHG `GVX
,-

wx
yz{|z}~{€ ‚ƒz „z…y} †}~ ‡z{ˆ ˆ‰ ˆ€}‰ Š† y€ ƒ‰}}†. ‹}y€„
Šz}~yŒ‰ ŠŒƒ yz{Œ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}~~€}„}
œ¢š £ š•  œ˜‘œŸ

¶·¸¹¸ ¸¹º»¶» ¼¹¶½¾¸»¿

P

¦§¨¦© 3.1 ¦ª«¬­¬«® ¯¬¦°©¦§ ª¦©¦ ±²©³¦ ±²®´µ°°²©
Bz{‰„€y „} ˆ‰…zƒŒ„} yz}y}~ œ¢š £ š•  œ˜‘œŸ |ˆ ~Š‡{ ˆ‰ yŒ ¤
1. ¥—˜ ™ ”•–—˜˜‘ ˆƒ ŠzŠŒ€„} „y Œ}ˆ‰ ”•–—˜˜‘ €}y€„
Šz}~„y‰“„}}†.
G

À5
2. PÁÂÁÃÄÅ ÆÇÅÈ ÄÉÄÂÄÃ ÊËÌÍ ÎÏÐÑËÒÒÏÌ

ÓÇÂÄÅÔÈÕÅÖÄ ÈÅÕÈ× ÆÇÅØÄ×ÕÁÙ×ÄÅ ÙÁÕÈÚ-ÙÁÕÈÚ

ÖÄÅØ ÄÉÄ ÉÁ ÎÏÐÑËÒÒÏÌ.
3. PÚÛÓÇÓ ÜÇÅØÄ×ÕÁÙ×ÄÅ ÙÁÕÈÚ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßã ÎÏÐÑËÒÒÏÌ ÉÄÅ ÝÞß ÏÍßÞÑ ÓÇäÄÚÄ
åÇÚÓÄÆÄÄÅ.
4. Ä. A×ÕÁÙ×ÄÅ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßãæ
åç è×ÕÁÙ×ÄÅ ÎÏÐÑËÒÒÏÌ ÝÞß ÏÍßÞÑæ
5. Ä. PÚÛÓÇÓ ÆÇÚÇ×ÄÆ ÁÅÙÛÚÆÄÓÁ ÄÉÄÂÄà ÆÇÆÈÂÄÁ ÆÇÚÇ×ÄÆ/ÆÇÅÖÁÆÜÄÅ ÁÅÙÛÚÆÄÓÁ
ÖÄÅØ ÉÁÕÄÅØ×ÄÜ ÉÄÚÁ ÓÁÅÖÄ ÎÏÐéËßÌã ÖÄÅØ ÉÁÕÇ×ÄÅ.
åç ÂÛØÁÅ ÇÆÄÁ ÄÉÄÂÄà ÆÇÆÄÓÈ×ÄÅ ÄÂÆÄÕ ÏÍßÞÑ ÉÄÅ âßêêëËÌã ÄØÄÚ ÉÄÜÄÕ
ÆÇÅØØÈÅÄ×ÄÅ ÎÏÐÑËÒÒÏÌ ÝÞß ÏÍßÞÑ ÁÅÁ.
6. Ä. HÇÅÕÁ×ÄÅ ÆÇÚÇ×ÄÆ ÁÅÙÛÚÆÄÓÁ ÄÉÄÂÄà ÆÇÅØÃÇÅÕÁ×ÄÅ ÙÁÕÈÚ ÎÏÐÑËÒÒÏÌ ÝÞß
àËáÏâßã ÉÄÂÄÆ ÜÚÛÓÇÓ ÆÇÅÖÁÆÜÄÅ ×ÇÕÈ×ÄÅ ÎÏÐéËßÌã ÖÄÅØ ÉÁÕÇ×ÄÅç
åç DÄÂÄÆ ÃÄ ÈÅÕÈ× ÆÇÅØÄ×ÕÁÙ×ÄÅ ×ÇÚÔÄ ÉÄÚÁ ÎÏÐÑËÒÒÏÌ ÝÞß ÏÍßÞÑ ÁÅÁ ÃÄÚÈÓÂÄÃ
ÕÇÚ×ÛÅÇ×ÓÁ ÔÄÚÁÅØÄÅ ÁÅÕÇÚÅÇÕ.
7. Ä. ìÇÕÇÂÄà ÜÚÛÓÇÓ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßã ÜÚÛÓÇÓÅÖÄ ÓÈÉÄà ÉÁÃÇÅÕÁ×ÄÅí ÆÄ×Ä
ÓÇÂÄÅÔÈÕÅÖÄ Ä×ÄÅ Ä×ÕÁÙ ÜÇÚÁÅÕÄà ÈÅÕÈ× ÆÇÅÖÁÆÜÄÅ ÃÄÓÁ ÁÅÙÛÚÆÄÓÁ ÖÄÅØ
ÉÁÚÇ×ÄÆ ÕÇÚÓÇåÈÕ ×Ç àËáÏâßã.
åç PÚÛÓÇÓ ÜÇÅØÄÆåÁÂÄÅ ÁÅÙÛÚÆÄÓÁ ÄÉÄÂÄÃí ÆÇÅØÄÆåÁ ÁÅÙÛÚÆÄÓÁ ÖÄÅØ ÕÇÂÄÃ
ÉÁ×ÈÆÜÈÂ×ÄÅ ÉÁ ÊËÌÍ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßã.
8. åç PÚÛÓÇÓ ÜÇÅØÁÚÁÆÄÅ ÁÅÙÛÚÆÄÓÁ ×Ç ÏÍßÞÑ ÄÉÄÂÄà ÆÇÅØÈÆÜÈÂ×ÄÅ ÁÅÙÛÚÆÄÓÁ ÄÜÄ
ÓÄÔÄ ÖÄÅØ ÕÇÂÄà ÉÁÄÆåÁ ÉÁ ÊËÌÍ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßã ÈÅÕÈ× ÉÁ×ÁÚÁÆ×ÄÅ ×Ç
ÜÇÅØÄîÄÓ ÆÇÂÄÂÈÁ ÏÍßÞÑæ
9.
PÚÛÓÇÓ ×ÇÂÈÄÚ ÄÉÄÂÄà ÈÅÕÈ× ÆÇÅØÃÇÅÕÁ×ÄÅ ÓÇÆÈÄ Ä×ÕÁïÁÕÄÓ ÆÇÚÇ×ÄÆ åÄÁ×
ÉÄÚÁ ÎÏÐÑËÒÒÏÌ ÝÞß àËáÏâßã ÉÄÅ ÎÏÐÑËÒÒÏÌ ÝÞß ÏÍßÞÑæ
ðñòñð óôõö÷øõ ùúûüýú þûÿ÷ô ùõû÷ô
MÇÕÛÉÇ ÓÕÚÁÅØ ÆÄÕäÃÁÅØ ÁÅÁ äÄÚÄ ×ÇÚÔÄÅÖÄ ÄÉÄÂÄà ÉÇÅØÄÅ ÆÇÅäÛäÛ×ÄÅ
ïÄÚÁÄåÂÇ ÓÕÚÁÅØ ÁÅÜÈÕÄÅ ÉÄÚÁ ÎÏÐéËßÌã ÖÄÅØ ÉÁÕÇ×ÄÅ ÓÇÓÈÄÁ ÖÄÅØ ÉÁÕÄÅØ×ÄÜ ÉÄÚÁ
ÓÁÅÖÄÂ-ÓÁÅÖÄ ×ÇÖåÛÄÚÉ ÖÄÅØ ÉÁÕÇ×ÄÅí ÈÅÕÈ× ÆÇÂÁÃÄÕ åÄØÄÁÆÄÅÄ ïÄÚÁÄåÂÇ ÕÇÚÓÇåÈÕ ÉÁ
ÁÅÜÈÕ ÉÄÅ ÉÁ×ÇÅÄÂÁÅí ÆÄ×Ä ÉÄÜÄÕ ÉÁÂÁÃÄÕ ÕÄåÇ ÉÁåÄîÄà ÁÅÁ
.A
1

B
2

C
3

D
4

E
5

6
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
1

B
2

C
3

D
4

E
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
1

B
2

C
3

D
4

E
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

C. Data tidak ditemukan juga pada baris bilangan ke 2, maka proses dilanjutkan
kedata selanjutnya.

$%

.A

B

1

2

C
3

D

E

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 ;?@@