Pembangunan Perangkat Lunak Keylogger Untuk Memantau Aktivitas User Pada Sebuah PC Berbasis LAN
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)