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{zy, |z{} y |{~{ | }~ |y
z}y yy { , z}~~ |y z}y |z}~
z} |{z |z}~} { { }~ .
Fy{-y{ }~ } z}~|} z}~} |z{z}
}{ }~ {z } |} z z{ } } |y
{ zy ¡ }~ 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 ;?@@
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
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{zy, |z{} y |{~{ | }~ |y
z}y yy { , z}~~ |y z}y |z}~
z} |{z |z}~} { { }~ .
Fy{-y{ }~ } z}~|} z}~} |z{z}
}{ }~ {z } |} z z{ } } |y
{ zy ¡ }~ 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 ;?@@