Rabu, 16 November 2016

Cara membuat dial up dilengkapi ip hunter dengan delphi 7

Cara membuat dial up dilengkapi ip hunter dengan delphi 7

Jumpa lagi di dunia coding delphi 7, kali ini saya akan mencoba berbagi cara membuat dial-up yang dilengkapi dengan fitur ip hunter, walau sebenarnya dalam fitur bawaan windows sendiri sudah ada fasilitas untuk membuat dial-up modem, tapi yang membedakan dengan aplikasi yang akan kita buat kali ini adalah fitur ip hunter, kalau anda sedang mencari artikel tentang cara membuat dial-up di windows 7, mungkin bisa terbantu dengan artikel saya terdahulu tentang 

Apa itu dial-up?


Dial-up adalah aplikasi atau alat untuk melakukan koneksi internet lewat modem, agar lebih mudah dalam melakukan koneksi, tanpa harus ribet membuka aplikasi bawaan modem.

Apa itu ip hunter?


Ip hunter adalah fitur yang memudahkan kita mencari ip tertentu yang kita inginkan, hal ini sangat erat kaitannya dengan dunia internet gratis, dimana para pengguna internet gratis terkadang harus mencari ip tertentu agar bisa konek ke server ssh dengan menggunakan injek, baiklah langsung saja pada project yang akan kita buat yaitu membuat dial-up yang dilengkapi fitur ip hunter dengan delphi 7.

Sebelum memulai membuat aplikasi dial-up ini, pastikan delphi 7 sobat sudah terintstal komponen ras, karena komponen ras lah yang akan melakukan perintah dial-up.

Komponen yang diperlukan untuk membuat dial-up

4 buah button = TButton
2 buah Timer = TTimer
1 buah XP Manifest = TXP Manifest
1 buah richedit = TRichEdit1
1 buah ComboBox = TComboBox
1 buah edit.text = Tedit1.text
1 buah statusbar = Tstatusbar
1 buah checkBox = Tcheckbox

Setelah semua komponen di siapkan, silahkan susun semenarik mungkin, agar para pengguna aplikasi dial-up buatan anda nanti merasa nyaman menggunakannya, lihat contoh penempatan komponen yang benar seperti gambar dibawah ini

Sekarang kita masuk ketahap pengcodingan, mohon diperhatikan agar tidak terjadi eror ketika project ini di compile.

Button1 kita beri label Dial, agar lebih terlihat profesional, untuk pengcodingan, dobel klik pada button1 lalu masukan coding berikut:

procedure TForm1.Button1Click(Sender: TObject);
var r: integer;
c: Array[0..100] of Char;
begin
if Button1.Caption='Dial' then begin
Button1.Caption:='Dialing...';
FillChar(dialparams, SizeOf(TRasDialParams), 0);
with dialparams do
begin
dwSize := Sizeof(TRasDialParams);
StrPCopy(szEntryName, ComboBox1.Items[ComboBox1.ItemIndex]);
end;
hRas := 0;
r := RasDial(nil,
nil,
dialparams,
0,
@RasCallback,
hRas);
Button4.Click;
if r <> 0 then begin
RasGetErrorString(r, c, 100);
StatusBar1.Panels[1].Text:= c;
end;
end else begin
if hRas = 0 then
exit;
if RasHangUp(hRas) <> 0 then
begin
MessageDlg('Error : Cannot hangup connection.', mtCustom,[mbOK] ,0);
end;
end;

end;

Langkah selanjutnya dobel klik pada button2 lalu masukan coding berikut:

procedure TForm1.Button2Click(Sender: TObject);
var bufsize: Longint;
numEntries: Longint;
entries: Array[1..12] of TRasEntryName;
x: Integer;
begin
entries[1].dwSize := SizeOf(TRasEntryName);
bufsize := SizeOf(TRasEntryName) * 12;
if RasEnumEntries(nil, nil, @entries[1], bufsize, numEntries) = 0 then
begin
if numEntries > 0 then
begin
for x := 1 to numEntries do
ComboBox1.Items.Add(entries[x].szEntryName);
ComboBox1.ItemIndex := 0;
end;
end
else
MessageDlg('Error : Cannot retrieve entry names', mtCustom,[mbOK] ,0);
end;

Selanjutnya dobel klik pada button3 lalu masukan coding berikut:

procedure TForm1.Button3Click(Sender: TObject);
var fp: LongBool;
r: Longint;
c: Array[0..100] of Char;
begin
if ComboBox1.itemindex=-1 then
exit;

FillChar(dialparams, SizeOf(TRasDialParams), 0);
with dialparams do
begin
dwSize := Sizeof(TRasDialParams);
StrPCopy(szEntryName, ComboBox1.Items[ComboBox1.ItemIndex]);
end;

r := RasGetEntryDialParams(nil, dialparams, fp);
if r = 0 then
with dialparams do
begin
if fp then
end
else
begin
RasGetErrorString(r, c, 100);
MessageDlg(('Error : ' + c), mtCustom,[mbOK] ,0);
end;
end;

Langkah selanjutnya dobel klik pada button4 lalu masukan coding berikut:

procedure TForm1.Button4Click(Sender: TObject);
begin
with dialparams do
begin
dwSize := Sizeof(TRasDialParams);
StrPCopy(szEntryName, ComboBox1.Items[ComboBox1.ItemIndex]);
StrPCopy(szpassword, '');
RasSetEntryDialParams(nil, dialparams, True);
end;
end;

Langkah selanjutnya dobel klik pada timer1 lalu masukan coding berikut:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (pos('Connected',StatusBar1.Panels[1].Text)<>0) or (pos('Not connected',StatusBar1.Panels[1].Text)<>0) then
begin
Button1.Click;
Timer1.Enabled:=False;
end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
Edit1.Enabled := True
else Edit1.Enabled := False;
end;

Langkah selanjutnya dobel klik pada timer2 lalu masukan coding berikut:

procedure TForm1.Timer2Timer(Sender: TObject);
var bufsize: Longint;
numEntries: Longint;
x: Integer;
entries: Array[1..100] of TRasConn;
stat: TRasConnStatus;
iphunt : String;
begin
iphunt := GetIPAddress;
entries[1].dwSize := SizeOf(TRasConn);
bufsize := SizeOf(TRasConn) * 100;
FillChar(stat, Sizeof(TRasConnStatus), 0);
stat.dwSize := Sizeof(TRasConnStatus);
if RasEnumConnections(@entries[1], bufsize, numEntries) = 0 then begin
if numEntries > 0 then begin
for x := 1 to numEntries do
with Form1, entries[x] do
begin
hras := hrasconn;
RasGetConnectStatus(hras, stat);


    StatusBar1.Panels[1].Text := StatusString(stat.rasconnstate, stat.dwError) ;
    Button1.Caption:='Hang up';
    ComboBox1.Enabled:=False;
    if CheckBox1.Checked = False then
    begin
    RichEdit1.Text := 'IP: '+iphunt;
    end;
    end;
    end else begin
    timer2.enabled:=false;
    StatusBar1.Panels[1].Text :='Not connected';
    Button1.Caption:='Dial';
    ComboBox1.enabled:=true;
    end;
    end else
    Messagedlg ('Error : Cannot retrieve connection details ', mtCustom,[mbOK] ,0);
    end; 
    Langkah selanjutnya dobel klik pada checkbox1 lalu masukan coding berikut:

    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
    if CheckBox1.Checked then
    Edit1.Enabled := True
    else Edit1.Enabled := False;
    end;

    Langkah selanjutnya dobel klik pada form1 lalu masukan coding berikut:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    hras:=0;
    Button2.click;
    Button3.click;
    end;

    Langkah selanjutnya dobel klik pada statusbar1 lalu bikin label seperti pada gambar dibawah ini

    Cara membuat dial-up dilengkapi ip hunter dengan delphi 7

    Langkah selanjutnya klik pada combobox1 tapi jangan dobel klik, lalu arahkan ke object inspector bagian events, cari tulisan onclick, kalau sudah ketemu rubah propertiesnya menjadi button3click, atau agar lebih jelas, silahkan perhatikan gambar berikut

    Cara membuat dial-up dilengkapi ip hunter dengan delphi 7

    Kalau semua langkah diatas sudah dilakukan, sekarang masuk ke tahap prosedor ras dial nya, copy paste coding berikut antara { Private declarations } dan   public

    dialparams: TRasDialParams;
    hras: THRasConn;
    status : Boolean;

    Atau agar lebih jelas silahkan perhatikan gambar berikut

    Cara membuat dial-up dilengkapi ip hunter dengan delphi 7

    Lalu langkah selanjutnya copy paste coding berikut tepat dibawah
    implementation
    {$R *.DFM}

    Function GetIPAddress():String;
    type
    pu_long = ^u_long;
    var
    varTWSAData : TWSAData;
    varPHostEnt : PHostEnt;
    varTInAddr : TInAddr;
    namebuf : Array[0..255] of char;
    begin
    If WSAStartup($101,varTWSAData) <> 0 Then
    Result := 'No. IP Address'
    Else Begin
    gethostname(namebuf,sizeof(namebuf));
    varPHostEnt := gethostbyname(namebuf);
    varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
    Result := inet_ntoa(varTInAddr);
    End;
    WSACleanup;
    end;

    function StatusString(state: TRasConnState; error: Longint): String;
    var
    c: Array[0..100] of Char;
    s: String;
    begin
    if error <> 0 then begin
    RasGetErrorString(error, c, 100);
    Result := c;

    end else begin
    s := '';
    case State of
    RASCS_OpenPort:
    s := 'Opening port';
    RASCS_PortOpened:
    s := 'Port opened';
    RASCS_ConnectDevice:
    s := 'Connecting device';
    RASCS_DeviceConnected:
    s := 'Device connected';
    RASCS_AllDevicesConnected:
    s := 'All devices connected';
    RASCS_Authenticate:
    s := 'Authenticating';
    RASCS_AuthNotify:
    s := 'Authentication: notify';
    RASCS_AuthRetry:
    s := 'Authentication: retry';
    RASCS_AuthCallback:
    s := 'Authentication: callback';
    RASCS_AuthChangePassword:
    s := 'Authentication: change password';
    RASCS_AuthProject:
    s := 'Authentication: projecting';
    RASCS_AuthLinkSpeed:
    s := 'Authentication: link speed';
    RASCS_AuthAck:
    s := 'Authentication acknowledged';
    RASCS_ReAuthenticate:
    s := ' Reauthenticating';
    RASCS_Authenticated:
    s := 'Authenticated. Logging on network';
    RASCS_PrepareForCallback:
    s := 'Preparing for callback';
    RASCS_WaitForModemReset:
    s := 'Waiting for modem reset';
    RASCS_WaitForCallback:
    s := 'Waiting for callback';
    RASCS_Projected:
    s := 'Projected';
    RASCS_StartAuthentication:
    s := 'Authenticating';
    RASCS_CallbackComplete:
    s := 'Callback complete';
    RASCS_LogonNetwork:
    s := 'Logging on network';
    RASCS_Interactive:
    s := 'Interactive';
    RASCS_RetryAuthentication:
    s := 'Retry Authentication';
    RASCS_CallbackSetByCaller:
    s := 'Callback set by caller';
    RASCS_PasswordExpired:
    s := 'Password expired';
    RASCS_Connected:
    s := 'Connected';
    RASCS_Disconnected:
    s := 'Disconnected';
    end;
    Result := s;
    end;
    end;

    procedure TForm1.IPHunter;
    var ListIP : TStringList;
    i : Integer;
    curIP : string;
    begin
    curIP := GetIpAddress;
    ListIP := TStringList.Create;
    ListIP.Text := Edit1.Text;
    ListIP.Text := StringReplace(ListIP.Text,';',#13#10,[rfReplaceAll]);

    for i:=0 to ListIP.Count - 1 do begin
    if Pos(ListIP[i],curIP) <> 0 then begin
    status := True;
    RichEdit1.Lines.Add('IP: '+curip+ ' (OK)');
    Exit;
    end;
    end;

    if not status then
    RichEdit1.lines.Add('IP: '+curip);
    Button1.Click;
    Form1.Timer1.Enabled:=True;
    end;

    procedure RasCallback(msg: Integer; state: TRasConnState;
    error: Longint); stdcall
    begin
    Form1.StatusBar1.Panels[1].Text := statusstring(state, error);
    if strcomp(pchar(statusstring(state, error)), 'Connected')= 0 then begin
    Form1.timer2.enabled:=true;
    end;
    if Pos('Connected',Form1.StatusBar1.Panels[1].Text)<> 0 then begin
    if Form1.CheckBox1.Checked=True then begin
    Sleep(1000);
    Form1.IPhunter;
    end
    end;
    end;

    Perhatikan lagi semua langkah dari awal sampai akhir dengan seksama, kalau semua dirasa sudah benar, silahkan tekan F9 untuk mencoba menjalankannya.

    Cara membuat pemanggil file exe dengan delphi 7

    Cara membuat pemanggil file exe dengan delphi 7



    Apa itu pemanggil file exe?

    Pemanggil file exe adalah sebuah aplikasi yang saya buat dengan menggunakan delphi, aplikasi tersebut mempunyai sistem kerja memanggil file-file yang berekstensi exe, baik itu file yang terinstal maupun file portable yang ada pada komputer sobat seperti: ms word, excel, pemutar musik, browser dan lain-lain.


    Baiklah sobat, kita langsung pada praktek cara membuat pemanggil file exe tersebut.

    Komponen yang dibutuhkan adalah:

    8 buah speedbutton ada di komponen alphaskin1 buah label  ada di palet standart8 buah png image, ini sobat harus membuatnya sesuaikan dengan speedbutton yang akan dibuat, karena dalam praktek saya membuat 8 speedbutton yang akan memanggil file exe

    counter(li)MS.Wordcounter(li)Excelcounter(li)M.Accesscounter(li)Power Pointcounter(li)Windows media playercounter(li)Internet explorercounter(li)Mozilla firefoxcounter(li)Kalkulator

    Maka saya membuat 8 png image tersebut, kalau anda kesulitan membuat, saya akan siapkan png image jadinya dalam source code yang akan saya share pada akhir artikel ini.

    Langkah awal pembuatannya:

    Pertama sobat buka delphi sobat lalu masukan 8 buah speedbutton dan 1 buah label, lalu ganti nama masing-masing speedbutton sesuai dengan nama file yang akan dipanggil agar lebih terlihat profesional. Setelah semuanya siap, sekarang kita masuk ketahap pengcodingan, pastikan sobat sudah memasukan uses Sellapi. 

    1. Doble klik pada speedbutton excel lalu masukan koding berikut:

    procedure TForm1.SpeedButton5Click(Sender: TObject);
    begin ShellExecute(Application.handle, 'open', 'excel.exe', nil, nil,SW_ShowNormal);
    end;

    2. Doble klik pada speedbutton ms.word lalu masukan coding beikut:

    procedure TForm1.SpeedButton4Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'Winword.exe', nil, nil,
    SW_ShowNormal);
    end; .

    3. Doble klik pada speedbutton m.access lalu masukan coding berikut:

    procedure TForm1.SpeedButton7Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'ACCICONS.exe', nil, nil,
    SW_ShowNormal);
    end; .

    4. Dobel klik pada speedbutton wmplayer lalu masukan coding berikut:

    procedure TForm1.SpeedButton3Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'wmplayer.exe', nil, nil,
    SW_ShowNormal);
    end; .

    5. Doble klik pada speedbutton Internet Explorer lalu masukan coding berikut:

    procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'iexplore.exe', nil, nil,
    SW_ShowNormal);
    end;

    6. Doble klik pada speedbutton Kalkulator lalu masukan coding berikut:

    procedure TForm1.SpeedButton8Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'calc.exe', nil, nil,
    SW_ShowNormal);
    end; .

    7. Doble klik pada speedbutton powerpoint lalu masukan coding berikut:

    procedure TForm1.SpeedButton6Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'POWERPNT.exe', nil, nil,
    SW_ShowNormal);
    end; .

    8. Doble klik pada speedbutton Mozilla firefox lalu masukan coding berikut:

    procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
    ShellExecute(Application.handle, 'open', 'firefox.exe', nil, nil,
    SW_ShowNormal);
    end; .

    Fungsi dari coding diatas hanya memanggil file yang berada di drive C, atau hanya memanggil file installer, kalau sobat ingin memanggil file di drive lain yang sifatnya portable, maka sobat harus mengganti coding dengan contoh sebagai berikut:

    shellexecute(handle,'open',PChar('nama file'),PChar('nama file silent-load '),NIL,SW_SHOW)
    .

    Itulah cara membuat pemanggil file exe yang bisa saya share kali ini, semoga bisa bermanfaat

    Cara mengatasi eror pada project delphi 7

    Cara mengatasi eror pada project delphi 7

    Pesan kesalahan atau eror ketika membuka project delphi sering ditemui terutama bagi anda yang baru saja menginstal delphi, dan belum menginstal semua komponen pendukungnya, hal ini sering terjadi terutama bagi anda yang suka membuat project dengan source code hasil download, dan untuk mengatasi masalah yang timbul yaitu eror code, tentunya anda harus tau penyebabnya dengan memperhatikan project yang sedang anda buat.

    Beberapa pesan kesalahan yang sering muncul pada saat membuka project delphi

    1. Class Ts XXX.
    Kesalahan eror reading form yang menampilkan info Class Ts, misalnya Class TsStatusBar, seperti pada gambar dibawah ini


    Berarti project yang sedang anda buka itu menggunakan komponen alpha skins, perlu dicatat, setiap pesan kesalahan yang diawali dengan class Ts berarti project tersebut menggunakan komponen alpha skins, jadi anda harus menginstal komponen alpha skins di delphi anda.

    Pesan kesalahan apa saja yang biasa muncul apabila delphi anda belum menginstal komponen alpha skins?

    1. Class TsLabel
    2. Class TsStatusBar
    3. Class TsEdit.text
    4. Class TsButton
    5. Class TsBitBtn
    6. Class TsPannel
    7. Class TsCheckBox
    8. Class TsSkin provider
    9. Class TsSkin Manager

    dan masih banyak lagi, pokoknya setiap pesan kesalahan yang diawali dengan Class Ts itu diakibatkan karena delphi sobat belum menginstal komponen alpha skins.

    Cara Membuat Password menjadi Bintang di Delphi

    Cara Membuat Password menjadi Bintang di Delphi

    Cara Membuat Password menjadi Bintang di Delphi

    Kali ini Saya akan membahas tentang Cara Membuat Password menjadi Bintang di Delphi. Pastinya tampilan program buatan Anda akan lebih menarik dengan adanya Artikel ini.

    Langsung saja disimak trik sederhana ini Namun berarti :
    Pertama Klik dulu komponen Edit2 untuk bagian Password,
    Kedua pada bagian properties cari PasswordChar
    Terakhir ubah Value dari #0 menjadi *

    atau Anda bisa menggunakan cara yang satu ini
    Klik 2x pada bagian kosong Form "OnCreate"
    Lalu masukkan Source berikut
    Edit2.PasswordChar := '*';

    Saya rasa cukup untuk postingan sederhana kali ini. Jika ada pertanyaan silakan jangan sungkan untuk bertanya.

    Cara menerapkan fungsi Auto Save dan Auto Load pada form delphi

    Cara menerapkan fungsi Auto Save dan Auto Load pada form delphi

    Auto save atau menyimpan otomatis dan auto load atau mengambil otomatis sering sekali diterapkan pada project form login atau project untuk menyimpan data yang nantinya ketika kita memerlukannya lagi tidak perlu menulis ulang text yang dibutuhkan.

    Salah satu contoh kita membuat aplikasi koneksi SSH, ketika mau melakukan koneksi ke server, kita diharuskan menulis:
    1. Host ip
    2. Port Proxy
    3. Username
    4. Password.Nah untuk memudahkan semua itu agar ketika kita mau melakukan koneksi login lagi tidak harus menulis ulang, salah satu caranya ialah dengan menerapkan fungsi auto save dan auto load tadi.

    1. Cara menerapkan fungsi auto save pada form delphi

    Pertama silahkan buka project delphi sobat lalu buat form baru, masukan 4 buah edit.text dan 4 buah label seperti pada gambar dibawah ini


    Setelah form selesai dibuat, langkah selanjutnya memasukan interface uses 

    IniFiles agar lebih jelas perhatikan gambar dibawah ini


    Perhatikan tulisan yang di kolom merah, itu yang nantinya akan mengeksekusi setiap perintah yang akan kita terapkan pada project ini.

    Selanjutnya silahkan dobel klik pada edit1.text lalu masukan coding berikut:

    procedure TForm1.Edit1Change(Sender: TObject);varsave : TIniFile;beginsave := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Seting.ini');

    with save do beginWriteString('SSH','host', Edit1.Text);
    end;
    end;

    Perhatikan tulisan (Seting.ini), itu fungsinya untuk membuat nama configurations atau file config, anda bebas menggunakan nama apa saja asal berakhiran .ini.

    Ulangi langkah di atas dengan mengklik edit2.text dan masukan coding berikut:

    procedure TForm1.Edit2Change(Sender: TObject); varsave : TIniFile;beginsave := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Seting.ini');
    with save do beginWriteString('SSH','port', Edit2.Text);
    end;
    end;

    Ulangi lagi langkah diatas dengan dobel klik pada edit3.text lalu masukan coding berikut:

    procedure TForm1.Edit3Change(Sender: TObject); varsave : TIniFile;beginsave := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Seting.ini');
    with save do beginWriteString('SSH','username',Edit3.Text);
    end;
    end;

    Ulangi lagi langkah diatas dengan dobel klik pada edit4.text lalu masukan coding berikut:

    procedure TForm1.Edit4Change(Sender: TObject);varsave : TIniFile;beginsave := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Seting.ini');
    with save do beginWriteString('SSH','password',Edit4.Text);
    end;
    end;

    Dibagian password agar tidak terlihat huruf atau angka ketika kita mengisi password, maka kita harus merubah Password caracter di object inspector dengan menggantinya dari #0 menjadi *.
    Setelah semua langkah dilakukan dengan benar maka fungsi auto save harusnya sudah berhasil diterapkan, kalau terjadi eror silahkan perhatikan lagi baik-baik semua keterangan diatas.

    Setelah fungsi auto save sekarang kita lanjut ke fungsi auto load.

    2. Cara menerapkan fungsi auto load pada form delphi

    Untuk menerapkan fungsi auto load sedikit lebih mudah dibanding auto save, caranya cukup dobel klik pada form project delphi anda lalu masukan coding berikut:

    procedure TForm1.FormCreate(Sender: TObject);
    varload:TIniFile;beginload := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Seting.ini');
    with load do begin
    Edit1.Text := ReadString('SSH','host', 'Host ip');
    Edit2.Text :=
    ReadString('SSH','port', 'Port');
    Edit3.Text := ReadString('SSH','username','Username');
    Edit4.Text := ReadString('SSH','password','Password');
    end;
    end;

    Cara kerja auto load ini yaitu, ketika form delphi kita buka maka otomatis akan me-load config dari file config.ini yang kita buat di form auto save tadi.

    Perhatikan juga untuk memasukan coding sengaja saya beri tanda garis miring itulah coding yang harus dimasukan, karena yang tidak garis miring itu sudah ada pada defaultnya form delphi setiap kita melakukan dobel klik pada komponen-komponen tadi.

    Cukup mudah bukan? itulah cara menerapkan fungsi auto save dan auto load pada project delphi

    Semoga Bermanfaat....

    KONVERSI TIPE DATA PADA DELPHI

    KONVERSI TIPE DATA PADA DELPHI

    Ada beberapa fungsi yang digunakan untuk konversi tipe data di delphi, yaitu :

    1. Fungsi Strtoint
    Digunakan untuk mengubah String yang mempresentasikan data bertipe integer menjadi sebuah angka bertipe integer
    Sintaks :
    Function Strtoint (const S : String) : Integer;
    Contoh : Nilai integer := Strtoint (edit1.text) ;
    Artinya mengubah data yang bertipe String di komponen edit1 menjadi data yang bertipe integer yang disimpan di variable nilai integer.

    2. Fungsi Strtofloat
    Digunakan untuk mengubah String yang mempresentasikan data bertipe integer menjadi sebuah nilai floatingpoint (bilangan real).
    Sintaks :
    Function Strtofloat (const S : String) : Extended ; overload ;
    Function Strtofloat (const S : String ; Const format settings : tformat
    settings) : Extended ; overload ;
    Contoh : Bilangan real:= strtofloat (edit1.text) ;
    Artinya mengubah data yang bertipe String di dalam komponen edit1 menjadi data yang
    bertipe Extended (real) yang disimpan di variable bilangan real

    3. Fungsi Inttostr
    Digunakan untuk mengubah data bertipe integer menjadi sebuah string
    Sintaks :
    Function inttostr (value : integer) : String ; overload ;
    Contoh :
    Mystring := Inttostr (5*6)
    Artinya data bertipe integer (yaitu 30, yang merupakan hasil perhitungan 5*6) dirubah
    menjadi data bertipe string yang disimpan di variable mystring

    4. Fungsi Inttostr
    Digunakan untuk mengubah nilai floating-point menjadi sebuah string
    Sintaks :
    Function floattostr (value : Extended) : String ; overload ;
    Contoh :
    Mystring := FloatToStr (3,14*4)
    Artinya data bertipe real (yaitu 12,56, yang merupakan hasil perhitungan 3,14*4) dirubah menjadi data bertipe string yang disimpan di variable mystring.

    Selasa, 15 November 2016

    pengertian sensor dan tranduser

    pengertian sensor dan tranduser

    Sensor merupakan peralatan yang digunakan untuk mengubah besaran fisis tertentu menjadi besaran listrik equivalent yang siap untuk dikondisikan ke elemen berikutnya.

    Sensor dapat kita analogikan sebagai sepasang mata manusia yang bertugas membaca atau mendeteksi data/ informasi yang ada di sekitar.

    Macam-macam sensor

    Ø SENSOR CAHAYA

    § Light dependent Resistant (LDR)

    § Photodioda

    § Phototransistor

    Ø SENSOR THERMAL

    § Thermocoupel, IC LM-35, Thermistor, Resistant Temperatur Detector (RTD)

    Ø SENSOR MEKANIK,/PERPINDAHAN/DISPLACEMENT

    § Potensiometer, piezoelectric

    Ø SENSOR SUARA

    § Microphone

    Ø Dan masih banyak lagi.

    Yang digunakan dalam robot “Line Tracer” ini adalah hanya sensor cahaya saja. Demikian akan kita bahas bagaimana kinerja sensor cahaya tersebut:

    Light Dependent Resistant ( LDR )

    ü Resistor yang LDR tersusun atas bahan semikonduktor dan memiliki karakteristik nilai tahanan tergantung dengan intensitas cahaya yang diterimanya.

    ü Semakin tinggi intensitas cahaya yang mengenai LDR, resitansinya semakin mengecil, begitu pula sebaliknya.

    Gambar Rangkaian SENSOR dengan menngunakan LDR.

    Photodioda

    ü Komponen ini akan mengubah energi cahaya, dalam hal ini energi cahaya infra red memjadi sinyal listrik ( dalam hal ini arus listrik ).

    ü Merupakan sambungan dioda PN yang memiliki kepekaan terhadap radiasi gelombang Elektromagnetik (EM) ketika jatuh pada sambungan.

    ü Dikarenakan sambungan PN sangatlah kecil, dibutuhkan lensa untuk memfokuskan radiasi yang datang agar mendapatkan respon yang baik.

    ü Keunggulan device ini adalah nilai waktu responnya sangatlah cepat. Kebanyakan memiliki waktu respon mendekati 1 Mikrodetik, bahkan ada yang mendekati 1 nano detik.

    ü Semakin tinggi intensitas cahaya, maka arus bocor pada sambungan PN semakin besar sehingga arus yang lewat sambungan semakin kecil


    Gambar rangkaian SENSOR dengan menggunakan PHOTODIODA



    Pengertian Tranduser
    Transduser berasal dari kata “traducere” dalam bahasa Latin yang berarti mengubah. Sehingga transduserdapat didefinisikan sebagai suatu peranti yang dapat mengubah suatu energi ke bentuk energi yang lain.
    William D.C, (1993), mengatakan transduser adalah sebuah alat yang bila digerakan oleh suatu energi di dalam sebuah sistem transmisi, akan menyalurkan energi tersebut dalam bentuk yang sama atau dalam bentuk yang berlainan ke sistem transmisi berikutnya”. Transmisi energi ini bisa berupa listrik, mekanik, kimia, optic (radiasi) atau thermal (panas).
    Bagian masukan dari transduser disebut “sensor”, karena bagian ini dapat mengindera suatu kuantitas fisik tertentu dan mengubahnya menjadi bentuk energi yang lain.

    Gambar 11. Gambaran Umum Masukan–Keluaran Transduser

    Dari sisi pola aktivasinya, transduser dapat dibagi menjadi dua, yaitu:
    a. Tranduser pasif, yaitu tranduser yang dapat kerja bila mendapat energi tambahan dari luar.
    b. Transduser aktif, yaitu transduser yang bekerja tanpa tambahan energi dari luar, tetapi menggunakan energi yang akan diubah itu sendiri.

    Untuk jenis transduser pertama, contohnya adalah thermistor. Untuk mengubah energi panas menjadi energi listrik yaitu tegangan listrik, maka thermistor harus dialiri arus listrik. Ketika hambatan thermistor berubah karena pengaruh panas, maka tegangan listrik dari thermistor juga berubah. Adapun contoh untuk transduser jenis yang kedua adalah termokopel. Ketika menerima panas, termokopel langsung menghasilkan tegangan listrik tanpa membutuhkan energi dari luar.

    Pemilihan Transduser
    Pemilihan suatu transduser sangat tergantung kepada kebutuhan pemakai dan lingkungan di sekitar pemakaian. Untuk itu dalam memilih transduser perlu diperhatikan beberapa hal di bawah ini:
    1. Kekuatan, maksudnya ketahanan atau proteksi pada beban lebih.
    2. Linieritas, yaitu kemampuan untuk menghasilkan karakteristik masukan-keluaran yang linier.
    3. Stabilitas tinggi, yaitu kesalahan pengukuran yang kecil dan tidak begitu banyak terpengaruh oleh faktor-faktor lingkungan.
    4. Tanggapan dinamik yang baik, yaitu keluaran segera mengikuti masukan dengan bentuk dan besar yang sama.
    5. Repeatability : yaitu kemampuan untuk menghasilkan kembali keluaran yang sama ketika digunakan untuk mengukur besaran yang sama, dalam kondisi lingkungan yang sama.
    6. Harga. Meskipun faktor ini tidak terkait dengan karakteristik transduser sebelumnya, tetapi dalam penerapan secara nyata seringkali menjadi kendala serius, sehingga perlu juga dipertimbangkan. Diantara beberapa karakteristik transduser di atas, akan dibahas lebih mendalamtentang linieritas.

    Linieritas Transduser
    Linieritas adalah suatu sifat yang penting dalam suatu transduser. Bila suatu transduser adalah linier, maka bila masukan menjadi dua kali lipat, maka keluaran misalnya menjadi dua kali lipat juga. Hal ini tentu akan mempermudah dalam memahami dan memanfaatkan transdusertersebut.
    Ketidaklinieran setidaknya dapat dibagi menjadi dua, yaitu ketidaklinieran yang diketahui dan yang tidak diketahui. Ketidaklinieran yang tidak diketahui tentu sangat me-nyulitkan, karena hubungan masukan keluaran tidak diketahui. Seandainya transduser semacam ini dipakai sebagai alat ukur, ketika masukan menjadi dua kali lipat, maka keluarannya menjadi dua kali lipat atau tiga kali lipat, atau yang lain,tidak diketahui. Sehingga untuk transduser semacam ini, perlu dilakukan penelitian tersendiri untuk mendapatkan hubungan masukan keluaran, sebelum memanfaatkannya. Adapun untuk ketidaklinieran yang diketahui, maka transduser yang memiliki watak semacam ini masih dapat dimanfaatkan dengan menghindari ketidaklinierannya atau dengan melakukan beberapa transformasi pada rumus-rumus yang menghubungkan masukan dengan keluaran. Contoh ketidaklinieran yang diketahui misalnya: daerah mati (dead zone), saturasi (saturation), logaritmis, kuadratis dan sebagainya. Perinciannya adalah sebagai berikut:
    1. Daerah mati (dead zone) artinya adalah ketika telah diberikan masukan, keluaran belum ada. Baru setelah melewati nilai ambang tertentu, ada keluaran yang proporsional terhadapmasukan.

    2. Saturasi maksudnya adalah, ketika masukan dibesarkan sampai nilai tertentu, keluaran tidak bertambah besar, tetapi hanya menunjukkan nilai yang tetap.

    3. Logaritmis, maksudnya adalah sesuai dengan namanya bila masukan bertambah besar secaralinier, keluarannya bertambah besar secara logaritmis.

    4. Kudratis, maksudnya adalah sesuai dengan namanya bila masukan bertambah besar secaralinier, keluarannya bertambah besar secara kuadratis

    Pada kondisi riil, transduser yang linier dalam jangkau yang luas sangat jarang ditemui. Bahkan banyak transduser yang memiliki sifat tidak linier yang merupakan gabungan dari beberapa sifat tidak linier. Oleh karena itu, perlu kiat-kiat yang tepat untuk memanfaatkan fenomena tersebut

    Menggunakan Properties pada Object Inspector

    Menggunakan Properties pada Object Inspector

    Pada bagian ini kita bisa mengatur tampilan/ visual dari suatu komponen, seperti mengatur warna, ukuran, posisi dari kiri, dan pengaturan visual lainnya. Kali ini kita gunakan komponen Panel untuk mengeksplorasi fungsi dari Properties.

    Langkah-langkahnya sebagai berikut:

    1.       Buatlah aplikasi baru (New Application) seperti yang dijelaskan pada Bab sebelumnya.

    2.       Ambil komponen Panel dari Componen Palette tab Standard.


    3.       Karena komponen yang akan kita atur visualnya adalah panel, maka klik pada panel terlebih dahulu, sehingga terlihat seperti gambar di bawah ini:


    4.       Misalkan yang pertama kita akan mengubah tulisan “Panel1” dengan “Latihan Delphi”, maka bagian Properties yang kita rubah adalah Caption. Pada Caption kita isi dengan “Latihan Delphi”.


    5.       Perhatikan perubahan yang terjadi pada komponen panel. Tulisannya menjadi “Latihan Delphi”.


    6.       Selanjutnya kita akan merubah warnadari Panel, yaitu dengan merubah nilai Properties pada bagian Color. Misalkan kita akan meruah warna panel menjadi biru, maka ita isikan Color dengan clBlue. Anda bisa memilih warna-warna yang anda sukai dengan mengklik combobox dari Color (). Klik pada bagian ().


    7.       Hasilnya yaitu warna panel akan berubah menjadi biru.


    8.       Selanjutnya warna tulisan terlihat jelas, kita akan merubah warna Font-nya menjadi putih. Caranya yaitu kita ubah Properties pada bagian Font.

    Jika kita perhatikan pada bagian depan Font terdapat tanda (+):


    Itu menandakan bahwa bagian ini masih mempunyai sub pengaturan lagi. Untuk melihat sub-sub pengaturan itu kita klik tanda (), sehingga object inspector menjadi sperti gambar berikut:


    9.       Karena yang akan kita rubah adalah warna Font-nya, maka yang kita rubah adalah nilai  Properties pada bagian Color. Misal kita pilih warna Font putih. Klik pada combobox Color:



    10.   Hasil akhirnya adalah seperti gambar di bawah ini:


    Dengan demikian sudah kita buat sebuah panel bertuliskan Latihan Delphi, berwarna biru, dan tulisan berwarna putih. Anda bisa mencoba bagian Properties lainnya untuk lebih mempercantik komponen yang anda buat.

    Cara pengaturan nilai Properties di atas berlaku untuk semua komponen pada Delphi. Hanya menu pengaturannya menyesuaikan dengan komponen yang bersangkutan.

    Berikut adalah bagian-bagian Properties dan fungsi-fungsinya:

    No

    Object Ispector (Properties)

    Fungsi

    Keterangan

    1.BevelInner

    Jenis kemiringan sisi komponen bagian dalam

    2.BevelOuter

    Jenis kemiringan sisi komponen bagian luar

    3.BevelWidth

    Ukuran kemiringan sisi komponen

    4.BorderStyle

    Jenis garis tepi komponen

    5.BorderWidth

    Ukuran garis tepi komponen

    6.Caption

    Text pada komponen yang bersifat read only, dan hanya sebatas tampilan visual.Seperti : Panel, Label, Button, dsb

    Untuk Button, Panel, Label, Form, dan komponen Read Only lainnya.

    7.Checked

    Dicek (centang) atau tidak. Nilainya hanya True/ False

    Hanya untuk komponen CheckBox

    8.Color

    Memberikan warna pada komponen

    9.Cursor

    Jenis kursor pada saat pointer melewati komponen tersebut

    10.EditMask

    Untuk mengedit default format inputan

    Hanya untuk komponen EditMask

    11.Enabled

    Dapat/tidaknya komponen bisa digunakan. Nilainya True/False

    12.Font

    Untuk mengatur Font yang ditampilkan oleh komponen

    - Name

    Nama/jenis Font (Arial, Times New Rowman, dll)

    - Size

    Ukuran Font pada komponen

    - Color

    Warna Font pada komponen

    - Style

    Model Font pada komponen (Bold, Italic, Underlined, Regualar)

    13.Glyph

    Untuk memasukkan gambar pada komponen sejenis button

    Hanya untuk SpeedButton, BitButton

    14.Height

    Tinggi dari komponen

    15.Hint

    Kalimat petunjuk yang akan dimunculkan jika komponen didekati kursor

    16.Items

    Untuk memasukkan daftar pilihan

    Hanya untuk Radiogroup, Combobox, ListBox, MainMenu, PopupMenu, CheckListbox.

    17.ItemIndex

    Urutan dari pilihan

    18.Left

    Jarak komponen dari tepi kiri form

    19.Lines

    Text pada memo dalam satuan baris.

    Hanya untuk Memo, RichEdit

    20.Name

    Nama dari komponen, yang merupakan identitas yang akan dipanggil pada listing program

    21.PasswordChar

    Menentukan karakter password (* atau karakter lainnya)

    Hanya untuk komponen Edit

    22.Picture

    Untuk memasukkan gambar ke dalam komponen

    Hanya untuk komponen Image

    23.ReadOnly

    Hanya bisa dibaca/ tidak dapat diedit. Bernilai True/False

    24.ShowHint

    Menampilkan/ tidak menampilkan kalimat petunjuk.

    25.Text

    Text pada komponen yang bersifat editable (dapat diedit), seperti Edit, memo, dsb

    Untuk Edit, MaskEdit, Memo, dan komponen editable lain

    26.Top

    Jarak komponen dari atas

    27.Visible

    Tampak atau tidak komponen tersebut. Nilainya True/False

    28.Width

    Lebar komponen

    Dari semua daftar pilihan Properties tersebut diatas tidak semuanya terdapat pada setiap komponen. Yang dimiliki oleh tiap komponen adalah yang berkaitan dengan fungsi, karakteristik dan tugasnya dalam program

    Fungsi Komponen Delphi 7

    Fungsi Komponen Delphi 7

    Jendela IDE Delphi 7 mempunyai perangkat-perangkat yang dapat dipergunakan untuk memudahkan seorang programmer dalam membuat program. Secara default , Borlandtelah mengatur letak perangkat-perangkat sedemikian rupa, perangkat-perangkat tersebut diantaranya :

    1. Menu
    Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi Windows lainnya. Dari menu ini programmer dapat memanggil, menyimpan program, menjalankan program, meremove komponen atau menambahkan komponen baru dan lain sebagainya. Singkatnya segala sesuatu yang berhubungan dengan IDE Delphi dapat Anda lakukan dari menu.

    2. Speed Bar 
    Speed Bar atau yang sering juga disebut toolbar berisi kumpulan tombol yang tidak lain adalah pengganti beberapa item menu yang sering digunakan. Dengan kata lain, setiap tombol pada Speed Bar menggantikan salah satu item menu. Sebagai contoh, tombol kiri atas adalah pengganti File New , tombol disebelah kanannya adalah pengganti menuFile Open , dan seterusnya.

    3. Component Palette 
    Component Palette berisi kumpulan icon yang melambangkan komponen-komponen pada VCL ( Visual Component Library ). VCL adalah merupakan pustaka komponen yang dengannya Anda dapat membangun sebuah aplikasi. Pada Component Palette , terdapat beberapa tab, yaitu Standard , Additionals , Data Access , Data Controls dan lain sebagainya.

    4. Object TreeView 
    Object TreeView berisi struktur pohon yang menampilkan semua nama komponen yang telah Anda letakkan pada form designer atau biasa juga disebut dengan hirarki seperti pada Windows Explorer .

    5. Object Inspector 
    Object Inspector digunakan untuk mengubah karakteristik dari sebuah komponen. Ada dua tab pada Object Inspector , yaitu Properties dan Events . Pada tab Properties Anda dapat mengubah nilai dari beberapa komponen yang telah diletakkan pada form , sedangkan tab Eventsdigunakan untuk menyisipkan kode untuk menangani kejadian tertentu. Kejadian dapat dibangkitkan karena bebarapa hal, seperti pengklikan mouse, penekanan tombol keyboard, penutupan jendela dan lain sebagainya.

    6. Form Designer 
    Form Designer merupakan tempat dimana programmer dapat merancang jendela aplikasi atau tempat untuk desain interface dari aplikasi Windows . Desain form dilakukan dengan cara meletakkan komponen-komponen yang diambil dari Component Palette .

    7. Code Editor 
    Code Editor adalah tempat dimana programmer menuliskan kode program yang pernyataan-pernyataannya dalam bahasa Object Pascal . Hal utama yang perlu diperhatikan dalam Code Editor adalah Anda tidak perlu menuliskan seluruh kode sumber karena Delphi telah menuliskan semacam kerangka sumber.

    Jenis-jenis komponen standar Delphi 7. 

    KomponenFungsi
    PointerPointer adalah komponen khusus dan terdapat disetiap tab dalam component palatte. Komponen pointer adalah komponen select yang digunakan untuk memilih komponen dalam form designer.
    FramesSebuah kontainer yang digunakan untuk menampung komponen frame dapat diletakkan dalam form atau frame-frame yang lain.
    MainMenuKomponen yang digunakan untuk membuat menu bar dan menu drop down. Komponen ini bersifat inv isible.
    PopUpMenuKomponen yang digunakan untuk membuat menu popup yang akan muncul jika pemakai melakukan proses klik kanan. Komponen ini bersifat invisible.
    LabelKomponen ini hanya digunakan untuk menambahkan teks di dalam form
    EditKomponen yang digunakan untuk menerima satu baris teks yang merupakan data input pemakai.
    Komponen ini juga dapat digunakan untuk menampilkan teks.
    MemoKomponen Memo dipakai untuk memasukkan atau menapilkan beberapa baris teks di dalam form.
    ButtonKomponen yang dipakai untuk membuat button yang akan dipakai untuk memilih pilihan di dalam aplikasi. Jika mengklik komponen button tersebut maka suatu perintah atau kejadian akan dijalankan
    CheckBoxKomponen yang digunakan untuk memilih atau membatalkan suatu pilihan, yaitu dengan cara mengklik komponen.
    RadioButtonKomponen yang digunakan untuk memberikan sekelompok pilihan dan hanya ada satu pilihan yang dapat dipilih. Untuk memilih salah satu pilihan adalah dengan mengklik tombol pilihan yang diinginkan.
    ListBoxKomponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan batang penggulung.
    ComboBoxKomponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan mengklik tombol drop down
    ScrollBarKomponen ini mempunyai fungsi yang sama seperti batang penggulung yang terdapat dalam program-program berbasis Windows pada umumnya.
    GroupBoxSebuah kontainer yang dapat digunakan untuk mengelompokkan komponen-komponen lain seperti Radio Button, CheckBox dan komponen kontainer yang lain.
    RadioGroupKomponen ini merupakan komponen kombinasi dari GroupBox dan didesain untuk membuat sekelompok RadioButton.
    PanelSebuah kontainer yang dapat digunakan untuk membuat StatusBar, ToolBar dan ToolPalette.
    ActionListKomponen yang berisi daftar action yang digunakan bersama-sama dengan komponen dan kontrol seperti item menu dan button

    Menghilangkan Tampilan close Minimize Dan Maximize

    Menghilangkan Tampilan close Minimize Dan Maximize

    Sedikit cara utak-atik agar tampilan form kosongan tanpa tanda close, minimize, dan maximize,  

    langsung saja buka delphinya. Lihat object inspector dan pilih pada BorderIcon klik 2x seteleh itu di samping BiSystemMenu tulisan"True" nah pada bagian itu kita klik 2x sehingga yang tadinya tulisannya "True" maka menjadi "False".

    seteh itu jalankan dan lihat di pojok kanan atas tampilan close, minimize, maximize telah hilang.

    Rabu, 09 November 2016

    Draught Survey Dan Program Kalibrasi Draught Survey

    Draught Survey Dan Program Kalibrasi Draught Survey


    Assalamualaikum warahmatullahiwabarakatu

    Draught Survey atau Draft Survey lebih di kenal dan di ketahui berawal dari dan berdasarkan hukum Archimedes yg mengatakan berat benda yg masuk ke dalam air adalah sama dengan berat air yg keluar akibat tekanan masuknya benda tersebut ke dalam air tadi, namun sebelum archimedes menemukan ini bisa jadi ketika zaman Nabi Nuh yg sudah bisa membuat kapal pada masa itu sudah ada hukum perhitungan berat dengan cara draft survey ini namun tidak di kenal oleh publik secara umum karena saya pernah mendengar cerita Abu Nawas ketika akan di hukum gantung oleh raja jika tidak tahu menebak berat benda besar yg dimuat diatas kapal dengan metode yg hampir sama dengan archimedes dan dasar perhitungan draft survey maka Abu Nawas bisa lolos hukuman gantung dengan menimbang berat kapas sebagai pengganti berat dari benda besar yg coba di tebak berapa jumlah beratnya tersebut.

    selain dengan draft survey ini masih ada 3 cara lain menghitung berat yaitu weighing bridge dan belt conveyor scale, namun saat ini Draft Survey sudah di akui oleh dunia dan badan dunia PBB sebagai alat hitung resmi yg di gunakan sebagai angka B/L (bill of lading)

    Secara umum cara perhitungan draft survey adalah menghitung displacement yaitu panjang x lebar x tinggi draft x koefisien blok x density namun karena bentuk kapal tidak hanya berbentuk kotak persegi empat saja makan di perlukan beberapa koreksi yakni draft koreksi, trim koreksi, hogging atau sagging koreksi dan density koreksi




    Baiklah Saudara Dan Teman - Teman Sekalian Berikut Saya Lampirkan Programnya Silahkan Saudara / Teman - Teman Sekalian Uduh , mudah2han Ada Manfaatnya.... 
    Kalau Ada Kritik, Saran Dan Pertanyaan Silahkan Komentar Dibawah Ini....

    Silahkan Di Uduh Di Sini

    Cara menginstal quick report di Delphi 7

    Cara menginstal quick report di Delphi 7 ... Untuk membuat report atau laporan dari sebuah aplikasi database maka diperlukan suatu tool...