Friday, November 27, 2009

Membuat Program Remote Shutdown Sederhana Dengan Delphi

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.


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!!!!!

8 komentar

Anonymous

Thanks mas.
Mas mo tanya gimana caranya akses usb port menggunakan delphi?
please kirim ke indah_smg24@yahoo.co.id
thanks again

Anonymous

kalau men-shutdown pc dari handphone bisa gak ya bos??

Andra March 19, 2010 at 7:49 PM

wah kalo usb port menggunakan delphi belum saya coba.

trus caranya menshutdown pc dari handphone ya ga ada. Gimana tuh? masak pc kalah ma HP, hehehe. Yang pasti gak akan bisa, ga' tau lagi kalo ada aplikasi hpnya, ntar saya coba cari deh. Thanks for comment

Anonymous

hahah.. itu dia boss.. sy lg nyusun skripsi dgn tema remote application, slh satu fungsi nya ya itu mematikan pc lewat ponsel.. kira2 ada masukan atau link2 website/source yg bisa mmbantu sekiranya gitu boss?? thx b4 bwt reply nya :D

Anonymous

mas bisa nanya ngga ttg port yg digunakan pada aplikasi itu berapa?

aku bikin kok ga jadi2 sih..

andra March 24, 2010 at 3:43 PM

nih bisa baca di
http://berdikari.net/mematikan-komputer-memakai-hp/

ada artikel hp shutdown PC

Anonymous

akses usb: pake komponen tuk baca com port, mis. tcomport, boomerang, dlllll.

shutdwn kompi dr hape: sperti bikin porg sms gateway.

oyeoce@gmail.com

Unknown October 21, 2019 at 6:43 PM

Gak ada design formnya bg?

Post a Comment

Thank You For Comment in My Site

Followers

Call me

My e-mail is
1. andraeinstein@yahoo.co.id
2. andrachemical@yahoo.com
3. andraeinstein@gmail.com

My site is
1. andrachemical.blogspot.com
2. andraeinstein.blogspot.com
3. creamcommunity.blogspot.com
4. andrachemical.cc.cc

  ©This Website is Edited by Nusendra Hanggarawan Copyright at 2009 and this site is protected by COPYSCAPE.