6. implementasi class robot java pada aplikasi remote desktop knsandi 2012 2 bali jasman pardede

13

Upload: jvolct

Post on 21-Oct-2015

91 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede
Page 2: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Dipublikasikan Tahun 2012 Oleh:STMIK STIKOM BALIDenpasar - Indonesiawww. stikom-bali. ac. id

Editor:Yudi Agusta, PhD

Asisten Editor:Desy Tri Puspasari, S.KomTubagus Mahendra Kusuma, S.E

Disain Cover:Tubagus Mahendra Kusuma, S.E

Dicetak di Denpasar - IndonesiaPERCETAKAN RYZQUNA PRINTING

ISSN: 1979-9845

Page 3: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Konferensi Nasional Sistem dan Informatika 2012; Bali November 17,2012

DAFTAR NTVIEWTN

Agus Fanar Syukd, PhD (Lembaga Ilmu Pengetahuan Indonesia)

Agus Pribadi, ST, MSc (STMIK nrfirigoraMataram)

Andreas Handojo, MT (Universitas Kristen Petra Surabaya)

Anto Satriyo Nugroho, DR.Eng (Badan Pengkajian dan Penerapan Teknologi)

Dahliyusmanto, MSc (Universiti Teknologi Malaysia)

Edhy Sutanta, ST, MKom (AKPRIND Yogyakarta)

Indra Adj i Sulistijono,ST,M.Eng (Institut Teknologi Sepuluh Nopember)

Khairul Munadi ([Jniversitas Syrah Kuala)

Lintang Yuniar Bonosuwari, DR (Universitas Gunadarma)

Marvin Candra Wijayq MT (Universitas Kristen Maranattra)

Muhammad Arhami (Politeknik Negeri Lhokseumawe)

Muhamad Said Hasibuan, M.Kom (Institut lnformatika dan Bisnis Darmajaya)

Rudi Adipranata" MEng (Universitas Kristen Petra Surabaya)

Son Kuswadi, DR (Institut Teknologi SepuluhNopember)

Surya Sumpeno (Institut Teknologi Sepuluh Nopember)

Wahju Sediono, DR.Eng (Badan Pengkajian dan PenerapanTeknologi)

WarniaNengsih Sikumbang, SKom, MKom (Politeknik Caltex Riau)

Widodo, SKom, MKom (Universitas Negeri Jakarta)

Yudho Giri Sucahyo, DR (Universitas Indonesia)

Yudi Agusta, PhD (STMIK SIKOM Bali)

Page 4: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Konferensi Nasional Sistem dan krformatika 2012;Bah, November 17,2012

DAF'TAR ISI

KATA PENGANTAR

DAFTAR REVIEWER

DAFTAR ISI

KEYNOTE SPEAKERz Augmented Reality and Ubiquitous Multimedio: The Next Digital Media vI{ochamad Hariadi, PhDElectrical Engineering Department, Sepuluh Nopember Institute of Technologt, Sttrabaya

DAFTAR MAKALAII

IKNS&r12401IKNS&r12-0021IKNS&r12-oo3]EC\rS&I12-0041

[KNS&r12405]

6NS&r12-006l

KNS&r12-0071

EC\rS&I12-0081

KNS&r12-00eIKNS&r12-0101pcvs&r12-0111

rQ{s&I12-012I

IKNS&r12-0131IKNS&r12-014I

[c{s&r12-015]

KNS&r12-016I

l[3\rs&I12417I

KNS&r12-0181KNS&u24191IKNS&r12420IIKNS&r1242U

KNS&r124221

IKNS&r124231

po,rs&I124241

pors&fi2-025]

IKNS&r124261[KI{S&r12427]

Aplikasi Dinas Pariwisata dan Kebudayaan Jawa Barat Berbasis Mobile Web IImplementasi Class Robot Java Pada Aplikasi Remote Desktop 9

Perancangan dan Implementasi Penr;antauan Bandwidth Usage Jaringan Komputer 18

Pemantauan Performa Perangkat Keras Pada Server Dengan Psutil Bthon Library dan ResftlWeb Senice Menggunakan Deploy Engine 24

Strategi Pemanfaatan Sistem PenerimaanMahasiswa Berbasis Web UntukMeningkatkanKeunggulan Kompetitif Perguruan Tinggi di Bangka Belitung (Studi Kasus: STMIK Atrna

30Luhur)Pemanfaatan Squid Sebagai Web Proxy Server Untuk Mempercepat Koneksi lnternet danPenglrematan Pemakaian Bandwidth 36

Rancang Bangrm Sistem lnformasi Rawat Jalan Menggunakan Metode Berorientasi Objek:Studi Kasus Klinik Sehat Sungailiat Bangka Belitung 4IRancangan Sistem Informasi Perpustakaan Berbasis Web Studi Kasus STMIK Atma LuhurPangkalpimngModel Sistem Informasi Perngihan Retribusi Sampah: Studi Kasus BLH SungailiatMembangun Sistem Informasi Persediaan Barang Pada Instansi PemerintahMembangun Rancangan Sistemfufornrasi Pe{ualan PadaToko SirmrBuanahftbel DenganMetodologi Berorientasi ObjekRancangan Pengembangan Sistem Basisdata Peminjaman Buku Dengan Karfu Anggota danBuku Ber-Barcode Studi Kasus: Perpustakaan Kota PangkalpinangMembangunRancangan Sistem krformasi Perpustakaan: Studi Kasus SD N 1 Pangkalpinang

Membangrrn Sistem Informasi Administrasi Pinjaman Pakai Senjata Api (Senpi) Studi Kasus:

Kepolisian Resort Kota Pangkalpinang Dengan Metodologi Berorientasi ObjekRancang Bangun Sistem Informasi Surat Keterangan Catatan Kepolisian (SKCK) Studi Kasus:

Kepolisian Resort Kota Panglolpinang Dengan Metodologi Berorientasi ObjekSistem Pendukung Keputusan Untuk Menentukan Model Pengembangan Sistem PembelajaranBerbasis IntemetPerancangan dan Implementasi Sistem Pakar Prediksi Penyakit Jantung Berdasarkan MetodeBackward Chaining danFuz4 LogqcItlembaagua Si$em Iafcrrpasi Pasieo Rawat Jalan Pada Plrskesrnas Taruan Sari Pa*gkalpinangSistem Pakar Unhrk Diagnosa Penyakit Vertigo Dengan Metode Forward ChainingPerencanaan Strategis Sistem Informasi Studi Kasus PT Prime Capital SecuritiesAnalisis Information VisualizationPada Website Bandar UdaraHartsfield-Jackson, Heathrow,dan BedingPerancangan Algoritrna Kriptografi Rivest Shamir Adleman (RSA) Untuk Keamanan Data diOracle 10gAplikasi Pembagian Ketompok Kelas Menggrrnakr Algoritma Genetik Pada SMA Budi MtdiaTangerang 135

Pengontrolan dan Monitoring Ruang Kelas Dengan Menggunakan Controller Board ARM2368 l4lExplaining Behavioral Intention On Informdion Technology: A Case Study of CIMB Niagalnternet Banking in SurabayaImplementasi Data Mining Untuk Menemukan AssociationRule Pada Data Pe$ankanImplementasi Trust Negotiation Pada E{ommerce Dengan Marnjemen IdentitasMenggunakan Metode Enkripsi Asimetrik Riverst Shamk Adleman (RSA)

475360

66

72

77

83

88

93

99106

t12116

t23

129

l4'7154

160

Page 5: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

KNS&I12 iNasional Sistem dan krformatika 2012; Bali, November 17,2012 KNS&r 12-002

IMPLEMENTASI CLASS ROBOT JAVA PADA APLTKASI REMOTEDESKTOP

Jasman PardedeTeknik Informatika, Institut TelCIfologi Nasional Bandung

[email protected]

ABSTRACTDesktop is a term to represent a device that is located in a particular location used to access other device from a

location. Some existing Remote Desktop applications hsve been created is Windows and Macintosh OS.Jlrzdows Remote DesWop hos a functionality to transmit a con/ of the screen (screen captured), responsibility keyboardd mouse events, and voice. Macintosh Remote Desktop provides additional features such as remote installation. Theq@ications can only be used remotely on each platfurm by internet device. However, there is a condition where peopleJutt to dccess data and applications in multiplatform. To solve the problem, researcher developed a multipla{ormMrcte Desldop Application. Programming laruguage that supports multiplatform is Jovo. To send screen of server PCd hondle mouse and kzyboard events are Wrformed by user, researcher then implements the class Robot provided in,b'a-awt package. The client server communi"aiion impliments Java socket programming using TCP/IP protocol.fu*vrds: Remote Desktop, Screen Captured, Keyboard and Mouse Events, Multiptaform, Class Robot.

L Pendahuluanfi6 bab ini membahas tentang latar belakang perlunya mengembangkan aplikasi Remote Desktop [erbasis Jav4 rumusantnrselah, tujuan penelitian, dan batasan masalah dalam pengembangan aplikasi.

Ll Latar Belakang,Wte Desktop adalah sebuah istilah untuk meu,akili kejadian di mana sebuah PC atau perangkat komputer ya11g ada dtm lokasi tertentu, dapat diakses dan digunakan dari tempat yang berbedat'1. Penggunaan komputer yang di remotertutu& hanya terbatas pada tampilan teks tetapi tampilan desldop komputer seperti saat menggunakannya secara langsung.We Desktop dalam mengendalikan dan menampilkan salinan gambar layar (screen captured) komputer yang&pnrlqlikan dipengaruhi oleh kualitas jaringan komunikasi antar kedua komputer dalam interval waktu tertentu.

Wd atau mouse ke komputer yang meremofe. Teknolo$ Remote Desktop bukanlah teknologi barq teknologi iniffi qrkrry lama dikenal dalam dunia komputerimsi.

Lber4a aplikasi Remote Desktop lang sudah pernah dibuat di antaranya Remote Desktop Windows dan Macintosh.Mtc Desktop bawaan Windows memiliki fungsionalitas mentransmisikan salinan layar (screen captured), event&E6alrddan mouse,dan suarat2l. Remote Desktop Macintosh disamping firngsionatita. yung dimifiki oleh Windows jugagnaatan frurgsionalitas tambahan seperti penginstallan secara remotelt). Tetapi kedua Remote Desktop tersebuth-{a dapat melakukan remote pada platformnya masing-masing dan jaringan komunikasi menggunakan jaringanhilEt Untuk menyelesaikan masalah tersebu! peneliti akan mengembangl€n aplikasi Retnote Desktop yarlgdWatform. Bahasa pemrograman yang mendukung multiplatform yaitu bahasa pemrogaman Java. Untuk dapatuElrimtan screen captured, PC komputer yang akan diremote se{a perumgalum event mouse dan keyboard yangffirrn oleh penggunia pada screen captured yang diremote, maka peneliti akan mengimplementasikan method-method5ry rrrmilffti oleh c/ass Robot Java yang berada pada package Jqva.swt. Jaringan komunikasi antara client dan serverenl n dengan mengimplementasikan pemrog:rman socket lavaberbasis TCP/IP.

NJ R,umusan Masalahlkrdecrrtrn latar belakang masatah yang telah dinyatakan pada subbab 1.1 maka rumusan masalah pada penelitian inidt sebagai berikur:Nt nagaimana aplikasi server dapat merespon request-an client, melalntkan pengaturan pengiriman dan penerimaan

fu pda Remote De sktop Client berbasis PC?A" n*aimana aplikasi client berbasis PC merequest ke Remote Desktop Server, menerima data dair Remote Desktop

,frerver dan menampilkannya?

L,J Tujuan PenelitianililTn hrjuan dari penelitian ini adalah untuk mengembangkan aplikasi Remote Deshop berbasis PC tanpa

'[ f tikan plaform dengan mengimplementasikan c/asy R obot Java.

ilI Biasan MasalahMpenelitian ini penulis membatasi masalah sebagai berilart:0" Aflilasi Remote Deslctop yang akan dikembangkan tidak memperhatikan delay pengrrman data.A kryembangan aplikasi dalam proses pengiriman dan penerimaan datamenggunakatpemrogaman socket Java-

9

Page 6: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Konferensi Nasional Sistem dan Informatika 20 l2;Bali,November 17,2012

2. Landasan TeoriSub bab ini membahas tentang pengertian Remote Desktop, remote dekstop sistem operasi windows danbahasa pemrognman Jav4 class Robot JavA dan socket.

2.1 Pengertian Remote Desldop

bukanlah teknologi yangbara. Kehadiran teknologi ini sudah cukup lama di dunia komputerisasi. Umumnyayang digunakan'unt.tkRemote Desktop hanya untuk pengendalian dari pc ke pc.

Dalam komputasi, Remote Desktop merujuk pada sebuah perangkat lunak atau fungsionalitas dari sistem operasimemungkinkan untuk menjalankan server secara jarak jauh untuk ditampilkan secara lokal. Cara kerja aan neDesktop cukup sederhana yaitu dengan cara mengirimkan captured screen komputer yang dvemole ke komprfier

ryeremote saat bekerja mengendalikan komputer yang dtremote sehingga, komputer yangmeremote dapt metitateksekusi.dari komputer yangdiremole tersebut. Secara umum komputer yatgmeremole menggirimkan ivent-eventt_erjadi di komputer yarrg meremate dan mengcopykan event-eveni terseitfife komputer yun! at- dtremote.fitur yang biasanya ada pada sebuah Remote Desktop adalah men;ampilkan sir"", komputer yang dikmengirimkan dan mengeksekusi event-event dal/, keyboard darr mouse, network printer redirection, redirection ofdrives, copy and paste files, serla audio redirection.

2.2 Remote Deshop Sistem Operasi Windows dan MacintoshPada sistemoperasi yang berbasis Windorvs pada umumnya ffi.ur Remote Desktop yang disediakan adalahscreen komputer yang dikendalikan, penangangan event-event keyboard dan mouse, network printer redirect, rediiectlocal drivers, copy dan paste files, audio redirection, support for wer 256 colors, ridirection of w,indows Icombinations, shared clipboard, 128 bit encryption, port redirection, darr connection bar. Remote Desktop pada sigperasi Windows menggurnkan protokol WP (Remote Desktop Protocol). Windows menanam ploJokol ieriebut dlevel kernel sehingga Remote Desktop menjadi lebih aman dan lebih cepat dalam pengeksekusianl2l. Versi RDpsaat ini adalah RDP versi T.0yangsudahterinclude dalamWindows Server 2008 dan Windows Z.

Pada sistem operasi Magintosh terdapat software Apple Rernote Desktop 3 yang memiliki beberapa fitur yaitu ReSpotlight Search, Dashboard lhidget, Automator Action, Auto Install,-Curiain-Mode, RemoteDiag and Drop, p!rW,.Sl,t7,"r* Status Indicators, Application Usage Report, User History Reports, Smart Comfutur List, danlemplates'''.

2.3 Bahasa Pemrograman Java

IOIS&I1 lqssmd &5d

rdffi

Remote DesWop adalah sebuah istilah untuk mewakili kejadian dimarn sebuah PC atau perangkat komputer yang adasuatu lokasi tertentrl diakses dan digunakan dari tempat yang berbeda lokasitrl. Teknologi RZmote Disktop'seGnxn !ilum

ilfrn-rnEf,rffitfl

Java adalah bahasa pemrogranum yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java berdiriatas sebuah mesin interpreter yang diberi nama Jovq Virtuai Machine (fUvqt:t. fMvf

-inilah ying atan memba

bytecode dalamJile .class dali suatu program sebagai representasi langsung pro$am yang berisi bahasi mesin. .F

Java terdiri dari kumpulan library, JVM, kelas-kelas loader yatgdipaket dalam iebuah lingkungan rutin Java dankompiler, elebugger dan kakas lain yang dipaket dalam Jova Development Kit (IDK).-lavi Z adalah generasi 5sekarang sedang berkembang dari platform Jova. Agar sebuah program Java dapat berjalan dengan Uiit, mak;dengan eksistensi Java harus dikompilasi menladifite bytecode. Untuk menjalankan byteiode tersebut dibutlhkanRuntime Ewirontmenl (JRE) yang memungkinkan pemakai untuk menjalankan plogram Jav4 hanya menjalankarLuntuk membuat kode baru lagi. JRE berisi JVM dan library lavayangdigunakanlal.

2.4 Clqss Robot JavaClass Robot pada Java berada pada package Java.awt. Class Robot digunakan untuk membangkitkan event-eventnative system untuk tujuan pengujian secara otomatisasi, self-running demos, dan aplikasi lain yang pengontrolanaplikasi dilakukan oleh event mouse dan kzyboard tanpa memperhatikan pla{orm dimad uptit*ri ai:Pembangkitan event se,cara otomatis yang dilalarkan oleh c/ass Ro bot dalarn meiatutan screen captured, meilmouse dan keyboard dilalelkan seara sofiware. Class Robot Java memiliki beberapa method, seped yaog dir,yapadaTabel 1.

10

Page 7: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

II i Nasional Sistem dan Informatika 2012; Bali, November 17,2012 KNS&I12-002

n rnacfutos

yang ada

FerasituiFF{erFlihalWent?.Lai^IlI-

D

W

Tabel l. Method Class Robot Java::_',:':.;

ffieredlmage createscreenCapture (Rectangle screenRect)Menciptakan sebuah image yangmengandung pixel yangdibaca dari layar *cara software

*t delay(int ms) 'rSleep alalu menghentikan aplikasi dalam waktu tertentu dalam satuan milliseconds.

I getAutoDelay( )Mengembalikan waktu sleep dari closs Robot dalan milliseconds setelah pembangkitan suatuevent.

ii*or getPixelColor(int x, int y)Mengembalikan warna pixel pada titik koordinat x dan y tertentu secara so/tware.

mlean isAutoWaitForldle( )Mengembalikan status class Robot apakah secara otomatis dapalDembanskitan sualn eve n t.

memintak waitForldle( ) setelah

ad keyPress (int keycode)Menekankan tombol keyboard s*,ara software.

Wt of loarrl keyRelease (int keycode)

Melepaskan tombol keyboard yang ditekan secara softwarerdl mouseMove (int x, int y)

Memindahkan pointer mouse ke koordinat layar yang diberikanE*I monsePress (int buttons)

Menekankan tombol mouse secara software.redirect t

tdows lrtada sisteibut dalal)P terbarr

h, Remotlp, Poweldan TaA

,."* J

rdl mo u seReletse (int buttons)Melepaskan tombol mouse yangditekan secara soJiware

:il mo u s eWheel (int wheelAmt)Menggerakkan scroll mouse *cara software.

*t setAutoDelay (int ms)Memberikan waktu &lam millisecontd class Robot melakukan sleep s*ara otomatisasi setelahpembangkiun soat:o event secara software.

*l setAutoWaitForldle(boolean isOn)Menentukan apakah class Robot dapat meminta waitForldle secara otomatis,tsi setelahpembangkitan soatu event secara software

d waitForldle( )Menunggu sampai sem]g8 event-event yang sedang be{alan yang ada pada event antrian selesaidiproses.

menggunakan method createScreenCapture (Rectangle screenRect) class Robot, dalam mengambil dan6n ft4.-k4r o^-oon Lnmnrllar ca^46 cnlRrrra;a zlonot zlilolrrrlrcn canadi naia f i-+i-^ ^^r^ r

h sebuaesi vanr

wlit&rJav,I

rn, fidal

W inpdh kerjatrkanrsll

3Pl

Sgcade 1.

h "lass RobotCaptureScreenExmp {dic satic void main(Slring args[]X

E-T {I/ capture the whole screenhrfferedlmage screencapture : new Robo().createScreenCapture(

new Rectangle(Toolkit. getDefaultToolkit0. getScreenSize0) );im[ daralnt = ((DataBufferlnt)screencapture.getData0.getDataButrer0).getDara0;ifi width = screencapture.getWidth0;irr height = screencapnre. getHeight0;hrfferedlmage image = new Bufferedlmage(width,height,Bufferedlmage.TYPE_INT_RGB);lllrirahleRaster wr = image setRasler0:lr-rtData/l Save as .

FiIe file =hagelO.v

I cech (IOE:I-ogger.get

I €rch(AWLqgger.get

'II

Elements(0,0,widtlt height,datalnt);rPEG

new File( " screencapture jpg");nile(screencapture.'Jpg", file);rception ex) {Logger(RobotCaptureScreenExmp.class.getName0).log(Level.SEVERE, null, ex);IException ex) {Logger(RobotCaptureScreenExmp.class.getName0).log(Level.SEVERE. nlll, ex);

l1

Page 8: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses,dalam satu mesin maupun antar mesintofl/i. Socket dibuat dengan menyambungkan dua buah alamat IP melaluitertentu. Secara umum socket digunakan dalam sistem client/server, dimana sebuah server akan menunggo clientpor, tertentu . Saat client merequest server maka server akan berkomunilasi dengan client melalui socket yang dibSalah satu fungsi socket adalah intedace socket yang digunakan untuk menghubungkan komputer ke jaringan atau

Konferensi Nasional Sistem dan Informatika 20l2,Bah, November 17,2012

2.5 Socket

client denganir*"1'). System call pada interface sockst dapat memudahkan suatu,aplikasi untuk membuat /ocaldan menghubungkarmya ke remote socket. Dengan menghubungkan komputer ke socket, maka komunikasikomputer dapat dilalarkan- Adapun mekanisme komunikasi socket seperti yang dinyatakan pada Gambar 1.

oIA clleetfd

ilII!.:{;4: 'il

*I

,t

I!1

lr

F;rI

I

Cliat/$ewerSecskrr

Gambar l. lnterface Socket

3. MetodologiPenelitianMetodologi penelitian yang digunakan dalam menyelesaikan penelitian adalah sebagai berikut:l Studi Pustaka (Literatur), mencari sumber referensi yang berhubungan dengan pengembangan aplikasi

Desktop.2. Studi Sistem, dilakukan dengan cara observasi dan pengambilan data yang berhubungan dengan

aplikasi Remote Desktop serta melakukan analisis dan rekayasa terhadap sistem yang berjalan sebelkhususnya Remote Desktop Sistem Operasi Windorvs dan Macintosh.

3. Pengembangan Sistem, model pengembangan perangkat lunak yang dilakukan adalah menggunakanwaterfall dengan mengikuti tahap-tahap analisis, desain, pengkodean, testing, dan deploy aptikasi.

4. Hasil PenelitianSub bab berikut ini membahas tentang arnlisis kebutuhan sistem yang dilakukarl pemncangan sistenr,sistem, dan pengujian terhadap aplikasi yang telah dikembangkan.

4.1 Analisis Kebutuhan SistemBerdasarkan permasalahan yang tefadi, peneliti menemukan requirement pada bagian serv,er seperti yang dipada Garnbar 2 dan bagian client sepriiyang dinyatakan pada Gambar 3.

t2

Page 9: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

RemoteDekstopAppl ication[Server]

IO{S&I I

hr proses,F melalui?8n clientyang

Em atauzL localmdkasi

Aasi Re

agembasebelu

trkan

i Nasional Sistem dan Informatika 2012; Bali, November 17,2012 KNS&I12-002

&mbar 2. Use CaseDiagramRemote Dekstop Server Gambar 3. Use CaseDiagrarlRemote Dekstop Client

{"L1 Analisis Pengiriman Capture Screen Remote DesldopPmres pengiriman screen desktop server ke client dilalokan dengan menggunakan class Robot Java, yaitu denganmmggunakan method createScreenCapture@ectangle rect). Aplikasi server terlebih dahulu akan membagtr screen.w;€r ke dalam NUMBER-OF-REGION wilayah, kemudian setiap wilayah akan diarnbil screen desldop Vang at<anMtnote seperti yang dinyatakan pada Listing cnde 2. Aplikasi Remote Destdop server di dalam prosei p.ngiri.nan,ilmnrsn desktop terlebih dahulu menentrkan apakah terdapat perubahan screen. Jika terdapat perubah- sireen padamnMnrah tertentu maka wilayah yang mengalami perubahan akan dikirimkan oleh senerke cient ieperti yang dinyatakanpea Listing code 3. Pada sisi client akan menangkap informasi perubahan wilayah darr nilai Bufferedimageyang,flnrim oleh server, kemudian client akan melalcukan perubahan tampilan screen di aplikasi client, sepeii i*g,&'lalakan pada penggalan Listing code 4.

code 2.

mr,$rc CapturedScreenFactory( ) {mPriority(thread. MAX_PRIONTD ;q'{

sedUpRectangle0;robot: new Roboto;ll getimage desktopfulllmage : robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit0.getScreenS izeO));for(int i:0; i<NUMBER_OF_REGION; i++) {

qvtimage[i] = robot.createScreenCapture(rectangles[i]);int[] datalnt = (@ataBufferlnt)image[i].getDataQ.getDataBuffer0).getData0;byte[] data = toBl,te(datalnt);capturedScreenslil = new CapturedScreen(i,data);capturedScreens[i]. serWidth(image [i]. getWidthQ) ;capturedscreens[i]. setHeight(image[i]. getHeight0);

Ij

catch@xception e) {e-printStackTrace0;

I)I

@tAq/TExceptione) {cfintStaskaracell'

u

*3.wd@){

ffiuarre) {try{

RemoteDesktopA pplioation[Client]

t3

Page 10: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

KdaeasiNasirnat Sistem da Informatika 2012; Bali, November l7,Z0l2

c'apturedscreen capturedscreen = c'tptureds^creenFactory.getcaphredscreen(regionNumber);cryturedScreens[regionNumber] = capturedScreen;

if(capturedscreens[regionNumber] getByterrnageel=caphredscreen.getr]ytelmage0){bvte[] bvtelmage = capruredscreens tr;gionN;b.if[emyt"rg,ug"0;oos. writelnt(regionNumber)

;oos.flushe;oos. writelnt(captured Screens [regionNumber]. getWidthg) ;oos.flush0;oos. writelnt(capturedScreens [regionNurnber]. get]Ieighte);oos.flushe;int length = bytelmage.lengtl4oos. writelnt(length) ;oos.flushg;ByteArraylnputstream bais = new ByteArraylnputstream(bltelmage);' bytell buffer = new byre[Servi".Coort

"tsdUrffil_izef ;int readlengthwhile((readlen-gth=bai s. read(butrer) ! = _ 1 ) {

oos. write(buffer, O,readlength);oos.flushO;

)oos.resetO;System.gcO;

)regionNumber = (regionNumber+

1 )ZoNLjMBER_OF_REGION;\catch(IOException ioe) {

ioe. printStackTracee ;

break;IJ

tISystem.gcQ;captured ScreenFactory. minNumberoReque stCapturedscreenQ

;)

Listing code 4.image = new Bufferedlmage(widtlLheight,Bufferedlmage. TypE_INT_RGB);wr = image.getRaster$;

,yr. setDaUElements(0,0,widthheight data);

fi(remoteD e s ktopViewer ! =null && remotib e sHopViewer. isVisible0) {

| rcmoteDesktopviewer.setcapturescreen(capturedscreer.getregonNumberg,

image);

myCanvas. setlmageA(capturedScreen. getRegionNumber0, image);myCanvas.repainte;

1'L2 Analisis pengiriman Event Mouse dan Keyboard Remote Desrdop*tiap event requestsirvice va"g oita"gtitr,an' oleh'clientud ;fi.i"rk* ke seryer unhrk diproses server,sepertiHyWYi;:#i "ff&;,kaptf'::R **;d-,e ";;;'il*men3ngani_perminraan ctient terlndapmouse dan trevboard dirarnrkan- dengan mengimpfue*r*if"ii')fi)1 "ffffim,;ffi:,"W

yff:3f7;Xi;ffi'trIyx:1"IF:*i!jiiiii;:i;,ffi,'",!y,"!:, wau ctass Remote Desktopffi J$tr#trffi xx:::x*xiiii:x:;,tr;,";1i;#{";,*rffiffi:*:ffi :;,:r.;;:diminta oteh crient, kemudian o*"r rlrJ**g**r.*i "bj;ar;r;;'#.ffi'ffi"1.::lm;:1f;X:,ruffifi?* vang ainvaatan-n Jrii*;;;;A';ffigs" aprikasi iriiiia^wtnrengendarrran

Listing code 5.im requestServi@ = ois. readlntg;i(requestservice:RDServic.Corrt ot".coMpLmR_INFoRMATIoN_sERVICE)

{new ComputerlnfonnationService(sockeg

"ir;r).r""O; "r

ldS i(rCqUCStSCrviCE:-RDSCTiCCCONSIANtS.CAPTURED_SCREEN

SENDERXnew CapturedScreenSender(socket, ois, oos). startg]14

Page 11: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

i Nasional Sistem dan lnformatika 20 12; Bali, November l7 , 2012

if(requestsewice==RDServiceConstants.KEYBOARD_AND-MOUSE_EIIUN7_SENDER) {new Keyb oard AndMou.seEve ntReceiver(socket, ois, oos)' *an$;

if(requestServ'ice==RDServiceConstants.PRocE S S-RUNNING-SERVICE) {new ProcessRurmingService(socket. ois, oos).start0; $

code 6.void run0{

while(true) {try{

final Object obj = ois.readObject0;Thread execvtelv[ouseThread : new ThreadQ{

@Ovenidepublic void run(X

if(obj instanceof RDKe-vEven/) {RDKeyEven/ event = (RDKeyEverl)obj ;

tf (e v e n t. getTyWO:=RD Ev e nrConstants. KEY-PRE S SED) trobot. keyPre ss(e v e n t . getKeyC ode$) ;

). elsetf(event.getType0=:RDEvenrConstants.KEY-RElEAsED){

robot. keyRel ease(ev e n t. getKeyCode0) ;l_t

)else if(obj instanceof RDMouseMotionEvent) {

RDMou seMolionEv e nt ev e nt = @DMou seMotionEv'enr)obj ;

Dimension screenSize = Toolkit.getDefaultToolkit0.getScreenSize0;int x = (intX(screenSize. getWidthO/ even t.getW idth})* even t getX0);int y = (int)((screenSize. getHeightO/ event.gelHeight})* evenl.getY0);r obol. m o u s eMove( x, Y) :

IJ

else if(obj instanceof RDMouseEvent) {NDMou seEvent even t : (RDMouseEvent)&j;tf(eve n t. getTlpe0==RDtventConstantsi'y'O usE-PRE SSED) {

r ob ol. m o u s ePtess(e v e n t. geNlodifi ers0 ) ;Ltelse if{event.getTl'pe0==RDEve ntConstants M OLEE-RELEASED) {

robot. mo zseRelease(e v e n t . getModifiers()) ;\t

)St'stem.gcO:

II

l:errecutel.forseThread. setPriority(Thread. MAX-PNORITY) ;

*ecilel /oaseThread. start0;I

crEU ClassNotFoundExeePtion e) {e.pirrSackTrace0;treak:

I

,,rryttlQException e) {Efim.SuckTrace0;lrEek

krengen Sistemmln rn*tisis kebutuhan sistem dan kebutuhan fungsionalitas yang harus dipenuhi dalam memfasilitasi kebutuhan

mm\ seperti -vang dinyatakan pada use case diagram pada Gambar 2 dan Gambar .3, maka peneliti

l5

Page 12: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

Konferensi Nasional Sistem dan Informatika 2012; Bali, November 17,2012

Tabel 2 Remote De Wewer

KNS&I I

mendapatkan class diagram dari aplikasi Remote Deskap pada bagian se.rver r.-p.+ yang dinyatakan padasedangkan pada bagian client dtprileh c/ass diagram seperti yang dinyatakan pada Garnbar 5.

Garnbar 5. Class Diagram Remote Desktop Client4.3 LnplementasiSistemuntuk mengimplementasikan pemncang,an sistem

lang drnylakan pada Gambar 4 dan Gambar 5, membutuhkan

L'#":%ffin":'agf 'r9*.11'^Tj:1J::f^'^"].*-"lqgl,.::lir-'I rus, *;;ss*;;";;n*o," pendukung rseperti database Mysel server 5.o unruk pengaturan nu].-rt ",

p"rggil-;;il;::;'tr-;';:tr;"X;iH:4.4 Teknik pengujianTeknik pengujian yang digunakan adalah teknik pengujian black box testing. pengujian ini memungkinkan pe;**,"T".,T,T:y:1,.::f111:g *r.d*,yfry iif,o.y*g ,t " secara penuh menjarankan semua k*ffi:ffi*,T:HTl#n *;*m Dalam har ini diambir.4,i, .ir" u,"*,iil.,,i"ihi)['iiWu,;]:"i::i;

Berdasarkan hasil pengujian yang dilalokan penggwa terhadap butir uji R.emote Deshop viewer dengan nskenario yang dinyatakan pada Tabel 2 untuk irnii:*rr yrrg rt un diremote dengan *"nr'uru*u client seperti6, diperoleh hasil pengujian seperti yang ditunjukkan paaa Cal*N l.

Gambar 4. Class Diagram Remote Deskrop Server

Nama Butir Uii

ytri dalam memfasitirasi pe

Komunikasi dengan teknologi rosudar berada pada menu ttama client, kemudian pengguna akan mJmith menu tombol startdari Remote Desldoo Wewer

Kondisi Awal Penggurn sudah terkoneksi dengan t ompada menu utarna client

l. Pilih Tombot Sur ne*"iiinsdopffi

:x:tr hb"'nu

Kasus dan Hasil U

Menampilkan remote desktop serveryang akan di remote oleh pengguna kePC penggun4 tanpa harus melockkomDuter ser?er

Menarnpilkan rem@akan diremote oleh pengguna ke- pdpenggun4 tanpa harus melock kompuerserver yanq diremote

[Xl Terima[ | Tolak

l6

Page 13: 6. Implementasi Class Robot Java Pada Aplikasi Remote Desktop KNSAndI 2012 2 Bali Jasman Pardede

KNS&I l2-fi ffi.:r:r:s=si Nasional sistem dan Informatika 2012;Bali,November 17,2012 IC.IS&I12-002

la Gambar"

llient

kan balasang lainnyaE.

)eruogmftkebutuhanperti yang

5- Kesimpulaniq.l--:Srrk2r penelitian yang dilakukarL beberapa kesimpulan dapat diambil sebagai berikut:

i;da penelitian ini telah berhasil dibangun aphkai Remole Dekstop berbasiJPC yang dapatdiakses melalui berbagai-i:'.'ice (multiplatftrm) dan sudah mengimplementasikan fitur minimal aphkasiRimole Iiesktop.r r-plikasi Remote Desktop dikembangkan menggunakan class Robot liva dengan pertukaran data antara client dan:..: -;er dengan dukungan pemrograman Socket Java.-' J:-rses Remote Desktop PC server yang berjalan pada sisi client, dllakd<an dengan pengiriman objek event mouse-t ke.vboard oleh client ke server, dijalankan secara software pada sisi seier deigan mengimplementasikan*::futd-method class Robot lava.+ r-:likasi Remote Dekstop yang dikembangkan dapat memfasilitasi penggum dalam melakukan Remote Desktop:'e Eftrpa server (dua server atau lebih) secara bersam aanpada satu ctiint, seperti yang dinyatakan pada Gambar 7.

Wrfrar Pustakarpple. Apple - Remote Desktop -3 - New Features, http://wwrv.apple.com/remoleclesktop /ner,r{eatures.htrnl, diakses::rakhir tanggal l7 JahZ}I2.

,l l'frcrosoft. The Feqtures of the Remote Desktop Client in l|lindows XP,http!/slpport.microsoft.com&b/30069g,irrkses terakhir tanggal l7 luli 2012.* 3anido., J., M. (2003). Object-Oriented Programming: From Problena Solving to Java, Charles River Media,-nc Hingharq Massachusetts.

* foo- D., Kiong, D., Ashok, S. (2008). Object-Oriented Programruing and Jm,a, Second Edition, Springer-Verlag,-ondon.ll: lless Robot Iava,http:/ldocs.oracle.com/Javase/1.5.0/docs/api, diakses terakhir tanggal 17 Jili20l2.hi ^-r'r'Bulka. (2001). Jm,arM Perforillallce and Scalability Volume l: Ser.ver-Side Prigramming Techniques, Addison,,r,-esle1,.

i.cbe( Orfali and Dan Harkey. (1998). Client/Senter Programming with Java and CORBA"2nd Edition, John Wileya Sons, Inc.

j

mda PC I

:ngguna I

ot Stan I

berada I_ll

I

---.l

-il- e-l

I------pular

I

nma Irak I

____l

:ngikutiGambar

Gambar 6. Remote DesktopYiewer Client Gambar 7. Remote Desktop ServerYangDiremote

L7