Monday, April 23, 2012

Cara Mudah Memanggil Berbagai Macam Format Image(Gif, Ico, Jpeg ,dll ) kedalam TImage

uses axCtrls
    ...
procedure TForm1.Button1Click(Sender: TObject);
var
  OleGraphic: TOleGraphic;
  fs: TFileStream;
begin
  try
    OleGraphic := TOleGraphic.Create;
    fs := TFileStream.Create('C:\...\image.gif', fmOpenRead or fmSharedenyNone);
    OleGraphic.LoadFromStream(fs);
    Image1.Picture.Assign(OleGraphic);
  finally
    fs.Free;
    OleGraphic.Free
  end;
end;

NETCUT lagi, NETCUT lagi.... huhhh...

Beberapa waktu terakhir ini ada banyak temen yang merasa terganggu dengan para NETCUTER.  Katanya sih banyak yang merasa dirampas hak bandwidth koneksinya, Upssss ... benarkah ?, Kenapa tidak dirampas lagi saja kalau memang itu adalah hak nya ? :)
Dalam dunia NETCUT cuman ada 3 pilihan :
  • Menjadi Korban
  • Menjadi Pelaku
  • Atau Menjadi Kelompok Yang bukan Pelaku dan Bukan Pula Korban

Mau menjadi korban ?.......Silahkan, biasakanlah selalu berkompromilah dengan message RTO (Request Time OUt) serta menjadi orang yang selalu bersabar... menunggu & menunggu....mm...tapi lihatlah sisi positifnya.....bukankah bersabar itu dicintai Tuhan, bayangkan akibat jadi korban Netcut kita bisa lho sambil nunggu koneksi normal kita nge-net sambil dzikir, menguatkan diri dan TAWAKAL !. heuueueeheuhhueeue.

Mau Jadi Pelaku ?, .....Silahkan, siap - siap saja dicacimaki, bahkan muka penyok-penyok (kalau ketahuan), kayaknya mereka dapat kepuasan tersendiri deh kalau koneksi bandwidth downloadnya sampai diatas 100KB/s, 200KB/s... mereka Hidup mati untuk bandwidth.... mmmm... 'lo kawin aja ama MODEM KENCENG.... sapa tau anak 'lo ROUTER  :P  , Insyaf deh....orang lain juga sama-sama punya hak.
Peace Guys !.


Mau Menjadi Kelompok Yang bukan Pelaku dan Bukan Pula Korban ?, ... mmmmm.. pilihan bagus... jauh jauh dari neraka.. jauh jauh dari musuh...... hahhahahahah....masalahnya harus paham dengan cara kerja dan Antisipasi NETCUT. Gampang koq....

ntar yah.... di sessi berikutnya kita bahas.....

VOIP

Sejarah Perkembangan VOIP

  • Sejarah Perkembangan teknologi VoIP dimulai dari penemuan telepon pada tahun 1876 oleh Alexander Graham Bell.
  • Teknologi PSTN (Public Switched Telephone Network ) yang sudah berkembang sampai sekarang
  • Pembuatan Personal Computer (PC) secara massal, system komunikasi telepon selular dan terakhir system berdasarkan jaringan internet yang memberikan layanan e-mail, Chat dan lain-lain.
  • Komunitas awal pengguna / pengembang VoIP adalah “VoIP Merdeka” yang dicetuskan oleh pakar internet Indonesia, Onno W. Purbo sekitar tahun 2000
  • Di tahun 2006, infrastruktur VoIP SIP di kenal sebagai VoIP Rakyat.



Cara Kerja VOIP
  • Mengubah suara analog yang didapatkan dari speaker pada Komputer menjadi paket data digital, kemudian dari PC diteruskan melalui Hub/ Router/ ADSL Modem dikirimkan melalui jaringan internet dan akan diterima oleh tempat tujuan melalui media yang sama. Atau bisa juga melalui melalui media telepon diteruskan ke phone adapter yang disambungkan ke internet dan bisa diterima oleh telepon tujuan.






 



Protokol - Protokol Penunjang
  • TCP/IP (Transfer Control Protocol/Internet Protocol)
  • SIP (Session Initiation Protocol)
  • H.323


TCP/IP
  • merupakan sebuah protokol yang digunakan pada jaringan internet. Protokol ini terdiri dari dua bagian besar, yaitu TCP dan UDP serta dibawah lapisan tsb ada protokol yang bernama IP.
  • Transmission Control Protocol (TCP) merupakan protokol yang menjaga reliabilitas hubungan komunikasi end-to-end.
  • User Datagram Protocol (UDP) merupakan salah satu protocol utama diatas IP, yang lebih sederhana dibandingkan dengan TCP. UDP digunakan untuk situasi yang tidak mementingkan mekanisme reliabilitas. UDP digunakan pada VoIP pada pengiriman audio streaming yang berlangsung terus menerus dan lebih mementingkan kecepatan pengiriman data
  • Internet Protocol (IP) Internet Protocol didesain untuk interkoneksi sistem komunikasi komputer pada jaringan paket switched. Biasanya sebagai alamat

SIP
  • Yaitu protokol yang digunakan untuk inisiasi, modifikasi dan terminasi sesi komunikasi VoIP. SIP adalah protokol Open Standard yang dipublikasikan oleh IETF, RFC 2543 dan RFC 3261. Selain digunakan untuk negosiasi sesi komunikasi  voice, SIP juga dapat digunakan untuk negosiasi sesi komunikasi data media lain seperti video dan text.

H.323
  • Standar H.323 terdiri dari komponen, protokol, dan prosedur yang menyediakan komunikasi multimedia melalui jaringan packet-based. Bentuk jaringan packet-based yang     dapat dilalui antara lain jaringan internet, Internet Packet Exchange (IPX)-based, Local Area Network (LAN), dan Wide Area   Network (WAN). H.323 dapat digunakan untuk layanan – layanan multimedia seperti komunikasi suara (IP telephony),     komunikasi video dengan suara (video telephony), dan gabungan suara, video dan data.


Kelebihan VOIP
  • Biaya lebih rendah untuk sambungan langsung jarak jauh. Penekanan utama dari VoIP adalah biaya. Dengan dua lokasi yang terhubung dengan internet maka biaya percakapan menjadi sangat rendah.
  • Memanfaatkan infrastruktur jaringan data yang sudah ada untuk suara. Seperti memanfaatkan jalur internet atau bandwidth yang telah di sewa ke ISP, sehingga tidak diperlukan lagi tambahan biaya atau menekan biaya percakapan telepon yang masih menggunkan jalur Public Switched Telephone Network (PSTN) Telkom ( Fix line ).
  • Penggunaan bandwidth yang lebih kecil daripada telepon biasa. Dengan majunya teknologi penggunaan bandwidth untuk voice sekarang ini menjadi sangat kecil. Teknik pemampatan data memungkinkan suara hanya membutuhkan sekitar 8kbps bandwidth.
  • Memungkinkan digabung dengan jaringan telepon lokal yang sudah ada. Dengan adanya gateway bentuk jaringan VoIP bisa disambungkan dengan PABX yang ada dikantor. Komunikasi antar kantor bisa menggunakan pesawat telepon biasa
  • Berbagai bentuk jaringan VoIP bisa digabungkan menjadi jaringan yang besar. Contoh di Indonesia adalah VoIP Rakyat.
  • Variasi penggunaan peralatan yang ada, misal dari PC sambung ke telepon biasa, IP phone handset.



Kekurangan VOIP

  • Kualitas surang yang masih kurang baik yang dikarenakan factor bandwidth yang dimiliki
  • Perlu dilakukan perjanjian dengan lawan bicara yang hendak menggunakan voip dalam hal tersambungnya ke jalur internet
  • Kualitas sauara juga tergantung dari banyaknya paket atau pengguna internet dalam satu jalur yang sama.
  • Peralatan penunjang yang masih dikatakan saat ini masih relative mahal.
  • Belum nya support secara penuh oleh pemerintah.  


Contoh Software
  • Skype
  • Netmeeting
  • X-lite
  • Yahoo Messenger

Sekilas tentang Keamanan Jaringan

Dasar Keamanan Jaringan
  • Sistem komputer dan jaringannya Sistem komputer dan jaringannya memiliki kerawanan terhadap serangan sepanjang hidupnya
  • Tidak ada sistem berbasis komputer yang mampu mengamankan dirinya dari semua kemungkinan serangan
  • Upaya yang dapat dilakukan adalah membuat hacker atau cracker kesulitan dalam mengganggu sistem


Sistem Keamanan Jaringan
  • Sistem keamanan jaringan adalah suatu perlindungan data selama transmisi dilakukan
  • Untuk menjamin keaslian data yang ditransmisikan, dan memelihara kerahasiaan, integritas, dan ketersediaan data.

Kelemahan Protokol TCP/IP
  • Target spoofing
  • Session hijacking
  • Dapat dimanipulasi
  • Denial of Service (DoS)


Analogi Kelemahan Protokol TCP/IP
  • Target spoofing - X adalah kekasih Y, dan Z berpura-pura menjadi X
  • Session hijacking - X menelpon Y, dan Z mengambil-alih percakapan
  • Dapat dimanipulasi - Y kirim parsel ke X, dan Z mengganti isi parsel dengan bom
  • Denial of Service (DoS) - Jalan ke rumah Y hanya muat 1 mobil, Z memarkirkan 4 mobil memenuhi jalan agar X tidak dapat berkunjung ke rumah Y

What's Next ?
Semua tergantung dari anda, ada berbagai macam cara untuk menutup setiap kelemahan dari sebuah sistem, namun sayangnya, harus anda pahami juga 'dibelantara IT' ada  berbagai macam cara pula untuk menembus & menghancurkan sebuah sistem. Suka atau tidak suka, kita telah menjadi bagian dari sisi terang dan sisi gelap perkembangan IT.Pilihannya cuman 3, Menjadi Korban, Menjadi Penonton, Menjadi Seseorang yang 'Bermanfaat Untuk Sistem Anda dan Lingkungan Anda' atau Menjadi si Pongah yang Selalu menggangu dan merusak sistem,

....Anda Bebas Memilih Mau Jadi Siapapun Anda....

Sunday, April 22, 2012

Me-Minimize semua Windows yang ada dilayar

procedure TForm1.Button1Click(Sender: TObject);
begin
  Keybd_event(VK_LWIN, 0, 0, 0);
  Keybd_event(Byte('M'), 0, 0, 0);
  Keybd_event(Byte('M'), 0, KEYEVENTF_KEYUP, 0);
  Keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
end;

Bagaimana Membuka Sebuah Situs Dengan Membuka Jendela Baru Pada Default Browser

uses
   Registry, ShellAPI;

function BrowseURL(const URL: string) : boolean;
var
   Browser: string;
begin
   Result := True;
   Browser := '';
   with TRegistry.Create do
   try
     RootKey := HKEY_CLASSES_ROOT;
Access := KEY_QUERY_VALUE;
     if OpenKey('\htmlfile\shell\open\command', False) then
       Browser := ReadString('') ;
     CloseKey;
   finally
     Free;
   end;
   if Browser = '' then
   begin
     Result := False;
     Exit;
   end;
   Browser := Copy(Browser, Pos('"', Browser) + 1, Length(Browser)) ;
   Browser := Copy(Browser, 1, Pos('"', Browser) - 1) ;
   ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW) ;
end;

Menampilkan IP Address Milik Kita Sendiri

uses  Winsock;


function getIPs: Tstrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := TstringList.Create;
  Result.Clear;
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I    := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetIps.text);
end;

Mendapatkan Direktory Windows

procedure Form1.Button1Click(Sender: TObject);
  var
    WinPath: array[0..MAX_PATH + 1] of char;
  begin
      GetWindowsDirectory(WinPath,MAX_PATH);
  end;

Menyimpan Directory Nama Exe yang sedang berjalan kedalam sebuah variabel

Misalkan kita akan menyimpan alamat directory dimana program exe kita berjalan ke variabel lokfile.

procedure TForm1.FormCreate(Sender: TObject);
begin
     lokfile:=ExtractFilePath(application.ExeName);
End;

Membaca Resolusi Screen Layar

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Screen Width = ' + inttostr(Screen.Width) + #13#10 + 'Screen Height = ' + inttostr(Screen.Height));
end;

Mendapatkan Nama Komputer Dari IP Address

uses
  WinSock;


function LocalIP: string;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := '';
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I := 0;
  while pPtr^[I] <> nil do
  begin
    Result := inet_ntoa(pptr^[I]^);
    Inc(I);
  end;
  WSACleanup;
end;


function IPAddrToName(IPAddr: string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := StrPas(Hostent^.h_name)
  else
    Result := '';
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IPAddrToName(LocalIp));
end;


function GetIPFromHost(const HostName: string): string;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  i: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := '';
  phe := GetHostByName(PChar(HostName));
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  i := 0;
  while pPtr^[i] <> nil do
  begin
    Result := inet_ntoa(pptr^[i]^);
    Inc(i);
  end;
  WSACleanup;
end;

Mendapatkan & Men-Set Posisi Mouse

procedure TForm1.Button1Click(Sender: TObject);
var
  MausPos: TPoint;
begin
  GetCursorPos(MausPos);
  label1.Caption := IntToStr(MausPos.x);
  label2.Caption := IntToStr(MausPos.y);
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  SetCursorPos(600, 600);
end;

Meng Eksekusi Program Eksternal

 
Contoh Kasus : Menjalankan program calculator windows

procedure TForm1.Button1Click(Sender: TObject);
begin
   WinExec('calc.exe',SW_SHOWNORMAL);
end;

Membuka dan menutup CD Drive

 
uses
  MMSystem;
  
  { Membuka CD Drive }
  mciSendString('Set cdaudio door open wait', nil, 0, 0);
 
  { Menutup CD Drive }
  mciSendString('Set cdaudio door closed wait', nil, 0, 0);

Mengecek Kecepatan Processor (CPU clock speed) dalam satuan Mhz

 
function GetCpuSpeed: Comp;
var 
   t: DWORD;
   mhi, mlo, nhi, nlo: DWORD; 
   t0, t1, chi, clo, shr32: Comp; 
 begin 
   shr32 := 65536; 
   shr32 := shr32 * 65536; 
 
   t := GetTickCount; 
   while t = GetTickCount do begin end; 
   asm 
     DB 0FH 
     DB 031H 
     mov mhi,edx 
     mov mlo,eax 
   end; 
 
   while GetTickCount < (t + 1000) do begin end;
   asm
     DB 0FH
     DB 031H 
     mov nhi,edx 
     mov nlo,eax 
   end; 
 
   chi := mhi; 
   if mhi < 0 then chi := chi + shr32; 
 
   clo := mlo; 
   if mlo < 0 then clo := clo + shr32; 
 
   t0 := chi * shr32 + clo; 
   chi := nhi; 
   if nhi < 0 then chi := chi + shr32; 
   clo := nlo; 
   if nlo < 0 then clo := clo + shr32; 
   t1 := chi * shr32 + clo; 
   Result := (t1 - t0) / 1E6; 
 end;



Penggunaan :

procedure TForm1.Button3Click(Sender: TObject);
begin
MessageDlg(Format('%.1f MHz', [GetCpuSpeed]), mtConfirmation, [mbOk], 0);
end;