Pembangunan Perangkat Lunak Keylogger Untuk Memantau Aktivitas User Pada Sebuah PC Berbasis LAN

(1)

8 BAB II LANDASAN TEORI 2.1 Keylogger

Berikut akan dijelaskan berbagai hal mengenai keylogger. 2.1.1 Definisi Keylogger

Keystroke Logger atau yang lebih dikenal dengan keylogger merupakan sebuah perangkat, baik perangkat keras atau perangkat lunak yang digunakan untuk memantau penekanan tombol keyboard. Sebuah keylogger biasanya akan menyimpan hasil pemantauan penekanan tombol keyboard tersebut ke dalam sebuah berkas log/catatan/rekaman. Hasil rekaman tersebut kemudian akan dikirim kepada orang yang membutuhkan data-data tersebut melalui berbagai media, diantaranya melalui email, jaringan local area network, jaringan wireless, dan lain-lain. 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.

2.1.2 Jenis-jenis keylogger

Keylogger terbagi menjadi dua jenis : a. Keylogger berbasis perangkat lunak

Keylogger berbasis perangkat lunak adalah salah satu dari jenis keylogger yang dapat merekam ketukan keyboard melalui suatu program aplikasi.


(2)

1) Hypervisior-based

Hypervisior disebut juga Virtual Machine Monitor (VMM) yang memungkinkan beberapa sistem operasi untuk bekerja secara bersamaan pada komputer host. Keylogger yang menggunakan metode ini secara teori berada pada malware hypervisior dimana keylogger tersebut bekerja dibawah sistem operasi.

2) Kernel-based

Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sistem operasi. Kernel bertugas untuk melayani bermacam-macam program aplikasi untuk mengakses perangkat keras pada komputer. Metode jenis ini memungkinkan keylogger sulit dideteksi terutama para pengguna awam. Metode ini sering diimplementasikan sebagai rootkit yang dapat merubah kernel sistem operasi sehingga dapat mengakses perangkat keras tanpa izin. Sebagai contoh, keylogger yang menggunakan metode ini dapat bertindak sebagai sebuah driver keyboard, dengan demkian semua informasi yang diketikkan pada keyboard dapat diketahui.

3) Hook-based

Metode ini bekerja seperti pengait, dimana metode ini menggunakan fungsionalitas yang disediakan oleh sistem operasi sehingga event yang terjadi pada keyboard dapat diketahui. Sistem operasi akan memberitahu keylogger setiap kali tombol keyboard ditekan.


(3)

4) Passive Methods

Metode ini menggunakan Application Programming Interface (API) dari sistem operasi, seperti: GetAsyncKeyState (), GetForegroundWindow () dan lain-lain, untuk mendapatkan informasi ketukan pada keyboard. 5) Form Grabber based

Metode ini bekerja pada web form dengan cara merekam fungsi onSubmit pada web browser. Perekaman informasi dilakukan sebelum data di enkripsi dan di kirim melalui internet.

Pengaksesan data pada keylogger berbasis perangkat lunak terbagi menjadi empat cara, yaitu:

1) Data diupload ke situs web, database atau akun ftp 2) Data dikirimkan melalui email secara berkala

3) Data ditransmisikan melalui suatu sistem perangkat keras yang terpasang 4) Data log disimpan pada mesin target

b. Keylogger berbasis perangkat keras

Keylogger berbasis perangkat keras adalah salah satu dari jenis keylogger yang dapat merekam ketukan keyboard melalui perangkat keras yang terpasang pada komputer target.


(4)

1. Regular Hardware Keylogger

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.

2. Wireless Keylogger Sniffers

Alat yang digunakan untuk melakukan pengumpulan paket-paket data antara keyboard wireless dengan alat penerimanya (receiver).

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.


(5)

Salah satu keuntungan yang didapat dari penggunaan keylogger berbasis perangkat keras adalah Proses perelaman ketukan keyboard tidak dipengaruhi oleh sistem operasi yang digunakan oleh target.

2.2 Antarmuka Pemrograman Aplikasi Windows

Berikut akan dijelaskan mengenai berbagai hal mengenai Antarmuka Pemrograman Aplikasi Windows.

2.2.1 Definisi

Antarmuka Pemrograman Aplikasi Windows (Windows Application Progamming Interface) yang juga sering disebut sebagai WinAPI atau Windows API adalah sekumpulan antarmuka pemrograman aplikasi yang dibuat oleh Microsoft dalam inti sistem operasi Microsoft Windows buatannya. Semua program Windows, kecuali program konsol, harus berinteraksi dengan Windows API tanpa melihat dengan bahasa apa ia dibuat. Akses terhadap elemen sistem operasi yang lebih rendah, seperti halnya yang dibutuhkan oleh device driver, tidak disediakan oleh Windows API, tapi disediakan oleh Windows Driver Foundation atau Native API dalam versi-versi baru Windows.

2.2.2 Versi-Versi Windows API a) Win16 API

Windows 16 API atau Win16 API merupakan API yang digunakan pertama kali pada versi Windows 16-bit. Pada awalnya, Win16 API disebut dengan Windows API, tapi kemudian diubah menjadi Win16 dalam usaha Microsoft


(6)

untuk membedakannya dengan versi Windows API yang lebih baru yang berjalan pada Windows 32-bit, Win32 API. Fungsi-fungsi Win16 API umumnya terdapat di dalam berkas-berkas inti sistem operasi: kernel.exe (krnl286.exe pada Windows for 286 atau krnl386.exe pada Windows yang berjalan pada Enhanced 386), user.exe, dan gdi.exe. Meskipun memiliki ekstensi EXE, sebenarnya mereka bukanlah berkas yang dapat dieksekusi (executable), melainkan mereka adalah DLL (Dynamic Linking Library). b) Win32 API

Win32 API merupakan antarmuka pemrograman yang terdapat di dalam sistem operasi Windows 32-bit modern. Seperti halnya Win16 API, Win32 API juga sama mengimplementasikan fungsi-fungsi di dalam DLL sistem operasi. DLL inti yang dimiliki oleh Win32 API antara lain kernel32.dll, user32.dll, dan gdi32.dll. Win32 pertama kali muncul pada tahun 1993, saat Windows NT diluncurkan. Windows 95 juga menggunakan Win32 API, dan pada awalnya dikenal dengan sebutan Win32c, di mana huruf "c" di sana merujuk kepada "compatibility", tapi istilah ini akhirnya ditinggalkan oleh Microsoft demi konsistensi nama "Win32".

Dalam Windows NT 4.0 dan para penerusnya (termasuk di antaranya versi-versi terbaru Windows), panggilan-panggilan Win32 dieksekusi oleh dua modul, yakni csrss.exe (Client/Server Runtime SubSystem) di dalam modus pengguna dan Win32K.sys di dalam modus kernel.


(7)

c) Win32s API

Win32s API merupakan sebuah ekstensi untuk keluarga Windows 3.1x yang mengimplementasikan sekumpulan kecil dari Win32 API untuk sistem-sistem tersebut, yang merupakan sistem operasi 16-bit. Huruf "s" di sana merupakan singkatan dari "subset".

d) Win32 for 64-bit Windows

Win32 for 64-bit Windows, yang sebelumnya dikenal dengan sebutan Win64, merupakan sebuah versi Windows API yang ditargetkan untuk digunakan oleh Windows versi 64-bit, yakni Windows XP Professional x64 Edition dan Windows Server 2003 x64 Edition (untuk prosesor-prosesor x86-64) dan Windows XP 64-bit Edition dan Windows Server 2003 for Itanium-series (untuk prosesor-prosesor IA-64). Dengan kemunculan Win64, Windows NT pun akhirnya masuk ke dalam pasar komputasi 64-bit, dan kompatibilitas aplikasi 32-bit pun masih terjaga. Akan tetapi, memang semua pointer memori dialamatkan dengan menggunakan alamat 64-bit, sehingga kode sumber program harus dicek ulang untuk melihat apakah ada masalah kompatibilitas dengan pointer aritmetika 64-bit dan jika perlu ditulis ulang, tidak ada penambahan fungsi-fungsi baru yang spesifik ditambahkan ke dalam Windows versi 64-bit.


(8)

2.2.3 Fungsionalitas

Fungsionalitas yang ditawarkan oleh Windows API dapat digolongkan menjadi 8 kategori, yaitu:

1. Base Services

Menyediakan akses terhadap beberapa sumber daya fundamental yang tersedia di dalam sebuah sistem yang menjalankan sistem operasi Microsoft Windows. Fungsi-fungsi ini terdapat dalam kernel.exe, krnl286.exe, atau krnl386.exe (dalam Windows 16-bit) dan kernel32.dll serta advapi32.dll dalam Windows 32-bit. Subkomponen yang terdapat pada golongan ini antara lain:

a. File System FAT12, FAT16, FAT32, CDFS, UDFS dan NTFS b. Devices

c. Process and threads d. Error handling 2. Advanced Services

Menyediakan akses terhadap fungsionalitas yang berada di luar kernel sistem operasi Windows. Fungsionalitas yang termasuk di dalam kategori ini adalah akses registry Windows, shutdown (turn-off, restart, hibernate, atau standby) Windows, manajemen Windows service, hingga manajemen akun pengguna. Fungsi-fungsi ini terdapat di dalam advapi32.dll, dan hanya terdapat pada versi Windows 32-bit.


(9)

3. Graphics Device Interface (GDI)

Menyediakan fungsionalitas untuk mengeluarkan tampilan grafik ke monitor, printer dan beberapa perangkat keluaran lainnya. Dalam Windows 16-bit, GDI ditangani oleh GDI.EXE, atau GDI32.DLL dalam Windows 32-bit.

4. User Interface

Menyediakan fungsionalitas untuk membuat dan mengatur layar jendela dan sebagian besar kontrol dasar, seperti tombol (button), baris geser (scroll bar), hingga menerima input dari pengguna melalui keyboard atau mouse. Dalam Windows 16-bit, fungsionalitas user interface ditangani oleh USER.EXE, atau User32.DLL dalam Windows 32-bit. Saat Windows XP dirilis, kontrol-kontrol dasar Windows digabungkan ke dalam ComCtl32.DLL, bersama-sama dengan Common Control Library.

5. Common Dialog Box Library

Menyediakan fungsionalitas untuk membuat kotak dialog untuk membuka dan menutup berkas, memilih warna, huruf (font) dan lain sebagainya. Antarmuka ini terdapat pada sebuah berkas dengan nama Commdlg.dll pada Windows 16-bit, atau Comdlg32.dll pada Windows 32-bit. Meskipun demikian, fungsionalitas ini dimasukkan dalam kategori User Interface.

6. Windows Shell

Komponen Windows API yang mengizinkan aplikasi untuk mengakses fungsionalitas yang disediakan oleh shell sistem operasi dan juga mengubah atau bahkan meningkatkannya. Komponen ini terdapat di dalam DLL Shell.DLL dalam Windows 16-bit, sementara dalam Windows 32-bit terdapat


(10)

di dalam Shell32.DLL. Windows 95 juga menawarkan sebuah DLL yang disebut sebagai ShlWApi.DLL. Ini juga dikelompokkan ke dalam kategori User Interface di dalam API.

7. Network Services

Mengizinkan aplikasi agar dapat mengakses kemampuan jaringan di dalam sistem operasi. Komponen ini memeliki beberapa subkomponen, yakni:

a. Network Basic Input Output System (NetBIOS) b. Windows Socket(Winsock)

c. Network Dynamic data Exchange (NetDDE) d. Remote Procedure Call (RPC)

2.3 Jaringan Komputer

Berikut akan dijelaskan berbagai hal mengenai jaringan komputer. 2.3.1 Definisi

Jaringan komputer adalah sebuah sistem yang terdiri atas komputer dan perangkat jaringan lainnya yang bekerja bersama-sama untuk mencapai suatu tujuan yang sama.

Tujuan dari jaringan komputer adalah: 1. Membagi sumber daya

2. Komunikasi 3. Akses informasi

Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) dan yang memberikan layanan disebut pelayan (server). Arsitektur


(11)

ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer.

2.3.2 Jenis-Jenis Jaringan Komputer

Jaringan komputer dapat dibedakan berdasarkan cakupan geografisnya menjadi 4, yaitu:

a. LAN (Local Area Network)

LAN digunakan untuk meenghubungkan komputer yang berada didalam suatu area kecil, misalnya didalam gedung perkantoran atau kampus. Jarak antar komputer yang dihubungkannya bisa sampai 5 sampai 10 km. Suatu LAN biasanya bekerja dengan kecepatan mulai dari 10 Mbps sampai 100 Mbps. LAN menjadi popular karena memungkinkan banyak pengguna untuk memakai sumber daya secara bersama-sama.

b. MAN (Metropolitan Area Network)

MAN merupakan suatu jaringan yang cakupannya meliputi suatu kota. MAN menghubungkan LAN-LAN yang lokasinya berjauhan. Jangkauan MAN bisa mencapai 10 km sampai beberapa ratus km. Suatu MAN biasanya bekerja pada kecepatan 1.5 sampai 150 Mbps.

c. WAN (Wide Area Network)

WAN dirancang untuk menghubungkan komputer-komputer yang terletak pada suatu cakupan geografis yang luas, seperti hubungan dari suatu kota ke kota lain di dalam suatu negara. Cakupan WAN meliputi 100 km sampai


(12)

1000 km dan kecepatan antar kota bisa bervariasi antara 1,5 Mbps sampai 2,4 Mbps.

d. GAN (Global Area Network)

GAN merupakan suatu jaringan yang menghubungkan negara-negara di seluruh dunia. Kecepatan GAN bervariasi mulai dari 1,5 Mbps sam[ai 100 Gbps dan cakupannya meliputi ribuan kilometer.

2.3.3 Topologi Jaringan

Topologi jaringan adalah suatu cara menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Topologi secara fisik dari suatu jaringan local adalah merujuk kepada konfigurasi kabel, komputer, dan perangkat lainnya.

2.3.3.1 Tipe-Tipe Utama Topologi Fisik

Berikut ini akan dijelaskan mengenai topologi fisik yang digunakan di dalam jaringan local diantaranya:

a. Topologi Garis Lurus (Linear Bus)

Topologi Garis Lurus (Linear Bus) terdiri terdiri dari satu jalur kabel utama dimana pada masing-masing ujungnya diberikan sebuah terminator. Semua nodes pada jaringan terkoneksi pada sebuah kabel utama (backbone).


(13)

Gambar 2.1 Topologi Garis Lurus (Linear Bus)

b. Topologi Jaringan Bintang (Star)

Topologi ini dirancang dimana semua node (file server, workstation, dan perangkat lainnya) terkoneksi ke jaringan melewati sebuah concentrator.


(14)

c. Topologi Jaringan Cincin (Ring)

Topologi cincin menggunakan teknik konfigurasi yang sama dengan topologi bintang tetapi pada topologi ini terlihat bahwa jalur media transmisi menyerupai suatu lingkaran tertutup menyerupai cincin (lingkaran), sehingga diberi nama topologi bintang dalam lingkaran.

Gambar 2.3 Topologi Jaringan Cincin (Ring)

Berdasarkan fungsinya maka jaringan komputer terabagi menjadi 2 jenis, yaitu:

a. Client-Server

Model hubungan client-server memungkinkan jaringan untuk mensentralisasi fungsi dan aplikasikepada satu atau dua dedicated file server. Model hubungan ini menyediakan mekanisme untuk mengintegrasikan seluruh komponen yang ada di jaringan.


(15)

Gambar 2.4 Client-Server b. Peer-to-peer

Model hubungan peer-to-peer memungkinkan user membagi sumber daya yang ada dikomputernya baik itu berupa file, layanan printer, dan lain-lain. Di dalam model ini seluruh komputer adalah sama, dimana mempunyai komampuan yang sama untuk memakai sumber daya yang tersedia dan model jaringan ini di desain untuk jaringan berskala kecil dan menengah.


(16)

2.3.4 IP Address

Internet Protocol address atau IP address adalah alamat numerik yang ditetapkan untuk sebuah komputer yang berpartisipasi dalam jaringan komputer yang memanfaatkan Internet Protocol untuk komunikasi antara node-nya. Untuk mempermudah proses pembagiannya, IP address dikelompokkan dalam kelas-kelas. Dasar pertimbangan pembagian IP address kedalam kelas-kelas adalah untuk memudahkan pendistribusian pendaftaran IP address. IP address ini dikelompokkan dalam lima kelas, yaitu: Kelas A, Kelas B, Kelas C, Kelas D dan Kelas E. Perbedaan pada tiap kelas tersebut adalah pada ukuran dan jumlahnya. IP address Kelas A dipakai oleh sedikit jaringan namun jaringan ini memiliki anggota yang besar. Kelas C dipakai oleh banyak jaringan namun anggota masing-masing jaringan sedikit. Kelas D diperuntukkan bagi jaringan multicast dan Kelas E digunakan untuk keperluan eksperimental.

Pembagian kelas-kelas IP address didasarkan pada dua hal yaitu network ID dan host ID dari suatu IP address. Setiap IP address selalu merupakan sebuah pasangan dari network ID dan host ID. Network ID ialah bagian dari IP address yang digunakan untuk menunjukkan jaringan tempat komputer berada, sedangkan host ID ialah bagian dari IP address yang digunakan untuk menunjukkan workstation, server, router dan semua host TCP/IP lainnya dalam jaringan tersebut.

Berikut ini adalah kelas-kelas IP address, yaitu: a. Kelas A


(17)

Bit pertama : 0 Panjang Net ID : 8 bit Panjang Host ID : 24 bit Byte pertama : 0-127 Jumlah : 126 Kelas A

Range IP : 1.xxx.xxx.xxx sampai 126.xxx.xxx.xxx Jumlah IP : 16.777.214 IP address pada tiap kelas A

IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar. Bit pertama dari IP address kelas A selalu dipasang nilai nol sehingga byte terdepan dari IP address kelas A selalu bernilai antara angka 0 dan 127. Pada IP address kelas A, network ID ialah 8 bit sedangkan host ID ialah 24 bit berikutnya.

b. Kelas B

Format : 10nnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh Bit pertama : 10

Panjang Net ID : 16 bit Panjang Host ID : 16 bit Byte pertama : 128 - 191 Jumlah : 16.184 Kelas B

Range IP : 128.0.xxx.xxx sampai 191.255.xxx.xxx Jumlah IP : 65.532 IP address pada tiap kelas B


(18)

IP address kelas B biasanya dialokasikan untuk jaringan berukuran sedang dan besar. Dua bit pertama dari IP address kelas B selalu dipasang dengan nilai satu dan nol sehingga byte terdepan dari IP address kelas B selalu bernilai antara 128 – 191. Pada IP address kelas B, network ID ialah 16 bit pertama sedangkan host ID adalah 16 bit berikutnya.

c. Kelas C

Format : 110nnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh Bit pertama : 110

Panjang Net ID : 24 bit Panjang Host ID : 8 bit Byte pertama : 192 - 223

Jumlah : 2.097.152 Kelas C

Range IP : 192.0.0.xxx sampai 191.255.255.xxx Jumlah IP : 254 IP address pada tiap kelas C

IP address kelas C awalnya digunakan untuk jaringan berukuran kecil (misalnya pada LAN). Tiga bit pertama dari IP address kelas C selalu berisi 110. 21 bit selanjutnya (untuk melengkapi tiga oktet pertama) akan membentuk sebuah network identifier. 8 bit sisanya (sebagai oktet terakhir) akan merepresentasikan host identifier. Ini memungkinkan pembuatan total 2,097,152 buah network, dan 254 host untuk setiap network-nya.


(19)

d. Kelas D

Format : 1110mmmm.mmmmmmmm.mmmmmmmm.

mmmmmmmm 4 bit pertama : 1110

Bit Multicast : 28 bit Byte Inisial : 224 - 247

Deskripsi : kelas D adalah ruang alamat multicast

IP address kelas D digunakan untuk keperluan IP multicasting. 4 bit pertama IP address kelas D adalah dipasang 1110. Bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP ini.

e. Kelas E

Format : 1111rrrr.rrrrrrrr.rrrrrrrr.rrrrrrrr 4 bit pertama : 1111

Bit Multicast : 28 bit Byte Inisial : 248 - 255

Kelas E adalah ruang alamat yang dicadangkan untuk keperluan eksperimental. IP address tidak digunakan untuk umum.

2.3.5 Port Jaringan Komputer

Dalam protokol jaringan TCP/IP, sebuah port adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan. Port dapat mengidentifikasikan


(20)

aplikasi dan layanan yang menggunakan koneksi di dalam jaringan TCP/IP. Sehingga, port juga mengidentifikasikan sebuah proses tertentu di mana sebuah server dapat memberikan sebuah layanan kepada klien atau bagaimana sebuah klien dapat mengakses sebuah layanan yang ada dalam server. Port dapat dikenali dengan angka 16-bit (dua byte) yang disebut dengan Port Number dan diklasifikasikan dengan jenis protokol transport apa yang digunakan, ke dalam Port TCP dan Port UDP. Karena memiliki angka 16-bit, maka total maksimum jumlah port untuk setiap protokol transport yang digunakan adalah 65536 buah. Dilihat dari penomorannya, port UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai berikut:

1. Well-Known Port

Port yang pada awalnya berkisar antara 0 hingga 255 tapi kemudian diperlebar untuk mendukung antara 0 hingga 1023. Port number yang termasuk ke dalam well-known port, selalu merepresentasikan layanan jaringan yang sama, dan ditetapkan oleh Internet Assigned Number Authority (IANA). Beberapa di antara port-port yang berada di dalam range Well-known port masih belum ditetapkan dan direservasikan untuk digunakan oleh layanan yang bakal ada di masa depan. Well-known port didefinisikan dalam RFC 1060

2. Registered Port

Port-port yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA tapi tidak


(21)

dialokasikan secara permanen, sehingga vendor lainnya dapat menggunakan port number yang sama. Range registered port berkisar dari 1024 hingga 49151 dan beberapa port di antaranya adalah Dynamically Assigned Port.

3. Dynamically Assigned Port

merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan.

Tabel 2.1 Pengelompokan Port Komputer

No Protokol Label Port Nama Port Keterangan 19 tcp/udp chargen Character

Generation

Generator karakter ini mengembalikan deretan karakter-karakter. Walaupun layanan yang ada sekarang terbatas ke 512 byte, namun bisa dijumpai server yang mengirimkan karakter secara terus-menerus sampai hubungan ke port ini diputuskan. Seringkali diserver-server lama, jika jumlah klien yang

membuka hubungan mencapai ratusan secara sekaligus, CPU time akan terkonsumsi secara besar-besaran, sehingga

membuat server menjadi lambat


(22)

20/21 tcp ftp File Transfer Protocol

Protokol untuk

menangani pentransferan file-file dari satu

komputer ke komputer lainnya. Protokol ini menggunakan dua

saluran, yang satu sebagai saluran untuk

mengendalikan lalulintas data, sedangkan yang satu lagi untuk dilintasi data itu sendiri.

23 tcp telnet Telnet Metode login jarak jauh yang paling populer, walupun tidak seaman ssh (data yang melintasi tidak dienkripsi secara

otomatis).

25 tcp mail Simple Mail

Transfer

Protokol pentransferan pesan sederhana, dan merupakan standar de facto untuk internet. 48 tcp/udp auditd Digital Audit

Daemon

Digunakan oleh daemon audit komputer-komputer digital untuk menjalankan tugas-tugas administrasi.

53 tcp/udp dns Domain Name

Server

Salah satu layanan yang cukup vital, dijalankan diserver-server, dan berfungsi untuk memberikan informasi berbentuk layanan IP xxx.xxx.xxx.xxx untuk setiap permintaan

penterjemahan dari nama-nama domain.

79 tcp finger Finger

Daemon

Daemon yang bertugas memberikan informasi mengenai pengguna-pengguna suatu sistem


(23)

kepada sang peminta. 80/

8000/ 8080/

tcp http HyperText

Transfer Procotol

Protokol pentransferan data berformat HTML (webpage) dari server kepada publik. 110 tcp/udp pop3 Post Office

Protocol v3

Protokol standar

pemeriksaan email jarak jauh. Biasanya user atau program e-mail client user me-logon untuk

memeriksa dan

mengambil pesan e-mail yang diterima lewat mailbox server. 111 tcp/udp sunrpc Sun Remote

Procedure Call

Beberapa portscanner mentargetkan port ini dan terdapat beberapa

program yang

mengeksploit port ini (mesin-mesin sun/solaris) 139 tcp/udp netbiossn NetBIOS

Session Service

Port inilah yang

digunakan sebagai sarana komunikasi dengan atau antara mesin-mesin Microsoft (NT/95/98). 143 tcp/udp imap2 Interactive

Mail Access Protocol

Salah satu protokol pengaksesan mail.

443 tcp https HyperText

Transfer Protocol Secure

Daemon penerima

permintaan tipe http yang berjalan diatas secure layer.

512 tcp exec Remote

Process Execution

Menginzinkan eksekusi proses jarak jauh dengan sistem autentifikasi berdasar file.

513 tcp rlogin Remote Login

Protocol

Port inilah yang

digunakan jika melakukan rlogin ke suatu host, dengan rlogin, user di host A tidak perlu


(24)

melewati proses login lewat telnet ke host B seperti biasa, namun bisa masuk ke home directory-nya host B (tanpa

password).

2.4 Diagram Arus Data (Data Flow Diagram)

DFD atau singkatan dari Data Flow Diagram merupakan representasi grafik dari suatu sistem yang menunjukan proses atau fungsi, aliran data, tempat penyimpan data dan entitas eksternal. DFD juga digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan. Dengan menggunakan DFD, rancangan yang akan kita buat akan lebih terarah dan lebih rinci. Sehingga kita tidak akan mengalami kesulitan dalam melakukan perancangan. Data flow diagram memiliki empat komponen, antara lain akan dijelaskan dibawah ini.

1. Terminator (external exitity)

Terminator mewakili entity external yang berkomunikasi dengan sistem yang sedang dikembangkan. Terminator merupakan kesatuan dilingkungan sistem. Biasanya terminator ini dikenal dengan nama entitas (external) sumber atau tujuan (source dan sink). Terminator dapat juga berupa departemen, divisi atau sistem diluar sistem yang berkomunkasi dengan sistem yang dikembangkan.

2. Proses

Proses sering dikenal dengan nama Bubble, fungsi atau informasi. Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input ke


(25)

output, atau dapat dikatakan bahwa komponen proses menggambarkan transformasi satu input atau lebih menjadi output. Setiap proses harus diberikan penjelasan yang lengkap sebagai berikut :

a. Identifikasi Proses

umunya berupa angka yang menunjukan nomor dari proses atau ditulis pada bagian atas simbol proses.

b. Nama Proses

Menunjukan apa yang dikerjakan oleh proses tersebut. Nama proses harus jelas dan lengkap menggambarkan bagian prosesnya nama proses diletakan dibawah identifikasi proses.

3. Penyimpanan data (data store)

Data store digunakan sebagai sarana untuk mengumpulkan data. Data store disimbolkan dengan dua garis horizontal yang paralel dimana tertutup pada salah satu ujungnya atau dua garis horizontal saja. Data store ini biasanya berkaitan dengan penyimpanan-pemyimpanan seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, contohnya file pita magnetic, file disket atau file harddisk. Data store juga berkaitan dengan pemyimpanan data.

4. Alur Data (Data Flow)

Suatu data flow atau alur data dapat dipresentasikan dengan anak panah yang menunjukan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau satu paket data atau informasi dari suatu bagian sistem ke bagian lainnya. Selain menunjukan


(26)

arah, alur data pada model yang dibuat dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real dan macam-macam informasi yang berkaitan dengan komputer.

Ada tiga tipe DFD, yaitu context diagram (diagram konteks), data flow diagram fisik, dan data flow diagram logika.

2.4.1 Diagram Konteks

Diagram Konteks adalah bagian dari DFD yang berfungsi memetakan model model lingkungan, yang dipresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. Diagram ini adalah diagram level tertinggi dari DFD. Diagram konteks menyoroti sejumlah karateristik penting sistem, yaitu : 1. Kelompok Pemakai, organisasi atau sistem lain dimana sistem melakukan

komunikasi (sebagai terminator).

2. Data Masuk, yaitu data yang diterima sistem dari lingkungan dan harus diproses dengan cara tertentu.

3. Data Keluar, yaitu data yang dihasilkan sistem dan diberikan kedunia luar. 4. Penyimpanan Data (storage), yaitu digunakan secara bersama antara sistem

dengan terminator. Data ini dapat dibuat oleh sistem dan digunakan oleh lingkungan atau sebaliknya dibuat oleh lingkungan dan digunkan oleh sistem. Hal ini berarti pembuatn simbol data storage dalam diagram konteks dibenarkan, dengan syarat simbol tersebut merupakan bagian dari dunia diluar sistem.


(27)

2.4.2 Data Flow Diagram Fisik

Data flow diagram fisik adalah representasi dari sebuah sistem yang menunjukan entitas-entitas internal dan eksternal dari sistem tersebut, Entitas-entitas internal adalah personal, tempat atau mesin dalam sistem tersebut yang mentransformasi data. Maka data flow diagram fisik tidak menunjukkan apa yang dilakukan, tetapi menunjukan dimana, bagaimana, dan siapa proses-proses dalam sebuah sistem dilakukan.

2.4.3 Data Flow Diagram Logika

Data flow diagram logika digunakan untuk menggambarkan sistem yang akan diusulkan (sistem yang baru). Data flow diagram logika tidak menekankan pada bagaimana sistem diterapkan, tetapi penekanannya hanya pada logika pada kebutuhan-kebutuhan sistem, yaitu proses-proses apa secara logika yang dibutuhakan oleh sistem.

2.5 Jaringan Semantik

Model jaringan sematik merupakan grafik, yang terdiri dari simpul-simpul yang merepresentasikan objek fisik atau objek konsep, dan busur-busur yang menunjukan relasi antara simpul-simpul tersebut. Jaringan semantik merupakan alat efektif untuk merepresentasikan pemetaan data, yang bertujuan mencegah terjadinya duplikasi data.


(28)

2.6 MS. Visual Basic 6.0

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 waktu 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 populer digunakan pada komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun 1980-an. Dan hingga saat ini, menjadi bahasa yang dialeknya 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.


(29)

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 (ia lebih cepat dari kalau kita pakai mode terinterpretasi).

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


(30)

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.

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++, JavaScript, C#, dan Java.

Visual Basic merupakan bahasa yang mendukung 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 sensitif.


(31)

38

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya untuk mengidentifikasikan masalah-masalah, dan hambatan-hambatan sehingga dapat diusulkan kebutuhan-kebutuhan untuk perbaikannya. Tahap analisis merupakan tahap yang paling kritis dan sangat penting, karena kesalahan didalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya. Analisis sistem ini diperoleh melalui observasi yang akan ditemukan beberapa data dan fakta yang akan dijadikan bahan uji dan analisis menuju penerapan dan pengembangan sebuah aplikasi sistem yang diusulkan.

3.1.1 Analisis Masalah

Kemajuan dibidang teknologi yang semakin pesat terutama dibidang informasi dan multimedia menyebabkan banyaknya orang yang menggunakan komputer. Komputer menjadi salah satu teknologi yang sangat digemari karena komputer dapat mengolah data dengan cepat dan tepat, hal ini dapat dimanfaatkan untuk membantu para pengusaha dalam mengolah usahanya agar menjadi lebih baik. Oleh karena itu, banyak perusahaan dan instansi-instansi yang menggunakan komputer untuk membantu usahanya, namun pada kenyataannya penggunaan komputer banyak disalahgunakan. Penyalahgunaan komputer ini antara lain seperti: pemakaian komputer untuk melakukan tindakan asusila, tindakan criminal (pembobolan bank, penipuan, perusakan sistem, dan lain-lain), dan bahkan penggunaan komputer kantor untuk kepentingan pribadi (misalnya bermain game) pada saat jam kerja pun itu termasuk


(32)

penyalahgunaan komputer. Untuk itu, diperlukan adanya suatu pengawasan saat menggunakan komputer, pengawasan yang dilakukan secara manual akan menyulitkan pengawas dalam melakukan proses pengawasan, karena pengawas harus selalu berada pada komputer yang diawasi, hal itu tentu saja tidak efisien dan membuang waktu.

3.1.2 Langkah-langkah penyelesaian masalah

Untuk mengatasi masalah tersebut, diperlukan suatu program aplikasi yang dapat melakukan pengawasan terhadap penggunaan komputer, sehingga dapat membantu pengawas dalam melakukan proses pengawasan.

Berikut adalah flowchart yang menggambarkan langkah-langkah penyelesaian masalah tersebut.


(33)

(34)

Berikut akan dijelaskan mengenai flowchart di atas.

1. Tentukan IP address server-side dan interval waktu pengiriman data pada

client-control. Setelah pengaturan dipasang maka aplikasi keylogger-inti akan aktif.

2. Aplikasi keylogger-inti akan membaca daftar anti-program dan selanjutnya akan melakukan pengecekan terhadap folder atau nama program yang sedang dibuka, jika sesuai maka folder atau program tersebut akan ditutup.

3. Aplikasi keylogger-inti kemudian melakukan proses pengumpulan data-data berupa: rekaman ketukan keyboard, rekaman pengaksesan folder atau program, dan rekaman gambar tampilan layar komputer client-side.

4. Data rekaman ketukan keyboard akan melalui proses enkripsi sebelum data tersebut dikirim.

5. Data rekaman gambar dan data rekaman ketukan keyboard yang telah terenkripsi kemudian dikirim melalui jaringan LAN (local area network).

6. Data diterima oleh server-control dan kemudian data rekaman ketukan keyboard

tersebut akan melalui proses dekripsi.

7. Data info gambar dan data info ketukan keyboard di simpan dalam database, sedangkan data gambar (.jpg) dan data ketukan keyboard (.txt) disimpan dalam

directory.

8. Setelah semua data tersimpan maka user dapat melakukan pengolahan terhadap data yang diterima antara lain, menampilkan data info berdasarkan kategori tertentu, melihat rekaman data ketukan keyboard, melihat rekaman data gambar, dan melakukan penghapusan data.


(35)

9. Selain melakukan pengolahan data, server-side juga dapat melakukan pengendalian terhadap client-side antara lain, mengatur ulang interval waktu pengiriman data, melakukan pengiriman pesan, dan menentukan program yang tidak boleh dibuka (anti-program).

3.2Analisis Perancangan Sistem

Perancangan sistem pada aplikasi keylogger ini dibagi menjadi 2 bagian, yaitu : 1) Client Side

Merupakan bagian dari sistem yang berada pada sisi klien yang mempunyai tugas untuk melakukan pengumpulan informasi dan mengirimkannya ke bagian server-side.

2) Server-Side

Merupakan bagian dari sistem yang berada pada sisi server yang mempunyai tugas untuk menerima dan mengolah informasi sehingga informasi tersebut mudah untuk dibaca.

Berikut akan dijelaskan cara kerja sistem

Gambar 3.2 Cara kerja sistem

Target melakukan aktivitas dengan menggunakan komputer, aktivitas yang


(36)

sisi klien, informasi-informasi yang dikumpulkan antara lain adalah data ketukan keyboard , data pengaksesan terhadap suatu folder atau program dan data gambar tampilan layar komputer. Setelah semua informasi terkumpul kemudian informasi tersebut dikirim ke bagian server melalui jaringan LAN dan selanjutnya informasi tersebut diolah dan disajikan kepada pengawas. Berikut akan dijelaskan lebih lanjut mengenai bagian-bagian dari sistem.

3.2.1. Client-side

Client-side merupakan bagian dari sistem yang berada pada sisi klien yaitu

komputer yang dipantau. Client-side bertugas untuk mengumpulkan data informasi dan mengirimkannya ke bagian server-side, dimana data yang dikumpulkan antara lain adalah data ketukan keyboard, data pengaksesan terhadap folder atau program yang telah dibuka dan yang terakhir adalah data gambar tampilan layar komputer.


(37)

Keterangan :

1. Pengawas terlebih dahulu memasang aplikasi keylogger (client-side) pada komputer target dengan cara mengaktifkannya melalui

client-control.

2. Client-control kemudian menghasilkan sebuah file konfigurasi yang

berisi inputan bagi keylogger-inti.

3. Setelah aplikasi keylogger diaktifkan melalui client-control, selanjutnya

keylogger-inti akan bekerja dengan cara mengumpulkan seluruh

informasi kegiatan target, kemudian mengirimkannya ke bagian server-side untuk diolah oleh pengawas.

Bagian client-side ini dibagi menjadi dua bagian utama, yaitu: a) Client-control

Client-control merupakan program yang berfungsi untuk

mengendalikan program keylogger-inti yang bersifat background, sehingga untuk mengendalikannya diperlukan pengendali luar.

Berikut adalah fungsi dari program client-control, yaitu: 1) Menentukan IP address server-side.

2) Mengatur interval waktu pengiriman data. 3) Mengaktifkan aplikasi keylogger-inti

4) Menonaktifkan aplikasi keylogger-inti

5) Mengembalikan semua perubahan yang telah dilakukan keylogger-inti.


(38)

Untuk menjaga agar keylogger-inti tetap aktif maka program

Client-control ini harus berada pada level administrator. Hal ini

disebabkan karena pada program client-control terdapat fungsi untuk menonaktifkan keylogger-inti, sehingga agar user lain tidak bisa menonaktifkan keylogger-inti maka client-control ini harus berada pada

level administrator.

Gambar 3.4 Cara Kerja Client-Control

Pada program client-control ini, dihasilkan sebuah file konfigurasi yang berfungsi sebagai inputan bagi keylogger-inti. File konfigurasi ini berada pada directory C dengan nama LogConfig.con.

Berikut ini adalah struktur dari file konfigurasi LogConfig.con :

Gambar 3.5 Struktur file LogConfig.con

Keterangan :


(39)

X = IP address bagian 2 Y = IP address bagian 3 Z = IP address bagian 4 A = Interval waktu pengiriman

Isi dari file konfigurasi tersebut adalah IP address yang terbagi menjadi empat bagian yaitu: W, X, Y dan Z sedangkan simbol A menunjukkan interval waktu pengiriman. Sebagai contoh, apabila alamat IP address tersebut berisi 192.168.0.1 dan waktu interval pengiriman adalah 45 menit maka file konfigurasi yang terbentuk adalah sebagai berikut:

Gambar 3.6 Contoh isi file LogConfig.con b) Keylogger-inti

Keylogger-inti merupakan program yang bersifat tersembunyi dan

berfungsi mengumpulkan informasi-informasi berupa ketukan

keyboard, gambar tampilan layar komputer dan pengaksessan terhadap


(40)

Gambar 3.7 Cara Kerja Pengolahan Data Aktivitas User

Keterangan :

1. Selama proses perekaman kegiatan, seluruh informasi disimpan melalui ruang penyimpanan data sementara.

2. Setelah semua data terkumpul, selanjutnya data akan melalui proses enkripsi.

3. Data yang telah terenkripsi kemudian disimpan kedalam data string

untuk dikirim ke server-side.

Gambar 3.8 Cara Kerja Pengolahan Data Gambar Keterangan :

1. Aplikasi keylogger melakukan pengambilan gambar layar komputer

(screen capture) terhadap target.

2. Proses screen capture menghasilkan gambar dengan format BMP dan ukuran sebesar 3,7 Mb


(41)

3. Gambar dengan format BMP kemudian dikonversi oleh aplikasi dan menghasilkan sebuah gambar dengan format JPEG berukuran 180 Kb, setelah gambar JPEG dihasilkan kemudian gambar dirim ke bagian server-side.

Berikut ini adalah fungsi dari keylogger-inti, yaitu: 1) Merekam ketukan keyboard.

2) Mengambil gambar tampilan layar komputer. 3) Merekam pengaksesan folder atau program 4) Mengenkripsi rekaman data ketukan keyboard

5) Mengirimkan semua data-data yang telah terkumpul ke server-side. 6) Menutup folder atau program yang sedang dibuka oleh client jika

sesuai dengan daftar anti-program.

Anti-program merupakan sebuah fitur yang berfungsi menutup

folder atau program aplikasi tertentu berdasarkan daftar anti-program.

Daftar anti-program merupakan sebuah file yang berisi daftar nama-nama folder atau nama program. File ini terletak pada directory C


(42)

Gambar 3.9 Cara Kerja Pengolahan Daftar Anti Program

Keterangan :

1. Pengawas melakukan penambahan / pengurangan terhadap daftar

anti-program melalui aplikasi keylogger yang berada pada komputer

pengawas (server-control).

2. Daftar anti-program tersebut kemudian dikirim kebagian client-side. 3. Setelah data diterima oleh client-side kemudian data tersebut

disimpan kedalam sebuah file (AntKill.con) yang berada pada komputer target.

4. Keylogger-inti kemudian membaca data dari file (AntKill.con)

tersebut untuk melakukan pengontrolan terhadap target berdasarkan data tersebut.

Berikut ini adalah struktur dari file AntKill.con


(43)

Keterangan :

X = Nama folder atau program n = Urutan baris

Berikut adalah contoh isi dari file AntKill.con

Gambar 3.11 Contoh isi file AntKill.con 3.2.2. Server-side

Server-side merupakan bagian dari sistem yang berada pada sisi server yang

bertugas untuk menerima semua data informasi yang telah dirimkan oleh bagian client-side.

Server-side terdiri dari satu bagian utama yaitu server-control.

a) Server-control

Server-control merupakan program yang berada pada bagian server-side

yang berfungsi sebagai penerima data-data informasi yang dikirimkan oleh client-side.

Berikut ini adalah fungsi dari program server-control, yaitu:

1) Menerima data rekaman ketukan keyboard dan data rekaman nama

folder atau program yang telah dibuka.

2) Menerima data gambar tampilan komputer client-side.

3) Mendekripsi data rekaman ketukan keyboard 4) Menampilkan data rekaman ketukan keyboard


(44)

6) Menampilkan data gambar tampilan layar komputer client-side

7) Melihat data info berupa: IP address client-side, tanggal data masuk, waktu data masuk, nama file gambar dan nama file rekaman.

8) Mengatur ulang interval waktu pengiriman data. 9) Mengirim pesan kepada client-side.

10)Menambah atau mengurangi daftar anti-program

3.3Analisis Basis Data

Dari hasil analisis, didapat data yang akan dipakai dalam proses pembangunan program aplikasi, yaitu sebagai berikut:

3.3.1 Struktur Tabel

Tabel yang terdapat dalam basis data yang digunakan dalam sistem yang akan dibangun adalah sebagai berikut:

Tabel 3.1 Tabel DataLog

Atribut Tipe data Panjang Keterangan

Id long 4 Primary Key,

AutoIncrement

IPAddress varchar 20

TglMasuk datetime

WktMasuk datetime

NamaFileText varchar 10

NamaFileGam varchar 10

LogText varchar 100


(45)

3.4 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional merupakan bagian penting agar program aplikasi dapat berjalan dengan baik. Program aplikasi keylogger membutuhkan spesifikasi perangkat keras, perangkat lunak dan spesifikasi user sebagai berikut.

3.4.1 Analisis Perangkat Keras

Perangkat keras yang digunakan untuk mengimplementasikan dan menguji sistem ini adalah sebagai berikut.

1. Processor : Dengan Kecepatan 2.0 GHZ 2. Memory / RAM : 512MB

3. Hardisk : Kapasitas 20 GB

4. VGA : Dengan Kecepatan 32 MB 5. Mouse dan Keyboard

6. Network Interface Card

3.4.2 Analisis Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan untuk membuat serta untuk mengimplementasikan program aplikasi keylogger ini adalah sebagai berikut.

1. Sistem Operasi Windows Xp Professional SP2 2. Windows Photos Viewer

3. Ms. Visio 2003 4. Ms. Word 2007 5. Visual Basic 6.0


(46)

3.4.3 Analisis Kebutuhan Pengguna

Pengguna dari aplikasi ini adalah orang yang sudah berpengalaman dalam mengaplikasikan komputer atau yang sudah mengikuti pelatihan menggunakan aplikasi ini.

3.5 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional dilakukan untuk memberikan gambaran aliran data yang ada pada program aplikasi yang akan dibangun.

3.5.1 Diagram Konteks

Diagram konteks dibentuk memiliki tujuan untuk menggambarkan hubungan keseluruhan dari sistem dengan entitas-entitas yang ada. Diagram konteks adalah diagram tingkat atas yang merupakan diagram global dari sistem yang menggambarkan aliran-aliran data dari entitas-entitas yang masuk dan keluar sistem.


(47)

(48)

3.5.1.1 DFD Level 0

!


(49)

3.5.1.2 DFD Level 1 Proses 1 (Client-control)

" # $# %! # & " ' ! ( $ %

) *$ # +! ,

" # $# %! #

) *$ # $# ) *$ # $#

" ! % !

- %$# ! & " ' ! ( $ %


(50)

3.5.1.3 DFD Level 2 Proses 1.3 (Clean)

! ) *$ # $#

" # $

) *$ # $# " ! ! . . %$#

" % $ . # +

- %$# !


(51)

3.5.1.4 DFD Level 1 Proses 2 (Keylogger-Inti) % # & ) *$ # +! , % & # & #

% & # & & &

& # & # ' % & # $ ( ) * + % * , / ! +! , # ! !

& . # ! %# 0 %

! &

& . # ! %# &

-# -# ! $ % ) #% #+#

& & # # + 1 ! $ %

& ' ! ( $ %

) *$ # +! ,

) *$ # +! ,

) *$ # +! ,

. ) *$ #


(52)

3.5.1.5 DFD Level 1 Proses 3 (Server-Control)

' & &

# & & & & + & & % && (

& & % &

&

& . # ! %#

* / & 0 & $ . % & & $ . 1 2 , # .

3 # , # &

& ! & ! 0 %

0 %

& !

& ! & !

& !

) *$ # $# ) *$ # $#

) *$ # $# ) *$ # $#

/ "2 ##

& #

# $

& # .

) *$ # $# ! ! 3% , 3% -& % # ) #%

/ !

, *


(53)

3.5.1.6 DFD Level 2 Proses 3.9 (Kirim Pesan)

Gambar 3.18 DFD Level 2 Proses 3.9 (Kirim Pesan)

3.5.1.7 DFD Level 2 Proses 3.10 (Atur Interval Waktu Pengiriman)


(54)

3.5.1.8 DFD Level 2 Proses 3.11 (Atur Daftar Anti Program)

& "2 ##

& ! $

%

" % $ . #

- &

" # &

*

) *$ # $#

4 .

- %$# " .

, 3% ! ' % & ) *$ # $#

& . # ! %

" . %$#

Gambar 3.20 DFD Level 2 Proses 3.11 (Atur Daftar Anti Program)

3.5.1.9 DFD Level 2 Proses 3.6 (menampilkan data berdasarkan tanggal)

+ % & & !

& # !

& !

*


(55)

3.5.1.10 DFD Level 2 Proses 3.5 (menampilkan data berdasarkan IP address)

Gambar 3.22 DFD Level 2 Proses 3.6 (menampilkan data berdasarkan IP address)

3.6 Spesifikasi Proses

Spesifikasi proses digunakan untuk menggambarkan semua proses model aliran yang tampak pada tingkat akhir penyaringan. Dengan memberikan sebuah PS PEC untuk mengiringi masing-masing gelembung didalam aliran, akan menciptakan sebuah spesifikasi mini yang dapat berfungsi sebagai penuntun bagi desain komponen

program yang akan mengimplementasikan program

Tabel 3.2 Spesifikasi Proses DFD Level 0 No.Proses 1.0


(56)

Deskripsi Proses pengaturan dan pengontrolan keylogger-inti Input - Request user

- Data interval waktu pengiriman

Output - File LogConfig.con - Info status aplikasi - Info laporan hasil clean

Logika Proses Begin

{user memilih menu} If (menu start)

Then

User memasukkan data File LogConfig.con tercipta Keylogger aktif

Else If (menu stop) Then

Keylogger tidak aktif Else If (menu clean)

Then

Menghapus salinan file Mengembalikan nilai registry End

No.Proses 2.0

Nama Proses Keylogger-inti

Deskripsi Proses mengumpulkan data-data dan mengirimkan hasil ke server-control


(57)

- File LogConfig.con - File AntKill.con - Data gambar

- Akses keyboard, folder atau program

Output - Data rekaman hasil enkripsi - Data gambar

- Salinan file keylogger-inti - Respon system

Logika Proses Begin

{user mangaktifkan keylogger} If (target mengakses komputer) Then

Data ketukan keyboard direkam

Data akses folder atau program direkam Data gambar tampilan layar komputer diambil

Penutupan folder atau program berdasarkan AntKill.con End

No.Proses 3.0

Nama Proses Server-control

Deskripsi Proses pengontrolan dan pengolahan semua data yang diterima dari client-side

Input - Data rekaman hasil enkripsi - Data gambar

- Melihat data info file - Melihat data rekaman - Melihat data gambar


(58)

- Menghapus data info file - Megirimkan pesan

- Mengatur ulang interval waktu pengiriman - Mengatur daftar anti-program

Output - Data rekaman hasil enkripsi - Data gambar

- Data rekaman

- Info data berdasarkan data hari ini - Info data berdasarkan semua data - Info data berdasarkan tanggal - Info data berdasarkan IP address

Logika Proses Begin

{user memilih menu} If (melihat data info dipilih) Then

Data info dapat dilihat

Else If (melihat data rekaman dipilih) Then

Data rekaman dan gambar dapat dilihat Else If (menu pengontrolan dipilih)

Then

Mengirim pesan

Mengubah interval waktu pengiriman Mengatur daftar anti program


(59)

Tabel 3.3 Spesifikasi proses DFD Level 1 Proses 1 (Client-control) No.Proses 1.1

Nama Proses Start

Deskripsi Proses pengaturan dan pengaktifan keylogger Input - Data interval waktu pengiriman

Output - File LogConfig.con - Info status aplikasi

- Request aktifkan keylogger-inti

Logika Proses Begin

{user memilih menu start} If (menu start dipilih) Then

User memasukkan data File LogConfig.con tercipta Keylogger aktif

End

No.Proses 1.2 Nama Proses Stop

Deskripsi Proses menonaktifkan keylogger Input - Request user

Output - Info aplikasi tidak aktif Logika Proses Begin

{user memilih menu stop} If (menu stop dipilih) Then


(60)

Keylogger tidak aktif End

No.Proses 1.3 Nama Proses Clean

Deskripsi Proses mengembalikan semua perubahan yang telah dilakukan oleh aplikasi.

Input - Request user Output - Info laporan clean Logika Proses Begin

{user memilih menu clean} If (menu clean dipilih) Then

Menghapus salinan file Mengembalikan nilai registry End

Tabel 3.4 Spesifikasi proses DFD Level 2 Proses 1.3 (Clean) No.Proses 1.3.1

Nama Proses Hapus salinan file

Deskripsi Proses menghapus salinan file Input - Request user

Output - Info file telah dihapus Logika Proses Begin

{user memilih menu clean} If (file ditemukan)


(61)

Then

Menghapus salinan file End

No.Proses 1.3.2

Nama Proses Membersihkan registry

Deskripsi Proses mengembalikan nilai registry

Input - Request user

Output - Info perubahan terhadap registry Logika Proses Begin

{user memilih menu clean} If (nilai registry telah berubah) Then

Kembalikan nilai registry kekondisi awal End

Tabel 3.5 Spesifikasi proses DFD Proses 2 (keylogger-inti) No.Proses 2.1

Nama Proses Pengubahan nilai registry dan penyalinan file

Deskripsi Proses merubah data registry dan menyalin file, dengan tujuan agar program keylogger tetap aktif.

Input - Request aktifkan keylogger inti Output - Perubahan registry


(62)

Logika Proses Begin

{ pengaktifan dari client-control } If (salinan file tidak ditemukan) Then

Penyalinan file keylogger Ubah nilai registry End

No.Proses 2.2

Nama Proses Pengecekan nama folder atau program yang dibuka

Deskripsi Proses pengecekan nama folder atau program yang dibuka. Jika sesuai dengan daftar AntKill.con maka folder atau program tersebut akan ditutup.

Input - Request aktifkan keylogger-inti - Akses folder atau program - File AntKill.con

Output - Respont System Logika Proses Begin

{pengaktifan dari client-control}

If (target membuka folder atau program yang sesuai dengan daftar AntKill.con)

Then

Tutup folder atau program tersebut End


(63)

No.Proses 2.3

Nama Proses Perekaman data ketukan keyboard dan data nama folder atau program yang dibuka

Deskripsi Proses merekam data ketukan keyboard dan data nama folder atau program yang dibuka.

Input - Request aktifkan keylogger-inti

- Data akses keyboard, folder atau program

Output - Data rekaman

Logika Proses Begin

{ pengaktifan dari client-control } If (target mengakses komputer) Then

Merekam data ketukan keyboard

Merekam akses data folder atau program yang dibuka End

No.Proses 2.4

Nama Proses Pengambilan data gambar tampilan layar komputer Deskripsi Proses pangambilan gambar tampilan layar komputer

Input - Request aktifkan keylogger-inti - Data gambar

Output - Data gambar Logika Proses Begin


(64)

{pengaktifan dari client-control} If (target mengakses komputer) Then

Pengambilan gambar layar komputer target End

No.Proses 2.5

Nama Proses Enkrip data

Deskripsi Proses pengenkripsian data

Input - Data rekaman

Output - Data rekaman hasil enkripsi

Logika Proses Begin

{ perekaman keyboard dan nama folder atau program } If (data rekaman sudah terkumpul)

Then

Pengenkripsian data rekaman End

No.Proses 2.6

Nama Proses Pengiriman data

Deskripsi Proses pengiriman data-data yang sudah terkumpul Input - Data rekaman hasil enkripsi

- Data gambar

Output - Data rekaman hasil enkripsi - Data gambar


(65)

Logika Proses Begin

{data-data terkumpul} If (status terkoneksi) Then

Pengiriman data ke server-control End

Tabel 3.6 Spesifikasi proses DFD Proses 3 (Server-control) No.Proses 3.1

Nama Proses Pendekripsian data

Deskripsi Proses mendekripsikan data rekaman Input - Data rekaman hasil enkripsi Output - Data rekaman

- Data info file

Logika Proses Begin

{ data diterima oleh server-control} If (data berupa rekaman hasil enkripsi) Then

Pendekripsian data rekaman Penyimpanan data info rekaman Penyimpanan data rekaman End

No.Proses 3.2


(66)

Deskripsi Proses menyimpan data gambar dan informasinya. Input - Data gambar

Output - Data gambar - Data info file

Logika Proses Begin

{ data diterima oleh server-control} If (data gambar diterima)

Then

Penyimpanan data info gambar Penyimpanan data gambar End

No.Proses 3.3

Nama Proses Menampilkan data berdasarkan data hari ini

Deskripsi Proses menampilkan data berdasarkan data info hari ini Input - Data info file

- Request user

Output - Data info berdasarkan data hari ini Logika Proses Begin

{ user memilih menu}

If (memilih menu data hari ini) Then

Menampilkan data info file hari ini End

No.Proses 3.4


(67)

Deskripsi Proses menampilkan data berdasarkan semua data Input - Data info file

- Request user

Output - Info data berdasarkan semua data info Logika Proses Begin

{ user memilih menu}

If (memilih menu semua data) Then

Menampilkan semua data info file End

No.Proses 3.5

Nama Proses Menampilkan data berdasarkan tanggal

Deskripsi Proses menampilkan data info berdasarkan tanggal Input - Data info file

- Request user

Output - Menampilkan form tanggal Logika Proses Begin

{ user memilih menu} If (memilih menu tanggal) Then

Menampilkan form penentuan tanggal End

No.Proses 3.6

Nama Proses Menampilkan data berdasarkan IP address

Deskripsi Proses menampilkan data info berdasarkan IP address Input - Info data


(68)

- Request user

Output - Menampilkan form IP address Logika Proses Begin

{ user memilih menu}

If (memilih menu IP address) Then

Menampilkan form IP address End

No.Proses 3.7

Nama Proses Lihat data rekaman

Deskripsi Proses menampilkan data rekaman ketukan keyboard dan nama folder atau program yang diakses oleh target

Input - File text server - Request user

Output - Data rekaman Logika Proses Begin

{ user memilih menu}

If (memilih menu log rekaman kegiatan) Then

Menampilkan data rekaman kegiatan target End

No.Proses 3.8

Nama Proses Lihat data gambar

Deskripsi Proses menampilkan data gambar komputer target Input - File gambar server


(69)

- Request user

Output - Data gambar Logika Proses Begin

{ user memilih menu}

If (memilih menu log gambar) Then

Menampilkan data gambar layar komputer target End

No.Proses 3.9

Nama Proses Kirim pesan

Deskripsi Proses mengirim pesan ke komputer target Input - Request user

Output - Form pengiriman pesan - Data pesan

Logika Proses Begin

{ user memilih menu}

If (memilih menu kirim pesan) Then

Menampilkan form kirim pesan End

No.Proses 3.10

Nama Proses Atur interval waktu pengiriman

Deskripsi Proses mengatur ulang interval waktu pengiriman data Input - Request user


(70)

- Update file LogConfig.con

Logika Proses Begin

{ user memilih menu}

If (memilih menu interval waktu pengiriman) Then

Menampilkan form atur interval waktu pengiriman End

No.Proses 3.11

Nama Proses Atur daftar anti program

Deskripsi Proses mangatur daftar anti-program Input - Request user

Output - Form anti program - Update file AntKill.con

Logika Proses Begin

{ user memilih menu}

If (memilih menu anti program) Then

Menampilkan form anti program End

No.Proses 3.11

Nama Proses Atur daftar anti program

Deskripsi Proses mangatur daftar anti-program Input - Request user

Output - Form anti-program - Update file AntKill.con


(71)

Logika Proses Begin

{ user memilih menu}

If (memilih menu anti program) Then

Menampilkan form anti program End

No.Proses 3.12

Nama Proses Ambil Data

Deskripsi Proses mengambil data rekaman dan data gambar pada saat itu sehingga tidak perlu menunggu pengiriman data melalui waktu yang telah ditentukan

Input - Request user

Output - Request kirim data rekaman dan data gambar

Logika Proses Begin

{ user memilih menu}

If (memilih menu ambil data) Then

Kirim data rekaman dan data gambar End

Tabel 3.7 Spesifikasi proses DFD Level 2 Proses 3.9 (Kirim Pesan) No.Proses 3.9.1

Nama Proses Pengiriman pesan

Deskripsi Proses mengirimkan pesan


(72)

Output - Info data pesan telah terkirim - Data pesan

Logika Proses Begin

{ user memilih menu kirim pesan } If (data sesuai format )

Then

Mengirimkan pesan kepada target End

Tabel 3.8 Spesifikasi proses DFD Level 2 Proses 3.10 (Atur Interval Waktu Pengiriman)

No.Proses 3.10.1

Nama Proses Ubah interval waktu pengiriman

Deskripsi Proses mengubah settingan interval waktu pengiriman data Input - Data interval waktu pengiriman

Output - Info interval waktu pengiriman berubah - Update file LogConfig.con

Logika Proses Begin

{ user memilih menu waktu pengiriman } If (data sesuai format)

Then

Data interval waktu pengiriman ter-update End


(73)

Tabel 3.9 Spesifikasi proses DFD Level 2 Proses 3.11 (Atur Daftar Anti Program)

No.Proses 3.11.1

Nama Proses Ubah settingan

Deskripsi Proses mengirimkan data daftar baru ke target Input - Request user

- Data IP address

- Data nama folder atau program

Output - Info ubah settingan - Info tambah data - Info hapus data

- Update file AntKill.con

Logika Proses Begin

{ user memilih menu anti program} If (user memilih tombol ok)

Then

Update data AntKill.con End

No.Proses 3.11.2

Nama Proses Tambah daftar

Deskripsi Proses menambah data pada daftar anti program Input - Data nama folder atau program

Output - Tambah data - Info tambah data


(74)

Logika Proses Begin

{ user memilih menu anti program} If (user memilih tombol tambah) Then

Penambahan data pada daftar End

No.Proses 3.11.3

Nama Proses Hapus daftar

Deskripsi Proses menghapus data pada daftar anti program Input - Request user

Output - Hapus data - Info hapus data

Logika Proses Begin

{ user memilih menu anti program} If (user memilih tombol hapus) Then

Penghapusan data pada daftar End

No.Proses 3.11.4

Nama Proses Pembacaan data

Deskripsi Proses membaca daftar data pada komputer target Input - Data IP address

- Baca data file AntKill.con


(75)

Logika Proses Begin

{ user memilih menu anti program} If (user memilih IP address)

Then

Data daftar pada komputer target dapat dibaca End

Tabel 3.10 Spesifikasi proses DFD Level 2 Proses 3.6 (menampilkan data berdasarkan tanggal)

No.Proses 3.6.1

Nama Proses Pengolahan data tanggal Deskripsi Proses pengolahan data tanggal Input - Data tanggal

- Data info file

Output - Data info file berdasarkan tanggal Logika Proses Begin

{ user memilih menu tanggal } If (data sesuai format)

Then

Menampilan data info file berdasarkan tanggal End


(76)

Tabel 3.11 Spesifikasi proses DFD Level 2 Proses 3.5 (menampilkan data berdasarkan IP address)

No.Proses 3.5.1

Nama Proses Pengolahan data IP address

Deskripsi Proses pengolahan data IP address Input - Data IP address

- Data info file

Output - Data info file berdasarkan IP address Logika Proses Begin

{ user memilih menu IP address } If (data sesuai format)

Then

Menampilan data info file berdasarkan IP address End

3.7 Kamus Data

Kamus data adalah kumpulan dari elemen-elemen atau simbol yang digunakan untuk membantu dalam penggambaran atau pengidentifikasian setiap field atau file

didalam sistem. Kamus data merupakan deskripsi formal mengenai seluruh elemen yang mencakup DFD. Kamus data dapat dilihat pada tabel 3.12

Tabel 3.12 Kamus Data


(77)

1 Nama alir data Data interval waktu pengiriman Where used / how

used

User (proses client-control) dan user (proses server-control)

Deskripsi User memasukkan settingan waktu pengiriman Struktur data IP address+data waktu

IP address { 0-9 | simbol} data waktu { 0-9 }

2 Nama alir data Data info file Where used/how

used

Penyimpanan dan pengambilan data pada datalog (proses server-control)

Deskripsi Berisi info-info file rekaman Struktur data IP address+TglMasuk+WktMasuk

+NamaFileText+NamaFileGam +LogText+LogGambar

IP address { 0-9 | simbol} TglMasuk { 0-9 | simbol} WktMasuk { 0-9 | simbol} NamaFileText { a-z | 0-9 | simbol} NamaFileGam { a-z | 0-9 | simbol} LogText {A-Z | a-z | 0-9 | simbol} LogGambar {A-Z | a-z | 0-9 | simbol} 3 Nama alir data Data pengiriman pesan

Where used / how used

User (proses kirim pesan)

Deskripsi Data-data yang terdapat pada proses kirim pesan Struktur data IP address+judul pesan+isi pesan

IP address { 0-9 | simbol}

Judul pesan {A-Z | a-z | 0-9 | simbol} Isi pesan {A-Z | a-z | 0-9 | simbol} 4 Nama alir data Data tanggal

Where used / how used

User (proses atur interval waktu pengiriman) Deskripsi Pengolahan data tanggal

Struktur data Tanggal mulai+tanggal berakhir Tanggal mulai { 0-9 | simbol}


(78)

3.8 Perancangan Antarmuka

a.Perancangan antarmuka client-control

Gambar 3.23 Tampilan Menu Utama Client-Control


(79)

b.Perancangan antarmuka server-control

Gambar 3.25 Tampilan Menu Utama Server-control


(80)

Gambar 3.27 Tampilan Form IP Addrees


(81)

Gambar 3.29 Tampilan Form Waktu Pengiriman


(82)

Gambar 3.31 Tampilan Form Log Rekaman Kegiatan

3.9 Perancangan Pesan


(83)

Gambar 3.32 Perancangan Pesan 3.10Jaringan Semantik

Jaringan semantik merupakan alat efektif untuk mempresentasikan pemetaan data yang bertujuan mencegah terjadinya duplikasi data.

Untuk penjelasan dari jaringan semantik yang ada dibawah ini akan diuraikan sebagai berikut.

a. Jaringan semantik client-control

T01 : Menu Utama Client-Control T02 : Tampilan Laporan Clean

M01 : Format IP Address Salah M02 : Keylogger Aktif


(84)

5

5 6

5

Gambar 3.33 Jaringan semantik client-control

b.Jaringan semantik Server-control

T03 : Tampilan Menu Utama Server-control

T04 : Tampilan Form Tanggal T05 : Tampilan Form IP Addrees T06 : Tampilan Form Kirim Pesan T07 : Tampilan Form Waktu Pengiriman T08 : Tampilan Form Anti Program

M04 : Apakah yakin data pada tanggal (tanggal data) dengan no urut (no urutan data) akan dihapus ?

M05 : Apakah yakin mau keluar ? M06 : Data telah dihapus

M07 : File tidak ditemukan


(85)

M09 : Data kosong

M10 : Pesan sudah terkirim M11 : IP address belum dipilih

M12 : Waktu pengiriman telah berubah M13 : Belum ada data yang dipilh M14 : Settingan baru telah terpasang

5

5 5 7

5

5

5

5

5

56

5 5

5


(86)

1

Seiring dengan perkembangan teknologi yang semakin pesat, penggunaan teknologi komputer sebagai salah satu sarana penunjang aktivitas kerja tidak dapat dipisahkan, karena komputer merupakan suatu alat yang dipakai untuk melakukan proses pengolahan data untuk menghasilkan informasi dengan cepat dan tepat. Oleh karena itu, banyak perusahaan yang memanfaatkan teknologi tersebut sebagai salah satu cara untuk meningkatkan produktivitas kerja.

Namun pada kenyataannya, penggunaan komputer untuk kepentingan pribadi pada saat jam kerja masih banyak dilakukan oleh karyawan-karyawan, seperti: bermain

game, chatting dan melakukan hal-hal lain yang bukan bagian dari pekerjaan, sehingga dapat menghambat produktivitas kerja. Untuk itu perlu adanya pengawasan terhadap kerja para karyawan, antara lain dengan memasang suatu aplikasi yang bertugas untuk mengawasi mereka ketika bekerja dengan menggunakan komputer. Salah satu aplikasi itu dinamakan dengan keylogger. Keylogger adalah sebuah perangkat lunak yang dapat

merekam seluruh ketukan pada keyboard sehingga kegiatan user pada saat itu dapat

diketahui.

Aplikasi keylogger ini terbagi menjadi dua bagian, yaitu bagian pengumpulan

informasi (client-side) dan bagian penerima informasi (server-side). Aplikasi

keylogger tersebut bekerja secara diam-diam dalam melakukan pengumpulan

informasi yang diperlukan sebelum pada akhirnya informasi tersebut diberikan kepada orang yang membutuhkan informasi tersebut. Pengiriman informasi dilakukan melalui


(87)

jaringan LAN (Local Area Network), LAN merupakan suatu jaringan internal yang terbatas dalam area lokal yang biasanya digunakan untuk menghubungkan komputer

yang berada pada sebuah gedung. Setelah informasi tersebut diterima oleh server maka

bagian pemantau siap untuk menindaklanjuti informasi-informasi tersebut.

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 tugas akhir (skripsi)

dengan judul “Pembangunan Perangkat Lunak Keylogger Untuk Memantau

Aktivitas User Pada Sebuah PC Berbasis LAN”.

1.2 Rumusan Masalah

Berdasarkan latar belakang dan judul yang telah dijabarkan diatas, maka pokok permasalahan yang dapat disimpulkan adalah:

Bagaimana membangun Perangkat Lunak Keylogger Untuk Memantau Aktivitas

User Pada Sebuah PC Berbasis LAN?

1.3Maksud dan Tujuan

1.3.1 Maksud

Maksud penyusunan tugas akhir (skripsi) ini adalah untuk merancang dan

membangun suatu perangkat lunak yang bertugas memantau aktivitas user pada


(88)

1.3.2 Tujuan

Tujuan pembuatan tugas akhir ini adalah untuk memudahkan seorang pengawas dalam melakukan proses pengawasan dan pengontrolan terhadap suatu komputer sehingga penggunaan komputer menjadi lebih efektif dan efisien.

1.4Batasan Masalah

Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini adalah sebagai berikut :

1. Merekam ketukan keyboard, tampilan komputer, dan program apa saja terbuka

dan menyimpannya dalam suatu file dalam jangka waktu tertentu.

2. Bekerja secara otomatis pada saat komputer pertama kali dihidupkan.

3. Dapat dikendalikan secara penuh dengan program pengontrol.

4. Bekerja pada jaringan Local Area Network (LAN).

5. Terbagi menjadi dua bagian yaitu pengumpul informasi pada sisi client dan

penerima informasi pada sisi server.

6. Data-data informasi tersebut akan melalui proses enkripsi dan dekripsi.

7. Metode analisis yang digunakan dalam pembangunan sistem ini berdasarkan

data terstruktur yaitu menggunakan Flowchart dan untuk menggambarkan diagram proses menggunakan Data Flow Diagram (DFD).


(89)

1.5 Metode Penelitian

Metode yang digunakan dalam penelitian ini adalah metode deskriptif, yakni

metode yang menggambarkan secara sistematis, faktual dan akurat mengenai informasi yang sebenarnya sesuai fakta-fakta yang di temui di lapangan.

1.5.1 Pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan

bacaan-bacaan yang ada kaitannya dengan judul penelitian. b. Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

1.5.2 Pembangunan perangkat lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan

paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses


(90)

Gambar 1.1 Model Waterfall

a. Rekayasa Sistem

Tahap ini merupakan kegiatan pengumpulan data sebagai pendukung pembangunan sistem serta menetukan kearah mana aplikasi ini akan dibangun.

b. Analisis Sistem

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

c. Perancangan Sistem

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.

d. Pengkodean Sistem

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang keadalam bahasa pemrograman tertentu.


(91)

e. Pengujian Sistem

Merupakan tahap pengujian terhadap perangkat lunak yang dibangun.

f. Pemeliharaan Sistem

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami

perubahan–perubahan atau penambahan sesuai dengan permintaan user.

1.6 Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan

BAB II. TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya

BAB III. ANALISIS MASALAH

Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti serta model matematis untuk analisisnya


(92)

BAB IV. PERANCANGAN DAN IMPLEMENTASI

Merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode dan kaidah yang diterapkan dalam penelitian. Termasuk menentukan variabel penelitian, identifikasi data yang diperlukan dan cara pengumpulannya, penentuan sampel penelitian dan teknik pengambilannya, serta metode/teknik analisis yang akan dipergunakan dan perangkat lunak yang akan dibangun jika ada

BAB V. KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir


(93)

93

Bab ini merupakan tahap penerjemahan kebutuhan pembangunan aplikasi ke dalam representasi perangkat lunak sesuai dengan hasil analisis yang telah dilakukan. Setelah implementasi maka dilakukan pengujian sistem yang baru dimana akan dilihat kekurangan-kekurangan pada aplikasi yang baru untuk selanjutnya diadakan pengembangan sistem.

4.1Implementasi

Tujuan implementasi sistem adalah untuk menjelaskan tentang manual modul kepada semua user yang akan menggunakan sistem. Sehingga user tersebut dapat merespon apa yang ditampilkan di sistem dan memberikan masukan kepada pembuat sistem untuk dilakukan perbaikan agar sistem lebih baik lagi.

4.1.1 Perangkat Lunak Pembangun

Perangkat lunak yang digunakan pada sistem komputer yang digunakan untuk membangun program aplikasi ini adalah sebagai berikut:

1. Sistem Operasi Windows XP Profesional SP 2.

2. Visual Data Manager sebagai media pembuatan database.

3. Visual Basic untuk pembuatan design dan penulisan kode program.

4.1.2 Perangkat Keras Pembangun

Kebutuhan minimum perangkat keras (hardware) yang diperlukan untuk mengimplementasikan program aplikasi yang dibuat adalah perangkat keras komputer


(1)

119 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan dari skripsi yang berjudul : “Pembangunan Perangkat Lunak Keylogger Untuk Memantau Aktivitas User Pada Sebuah PC Berbasis LAN”

adalah aplikasi keylogger ini dapat untuk memudahkan seorang pengawas dalam melakukan proses pengawasan dan pengontrolan terhadap suatu komputer (PC)

sehingga penggunaan komputer dapat menjadi lebih efektif dan efisien.

5.2 Saran

Dalam pembuatan aplikasi keylogger ini masih banyak hal yang dapat dikembangkan, seperti :

1. Program aplikasi yang sudah dibangun hanya dapat digunakan maksimal oleh lima komputer. Sehingga apabila akan digunakan untuk ruang lingkup yang lebih besar, maka diperlukan adanya pengembangan terhadap jumlah komputer yang digunakan.

2. Untuk pengembangan lebih lanjut diperlukan adanya hubungan komunikasi antara pengguna dan pengembang berupa laporan-laporan apabila dalam menggunakan aplikasi ditemukan kesalahan-kesalahan (bug).

Demikian saran yang dapat penulis berikan, semoga saran tersebut bisa dijadikan sebagai bahan masukkan yang dapat bermanfaat bagi penulis khususnya dan umumnya bagi masyarakat luas.


(2)

v

DATA PRIBADI

Nama : Bambang Tri Yudhanto Tempat / tanggal lahir : Bandung / 6 Maret 1987

Agama : Islam

Jenis Kelamin : Laki-laki

Status : Belum Menikah

Alamat : Jl. Sukari 2 no 243

Telp : 085222303791


(3)

PEMBANGUNAN PERANGKAT LUNAK KEYLOGGER

UNTUK MEMANTAU AKTIVITAS USER PADA SEBUAH PC

BERBASIS LAN

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Strata I Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

BAMBANG TRI YUDHANTO

10105161

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(4)

120

DAFTAR PUSTAKA

Wardana, R, S. Hut, (2006), Pemrograman Virus & Spyware, Jasakom, Jakarta. Achmad Darmal, (2006), Computer Worm 1 Secret of Underground Coding,

Jasakom, Jakarta.

Aat Shadewa, (2009), Seni Hacking Menggunakan Trojan, DSI Pulishing, Jakarta. VygoriViva CR, (2001), Trik Pemograman Jaringan dengan Visual Basic 6, Gava

Media, Yogyakarta.

Budhi Irawan. (2005), Jaringan Komputer, Graha Ilmu, Yogyakarta.

Tri Amperiyanto. (2008), Buku Suci Trojan The Server, PT. Elex Media Komputindo, Jakarta


(5)

(6)