Anda di halaman 1dari 6

Membuat Program Remote Shutdown

Sederhana Dengan Delphi


Heru Widakdo
heru@widakdo.co.cc
http://widakdo.co.cc

Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.

Dalam suatu jaringan komputer yang terdiri dari 2 atau lebih komputer yang terkoneksi satu
dengan lainnya dapat di aplikasikan ke berbagai kebutuhan, seperti distribusi data,
pengoperasian komputer lain di tempat yang berbeda, dan di bidang industri digunakan untuk
kendali atau kontrol peralatan yang terhubung ke komputer di dalam suatu jaringan. Pada artikel
kali ini akan dibuat sebuah aplikasi sederhana menggunakan Borland Delphi 6, yang berfungsi
untuk mematikan atau men-shutdown komputer lain yang terhubung melalui jaringan. Aplikasi
ini dibuat dengan komponen standart pada Delphi 6, yaitu ClientSocket dan ServerSocket.

Pendahuluan
Pada Delphi, khususnya Delphi 6 terdapat komponen yang berfungsi untuk komunikasi antara 2
komputer atau lebih yang terhubung melalui jaringan. Untuk program Delphi yang akan kita
buat ini terdapat 2 aplikasi, yaitu aplikasi client dan aplikasi server. Kedua komponen tersebut
adalah ClientSocket dan ServerSocket yang terdapat pada Component Pallete tab Internet,
seperti pada gambar berikut:

Komunitas eLearning IlmuKomputer.Com 1


Copyright © 2003-2007 IlmuKomputer.Com
Aplikasi remote shutdown ini adalah pengembangan dari aplikasi chatting client-server yang
dibuat dengan Delphi juga. Banyak artikel-artikel, blog-blog maupun forum diskusi delphi yang
membahas aplikasi client server tersebut. Cara kerjanya sangat sederhana sekali, dimana
terdapat dua buah aplikasi yaitu aplikasi client dan aplikasi server. Aplikasi server dijalankan
pada komputer yang akan di kendalikan atau komputer yang akan di remote, sedangkan aplikasi
client dijalankan oleh user di sebuah komputer pengendali. Prinsip kerjanya sangat sederhana,
layaknya aplikasi chatting sederhana, aplikasi client mengirimkan sebuah text, yang nantinya
akan diterima oleh aplikasi server sebagai sebuah “string”, kemudian akan diolah menjadi
sebuah perintah baru, yaitu men-shutdown komputer server. Sederhana sekali bukan???
Mungkin sedikit keterangan di atas dapat memberikan gambaran tentang cara kerja aplikasi
yang sangat sederhana dan jauh dari sempurna ini, khususnya bagi para pemula seperti saya.
Karena saya juga masih dalam tahap belajar dan sangat membutuhkan masukan dari teman-
teman dan para master Delphi.

Ok, Langsung meluncur ke pembuatan programnya, persiapannya cukup seadanya saja:


Komputer atau laptop yang terinstal Boland Delphi (Versinya terserah anda, saya menggunakan
Borland Delphi 6), Niat dan kemauan belajar, apalagi ya??  Secangkir kopi + Rokok atau
snack juga boleh (opsional) hehehehe ……..

Remote Shutdown
Aplikasi ini terbagi menjadi 2, yaitu aplikasi client dan aplikasi server. Aplikasi Client adalah
aplikasi pengendali atau pengontrol, sedangkan aplikasi server adalah aplikasi yang di jalankan
pada komputer yang ingin di kendalikan (komputer yang ingin di shutdown)

Source Code Program Client :

Berikut ini adalah source code lengkap untuk program client, ScreenShoot program jadinya bisa
dilihat pada gambar berikut:

unit RSClient;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, WinXP, ScktComp;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;

Komunitas eLearning IlmuKomputer.Com 2


Copyright © 2003-2007 IlmuKomputer.Com
Edit1: TEdit;
Button1: TButton;
StaticText1: TStaticText;
StaticText2: TStaticText;
Button2: TButton;
Button3: TButton;
WinXP1: TWinXP;
ClientSocket1: TClientSocket;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);


begin
application.Terminate; // keluar program
end;

procedure TForm1.Button1Click(Sender: TObject);


begin
clientsocket1.Host:=edit1.Text; // alamat ip server
clientsocket1.Active:=true; // mengaktifkan / membuka socket sisi client
clientsocket1.Port:=1880; // menggunakan port 1880
end;

procedure TForm1.FormCreate(Sender: TObject);


begin
button2.Enabled:=false; // saat aplikasi mulai dijalankan button shutdown di disable
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;


Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer); //saat soket client error
begin
button2.Enabled:=false; //disable button shutdown
showmessage('Error On Socket'); //menampilkan pesan error

Komunitas eLearning IlmuKomputer.Com 3


Copyright © 2003-2007 IlmuKomputer.Com
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;


Socket: TCustomWinSocket); //saat sudah terhubung ke server
begin
statictext2.Caption:='Connected to Server'; //keterangan bahwa sudah terhubung ke server
button2.Enabled:=true; // button shutdown di aktifkan
end;

procedure TForm1.Button2Click(Sender: TObject);


begin //button shutdown
if (clientsocket1.Socket.Connected) then //saat soket terhubung maka
clientsocket1.Socket.SendText('shutdown'); // button 2 mengirim string ke server
end;

end.

Source Code Program Server :

Berikut ini adalah source code lengkap untuk program server, ScreenShoot program jadinya
bisa dilihat pada gambar berikut:

unit RSServer;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, WinXP;

type
TForm1 = class(TForm)
WinXP1: TWinXP;
ServerSocket1: TServerSocket;
StaticText1: TStaticText;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }

Komunitas eLearning IlmuKomputer.Com 4


Copyright © 2003-2007 IlmuKomputer.Com
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);


begin
serversocket1.Open; //membuka soket server
serversocket1.Port:=1880; //menggunakan port 1880
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;


Socket: TCustomWinSocket);
begin
edit1.Text:=socket.ReceiveText;
end;

procedure TForm1.Edit1Change(Sender: TObject);


begin
if edit1.Text='shutdown' then //bila edit1.text berisi text shutdown maka,
begin winexec('shutdown -r -t 0 -f',sw_normal); end; //perintah shutdown dijalankan
end;

end.

Nb: Untuk Source code lengkap dan aplikasi jadinya bisa teman-teman lihat pada file yang
sudah saya sertakan atau download di http://widakdo.co.cc/ (Sekalian promosi…..hehehehe)

Penutup

Aplikasi ini berfungsi layaknya sebuah pisau, dapat bermanfaat dan dapat juga merugikan.
Bermanfaat untuk mempermudah administrasi komputer dalam suatu jaringan, dan merugikan
bila di kembangkan untuk aplikasi Trojan maupun virus komputer. Penulis menyadari bahwa
tulisan ini jauh dari sempurna, seperti pepatah “Tiada gading yang tak retak” Untuk itu saran
dan kritik yang membangun sangat penulis harapkan. TerimaKasih buat teman-teman semua
yang telah memberikan saya semangat untuk menulis. Specials thanks to: WEIP-ITS Surabaya
yang telah memberikan sesuatu yang sangat berguna bagi penulis. Harapan penulis adalah
berkembangnya dunia teknologi Bangsa Indonesia, agar tidak di pandang rendah oleh bangsa
lain. MERDEKA!!!!!

Komunitas eLearning IlmuKomputer.Com 5


Copyright © 2003-2007 IlmuKomputer.Com
Referensi
http://google.co.id/

http://id.wikipedia.org/

http://delphi-id.org/

http://delphi.about.com/

http://weip-its.or.id/

Biografi Penulis

Heru Widakdo. Adalah mahasiswa S1 Jurusan Fisika Instrumentasi – Institut Teknologi


Sepuluh Nopember Surabaya. Seorang pemula di bidang komputer dan pemrograman. Mencoba
menjadi penulis di Ilmu Komputer untuk sekedar sharing dan berbagi ilmu pengetahuan untuk
teman-teman pemula seperti penulis, dan bagi para master dan yang expert
di bidangnya, penulis mohon bimbingan, saran dan petunjuknya. Selain
pemrograman Delphi, penulis juga mempelajari aplikasi berbasis website
(html, php, css, ajax, sql), aplikasi database, dan aplikasi website untuk di
kembangkan dalam bidang instrumentasi dan kontrol. Penulis dapat
dihubungi melalui Email: heruwidakdo@gmail.com dan Website:
http://widakdo.co.cc/

Komunitas eLearning IlmuKomputer.Com 6


Copyright © 2003-2007 IlmuKomputer.Com