Aplikasi Remote Control Komputer Client-Server Menggunakan Delphi...
Transcript of Aplikasi Remote Control Komputer Client-Server Menggunakan Delphi...
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
173
Aplikasi Remote Control Komputer Client-Server
Menggunakan Delphi dan Komponen Internet
Direct (Indy)
Dian Soni Amellia1, Andrew Fiade
2, Lucky E. Santoso
3
Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercubuana1,3
Jl. Meruya Selatan, Kembangan, Jakarta 11650
Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah2
Jl. Ir. H. Juanda No. 95, Ciputat, Jakarta 15412 Email: [email protected]
2
Abstrak – Penelitian ini bertujuan membuat
aplikasi yang dapat mengendalikan komputer dari
jarak jauh menggunakan jaringan komputer.
Aplikasi dibangun menggunakan IDE Delphi dan
komponen Indy. Berdasarkan hasil pengujian,
dapat disimpulkan bahwa aplikasi telah berjalan
sesuai tujuan pembuatannya.
Kata Kunci: Internet Direct, Remote Computer,
Delphi, Socket Programming
I. PENDAHULUAN
Dewasa ini dunia IT berkembang dengan sangat
pesat. Perkembangan itu memungkinkan orang untuk
dapat melakukan apa saja melalui komputer. Melalui
sebuah komputer, user dapat melakukan banyak
aktifitas cukup hanya dengan mengendalikan dari
suatu tempat. Untuk menghindari terjadinya hal-hal yang tidak
diinginkan, maka ada baiknya agar administrator
dapat memonitor kegiatan yang terjadi pada komputer
lainnya. Kegiatan ini mungkin sudah tidak asing lagi
bagi pecinta produk IT. Sebutlah seperti Radmin,
Remote desktop pada windows, VNC, dan lain-lain.
Dengan adanya aplikasi remote control komputer
client-server, client dapat mengendalikan, monitor,
bahkan berkuasa penuh terhadap server yang sedang
dikendalikan, sehingga dampak negatif yang akan
ditimbulkan oleh user dapat dihindari. Terinspirasi oleh hal ini, perlu adanya
pengembangkan aplikasi Remote Control pada
komputer client-server yang berbeda, menggunakan
bahasa pemograman yang berbeda.
Disini penulis mencoba mengembangkan
aplikasi yang sejenis dengan menggunakan bahasa
Pemograman Delphi dan komponen Internet Direct,
(Network Media Library (NMM). Mengingat
perkembangan Internet Direct (Indy) yang terus
berkembang, maka ini merupakan keuntungan untuk
dapat mempelajari cara menggunakan Indy dan
kemudian mengembangkan aplikasi ini secara lebih, seperti menambahkan fitur baru untuk aplikasi remote
control komputer client-control.
II. METODE PENELITIAN
Penelitian ini diawali dengan studi literatur
tentang penelitian analisa kerja aplikasi remote
control komputer. Beberapa hasil studi terhadap topik
dalam penelitian ini diuraikan dalam beberapa
paragraf berikut ini.
2.1. Jaringan Komputer
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, contohnya berbagi
pemakaian printer, CPU, memori, harddisk.
2. Komunikasi, contohnya surat elektronik, instant
messaging, chatting
3. Akses informasi, contohnya web browsing
Berdasarkan topologi fungsi dikenal topologi
peer to peer dan client-server.
a. Peer to peer
Pada jaringan ini semua komputer berkedudukan
sama dalam berbagai informasi dan berkomunikasi.
Model ini digunakan pada perumahan, kantor kecil,
dan lainnya dengan sekala kecil.
b. Client-Server
Pada jaringan ini, terdapat sebuah komputer sebagai
server dan beberapa komputer sebagai client. Pada jaringan ini, sangat disarankan menggunakan
spesifikasi komputer server lebih tinggi dari
komputer client. Hal ini disebabkan komputer
server berkomunikasi data kepada komputer client
secara terus-menerus. Client adalah terminal
komputer yang merupakan komputer di mana
pengguna jaringan bekerja, sedangkan server adalah
komputer yang berperan sebagai manajemen
komunikasi data dalam jaringan.
Jaringan komputer client-server dibangun dalam
bentuk dan ukuran yang sesuai dengan kebutuhan
individu atau perusahaan. Berikut ini yang termasuk jaringan client-server, yaitu:
a. Local Area Network (LAN)
b. Wide Area Network (WAN)
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
174
c. Metropolitan Area Network (MAN)
2.2. Socket Programming
Penggunaan socket programming
memungkinkan adanya komunikasi antara client dan
server. Salah satu contoh sederhana penggunaan
socket programming adalah pembuatan program
untuk chatting. Program tersebut sebenarnya
merupakan bentuk aplikasi berupa komunikasi antara
client dan server. Ketika seorang user (client)
melakukan koneksi ke chat server, program akan membuka koneksi ke port yang diberikan, sehingga
server perlu membuka socket pada port tersebut dan
“mendengarkan” koneksi yang datang. Socket sendiri
merupakan gabungan antara host-adress dan port
adress. Dalam hal ini socket digunakan untuk
komunikasi antara client dan server.
Proses yang biasa terjadi pada sistem client-
server yaitu client akan melakukan looping terus
menerus selama server masih aktif mendengarkan
koneksi dan akan berhenti ketika menerima output
balik dari server berupa kata “keluar”. Ketika user mengetikkan input string, maka akan dibaca sebagai
sebagai pesan dan kemudian dikirimkan ke server.
Kemudian server yang menerima masukan itu
mengirimkannya kembali ke client, demikian
seterusnya hingga data yang dikirimkan client berupa
kata “keluar”, maka looping di server untuk
mengirimkan data ke client juga akan berhenti.
Protokol yang sering digunakan dalam internet adalah
TCP (Transmission Control Protocol) dan UDP (User
Datagram Prototocol).
2.3. Internet Direct Indy (Internet Direct) merupakan komponen
open source yang terdiri dari protocol internet yang
populer, Indy terdapat pada Delphi, Kylix dan
Borland C++ Builder.
Komponen–komponen indy memakai cara
tengah, yaitu memakai koneksi blocking secara
eksklusif dan dapat memasukan program ke dalam
sebuah thread atau memakai komponen pembantu,
yaitu IdAntiFreeze. Memakai koneksi blocking untuk
mengimplementasikan sebuah protokol akan
menyederhanakan logika program. Indy 9 dikembangkan untuk melengkapi
kebutuhan yang belum dapat diperoleh pada Indy
versi 8. Sebagai contoh: penggunaan SSL pada indy 8
digantikan oleh IOHandlers pada komponen klien
yang dapat dihubungkan dari TidSocketHandler.
Komponen lainnya yang juga sudah ada pada indy 9
yaitu SocksInfo. Dalam paket Indy juga diletakkan
IdAntiFreeze ke dalam desain-waktu paket bukan run-
time paket sehingga paket run-time hanya akan
tergantung pada RTL dan bukan visual Component
Library. Dalam Borland Delphi, ini bukan masalah
jika dimasukkan IdAntiFreeze dan karena unit itu tidak memiliki waktu desain-kode di dalamnya sama
sekali.
Indy 9 juga dirancang untuk mendukung
program C++, dan saat ini Indy sudah dikembangkan
lagi hingga Indy versi 10 dengan komponen yang
lebih bervariasi.
III. HASIL DAN PEMBAHASAN
3.1. Analisa dan Perancangan
Aplikasi Remote Control ini merupakan
pengembangan dari remote control yang sudah ada.
Sesuai dengan namanya, maka minimal dibutuhkan
dua komputer untuk menjalankan aplikasi ini, yang mana pada penelitian ini penulis hanya menggunakan
dua komputer saja. Satu komputer akan berfungsi
sebagai komputer server dan komputer lainnya akan
berfungsi sebagai client. Disamping juga juga
dibutuhkan kabel cross sebagai penghubung.
Aplikasi ini juga dirancang melalui beberapa tahapan,
diantaranya yaitu dengan terlebih dahulu membuat
use case diagram, diagram sekuensial, dan diagram
aktivitas, kemudian baru merancang pada programy
ang penulis gunakan. Dalam tulisan ini hanya akan
ditampilkan gambar use case dan sequence diagram, yang dapat dilihat pada Gambar 1 dan Gambar 2.
User
User
Aktifkan koneksi ke client
Aktifkan ‘paint’ pada
Komputer server’
Putuskan koneksi ke client
Aktifkan task manager
pada komputer server
Input IP address
milik komputer server
Putuskan koneksi
ke server
Kuasa penuh terhadap server
Gambar 1. Use case diagram aplikasi remote control
komputer client-server
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
175
Server Client
User
Aktifkan aplikasi
Aktifkan aplikasiHalaman utama aplikasi
Halaman utama aplikasi
Aktifkan koneksi ke client
Terhubung ke client Aktifkan koneksi ke
server
Terhubung ke server
Aktifkan task manager server
Task manager server muncul di
client
Kuasa penuh terhadap server
Server di-remote penuh oleh
client
Menonaktifkan koneksi ke client
Koneksi ke client putusMenonaktifkan koneksi ke server
Koneksi ke server putus
Gambar 2. Sequence Diagram Aplikasi Remote Control Komputer Client-Server
3.2. Implementasi dan Pengujian
Implementasi merupakan penerapan
perancangan sistem yang telah dilakukan sebelumnya
ke dalam bentuk yang dapat dimengerti oleh mesin
dengan spesifikasi perangkat lunak serta perangkat
keras yang digunakan.
Pada Gambar 3, Gambar 4, Gambar 5, Gambar 6 dan Gambar 7, disajikan beberapa contoh kode
pemograman yang diimplementasikan pada aplikasi.
begin
edIP.Text:= LocalIP;
Server.Port:= edPort.Value;
Server.Active:= true;
Gambar 3. Potongan kode pemograman untuk
menghubungkan server dengan client
begin
acEnableRC.Checked:= not
acEnableRC.Checked;
end;
Gambar 4. Potongan kode pemograman pengaktifan
layanan pada server
begin Client.ServerHost:= edHost.Text
Client.ServerPort:= sedPort.Value;
try
if Client.Active then Client.Disconnect;
Client.Connect
except
acActive.Checked:= false;
Gambar 5. Potongan kode pemograman untuk
menghubungkan client dengan server
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
176
acRunTaskManager.Enabled:=
acEnableRC.Checked;
paint.Enabled:= acEnableRC.Checked;
Gambar 6. Potongan kode pemograman pengaktifan
layanan pada client
Client.SendCustomCommand(cmdShellExec
+ 'P=' + 'taskmgr' + ';');
Client.SendCustomCommand(cmdShellExec
+ 'P=' + 'mspaint' + ';');
Gambar 7. Potongan kode pemograman menampilkan task manager dan paint pada client
Pengujian di sini berdasarkan pada pengujian
kotak hitam, bisanya orang menyebutnya dengan
Black Box Testing. Pada pengujian kotak hitam ini,
pengujian lebih ditekankan kepada ”apa”, yaitu apa
saja yang dapat dilakukan oleh sebuah aplikasi. Di
sini yang akan kita uji yaitu apa saja yang dapat
dilakukan oleh aplikasi Remote Control Komputer
Client-Server, apakah fitur-fitur tersebut dapat
berjalan dengan baik. Pada Gambar 8, Gambar 9, Gambar 10, Gambar
11 dan Gambar 12, disajikan hasil pengujian yang
telah dilakukan terhadap aplikasi yang telah dibangun.
Gambar 8 Tampilan awal saat aplikasi pada server
dijalankan
Gambar 9. Tampilan halaman awal saat aplikasi pada client dijalankan
Gambar 10. Tampilan saat menu „Connection‟ dan
sub menu „Active‟ dijalankan
Gambar 11. Tampilan saat komputer client berhasil
terhubung
ke komputer server
Gambar 12. Tampilan monitor server saat
dimunculkan ‟windows task manager‟ dari komputer client
Selama melakukan pengujian, penulis juga
melakukan analisa terhadap program server dan
client. Berikut ini hasil analisa terhadap program
antara server dan client:
1. Aplikasi server dapat berjalan dengan baik,
dengan kondisi tidak ada firewall yang aktif atau
firewall mengijinkan untuk mengaktifkan service
dari server.
2. Aplikasi client dapat terhubung ke server dengan terlebih dahulu mengetikkan alamat ip address dan
nomor port yang benar.
3. Aplikasi client dapat mengendalikan komputer
dengan server, dengan hasil percobaan komputer
server dapat digerakkan cursor mouse-nya melalui
komputer client.
4. Aplikasi ini masih memiliki kelemahan, ketika
pertama kali client dikenadalikan, hasil capture
belum sempurna terlihat pada gambar 4.15. Jika
banyak aplikasi lain yang berjalan, misalkan
mengunduh atau mengunggah mempengaruhi
kualitas gambar. 5. Secara keseluruhan aplikasi ini dapat
dikembangkan untuk meningkatkan performa
seperti aplikasi remote admin ataupun aplikasi
remote desktop yang terdapat pada windows,
dimana aplikasi remote admin mempunyai fitur
view only ataupun full of control
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
177
IV. KESIMPULAN
Setelah melakukan desain, implementasi dan
pengujian pada aplikasi remote control komputer
client-server menggunakan Indy 9, diperoleh kesimpulan sebagai berikut:
1. Rancangan aplikasi remote control komputer
client-server dapat berjalan dengan baik
menggunakan Indy 9, Delphi 7 dan Network
Multimedia Library (NMM) pada sistem operasi
windows.
2. Beberapa fungsi yang disediakan bekerja seperti
memunculkan windows task manager,
mengaktifkan aplikasi „paint‟, shutdown, restart
pada komputer server dari komputer client , pada
komputer server yang dilakukan dari komputer
client dapat berjalan dengan baik. Ada beberapa faktor penyebab aplikasi yang
penulis kembangkan masih jauh dari kesempurnaan,
terutama keterbatasan waktu. Untuk itu ada beberapa
catatan dari penulis yang mungkin dapat menjadi
saran untuk pengembangan aplikasi ini selanjutnya.
Saran-sarannya sebagai berikut:
1. Pada aplikasi yang penulis kembangkan, proses
pengendalian untuk mematikan komputer server
tidak dapat berjalan dengan baik dikarenakan
sintaks pada aplikasi hanya mampu membaca
perintah satu kata, sementara perintah untuk mematikan lebih dari satu kata. Untuk
pengembangan, ke depan diharapkan proses
mematikan komputer server melalui komputer
client dapat dilakukan yaitu dengan merevisi
sintaks agar dapat membaca perintah lebih dari
satu kata.
2. Dari pengujian yang dilakukan, proses copy-paste
dari komputer client terhadap komputer server
hanya bisa dilakukan dari dan komputer server
saja. Diharapkan ke depannya ada pengembangan
proses copy-paste antara client-server.
3. Diharapkan ke depannya ada pengembangan aplikasi remote control client-server yang dapat
menjalankan diri sendiri tanpa harus dijalankan
secara manual oleh user.
4. Diharapkan ke depannya koneksi remote control
komputer client-server menggunakan Indy 9 tidak
hanya terbatas pada proses pengendalian, tetapi
juga untuk saling bertukar data, chatting, dan lain-
lain.
V. DAFTAR PUSTAKA
[1] Chairunnas, Andi dan Bernard Mediarman.
Rekayasa Perangkat Lunak. Ed.2. Bogor: 2006.
[2] Munawar. 2005. “Pemodelan Visual Dengan
UML”. Graha Ilmu.
[3] Pressman, Roger S. 1997. Sofware
Engineering, A practitioner’s Approach. Edisi
keempat. New york: McGraw-Hill Inc.
[4] Purbo, Onno W, dkk. Buku Pintar Internet
TCP/IP. Cet.2. Jakarta: PT. Elex Media
Komputindo.
[5] Utomo, Eko Priyo, ST. Pengantar Jaringan
Komputer bagi Pemula. Bandung: Yrama
Widya, 2006 [6] -----[online], http://www.i-software.narod.ru/ ;
[2009, Desember 01]
[7] -----[online], http://www.ilmukomputer/ ;
[2009, November 20]
[8] -----[online],
http://belajarit.um.ac.id/belajar/artikel/Arsitekt
ur%20Protokol%20TCP-IP.pdf ; [2009,
November 20]
[9] -----[online], http://www.sourcodeonlie.com/;
[2009, November 10]
[10] -----[online], http://www.indyproject.org/;
[2009, November 18] [11] -----[online], http://www.nevrona.com/ ; [2009,
November 15]