Membuat
Program Remote Shutdown Sederhana Dengan Delphi
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:
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;
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
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 }
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.
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!!!!!
Referensi