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.
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
10
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.
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
12
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
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".
14
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
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
16
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
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
18
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)
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)
20
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.
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.
22
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.
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
24
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
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
26
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
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
28
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
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
30
kepada sang peminta. 80/ 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
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
32
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)
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.
34
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
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.
36
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).
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.
38 BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1Analisis Sistem
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
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.
40
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.
42
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
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.
44
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
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 :
46
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
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.
48
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.
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
50
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
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
52
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.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
54
3.5.1.1 DFD Level 0
!
56
3.5.1.2 DFD Level 1 Proses 1 (Client-control)
" # $# %! # & " ' ! ( $ % ) *$ # +! ,
" # $# %! #
) *$ # $# ) *$ # $#
" ! % !
- %$# ! & " ' ! ( $ %
3.5.1.3 DFD Level 2 Proses 1.3 (Clean)
!
) *$ # $#
" # $
) *$ # $# " ! ! . . %$#
" % $ . # +
- %$# !
58
3.5.1.4 DFD Level 1 Proses 2 (Keylogger-Inti)
% #
3.5.1.5 DFD Level 1 Proses 3 (Server-Control)
60
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)
3.5.1.8 DFD Level 2 Proses 3.11 (Atur Daftar Anti Program)
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)
+
62
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
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
64
- 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
Nama Proses Server-control
Deskripsi Proses pengontrolan dan pengolahan semua data yang diterima dari client-side
Input - Data rekaman hasil enkripsi - Data gambar
- 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
66
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
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
68
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
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
70
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
{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
72
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
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
74
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
- 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
76
- 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
- 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
78
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
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
80
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
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
82
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
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
84
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 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}
User (proses atur interval waktu pengiriman) Deskripsi Pengolahan data tanggal
Struktur data Tanggal mulai+tanggal berakhir
3.8 Perancangan Antarmuka
a.Perancangan antarmuka client-control
Gambar 3.23 Tampilan Menu Utama Client-Control
86
b.Perancangan antarmuka server-control
Gambar 3.25 Tampilan Menu Utama Server-control
Gambar 3.27 Tampilan Form IP Addrees
88
Gambar 3.29 Tampilan Form Waktu Pengiriman
Gambar 3.31 Tampilan Form Log Rekaman Kegiatan
3.9 Perancangan Pesan
90
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
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
92
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
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
2
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
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).
4
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
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