Pages

Subscribe:

Ads 468x60px

Selasa, 16 Agustus 2011

APLIKASI STOPWATCH DENGAN DELPHI


Selamat pagi Kawan……
Saya punya contoh aplikasi dengan mengguanakan Delphi. Komponen – komponen yang diperlukannya antara lain :
·         LCDNumber yaitu sebuah control untuk menampilkan informasi dalam bentuk digit.
·         Timer menyatakan fungsi – fungsi timer system. Eksekusi timer terjadi pada event OnTimer. Komponen Timer mempunyai property interval untuk menyatakan interval dalam satuan mili detik akan terjadinya event OnTimer.
Cobalah kawan ikuti langkah – langkah dibawah ini :
1.      Buat Aplikasi CLX dengan memilih menu File-new-CLX Aplication.
2.      Tambahkan Komponen LCDNumber dari Page Additional.
3.      Ubah Property Value=00:00.000. Ubah property SegmentStyle=ssFilled. Property SegmentStyle untuk menyatakan cara control menampilkan segmentnya.
4.      Ubah property Digit dari komponen LCDNumber menjadi 9 untuk menyatakan banyaknya digit yang ditampilkan.
5.      Tambahkan komponen Timer dari page Additional.
6.      Ubah property Interval =1 ,artinya 1 mili detik.
7.      Tambahkan tiga buah Button, masing – masing dengan Caption Mulai, Berhenti dan Reset.
Kemudian kita akan melakukan coding pada tiap – tiap Buttonnya :
1.      Untuk menyatakan keadaan dari stopwatch ( berhenti atau berjalan ) kita memerlukan sebuah variable. Deklarasikan variable Running sebagai variable private di bagian interface.
2.      Deklarasikan juga variable Awal dan Lama untuk menyatakan awal stopwatch dijalankan dan lamanya.
3.      Event handler OnTimer dari komponen Timer dipakai untuk mengubah tampilan LCDNumber. Sebelumnya akan dihitung lamanya Stopwatch berjalan.
4.      Ketiga button dipakai untuk mengubah status Running dan tombol Reset juga akan mengubah Value dari LCDNumber.
5.      Event OnMouseUp akan terjadi pada saat user melepaskan tombol mouse yang ditekan. Kita akan memakai event ini pada komponen LCDNumber. Jika tombol kiri ditekan, akan mengubah BorderStyle ke tipe berikutnya. Jika sudah mencapai nilai tertinggi, akan diulang lagi dari tipe terendah. Tombol kanan diapakai untuk mengubah Segmentstyle.

Berikut Listing Lengkapnya kawan :

unit UaplikasiStopwatch;
interface

uses
  SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
  QDialogs, QStdCtrls, QExtCtrls;

type
  TFaplikasiStopwatch = class(TForm)
    LCDNumber1: TLCDNumber;
    Timer1: TTimer;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure LCDNumber1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    Running :boolean;
    awal,lama:extended;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FaplikasiStopwatch: TFaplikasiStopwatch;

implementation

{$R *.xfm}

procedure TFaplikasiStopwatch.Timer1Timer(Sender: TObject);
begin
  lama :=now-awal;
  if running then LCDNumber1.Value:=
  FormatDateTime('nn:ss:zzz',lama);
end;

procedure TFaplikasiStopwatch.Button1Click(Sender: TObject);
begin
Running :=true;
end;

procedure TFaplikasiStopwatch.Button2Click(Sender: TObject);
begin
Running :=false;
end;

procedure TFaplikasiStopwatch.Button3Click(Sender: TObject);
begin
Running :=false;
Awal :=Now; LCDNumber1.Value:='00:00.000';
end;

procedure TFaplikasiStopwatch.LCDNumber1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var BordereStyle, SegmentStyle :integer;
  begin
  case button of
    mbLeft:begin
                BordereStyle:=ord(LCDNumber1.BorderStyle)+1;
                if BordereStyle > ord(high(TBorderStyle)) then BordereStyle:=0;
                LCDNumber1.BorderStyle:=TBorderStyle(BordereStyle);
           end;
    mbRight:begin
                SegmentStyle:=ord(LCDNumber1.SegmentStyle)+1;
                if SegmentStyle > ord(high(TLCDSegmentStyle)) then
                SegmentStyle:=0;
                LCDNumber1.SegmentStyle:=TLCDSegmentstyle(SegmentStyle);
            end;

end;
end;
end.

Jalankan Aplikasinya, coba juga setiap tombolnya…..dan perhatikan perubahan yang akan terjadi jika anda mengklik tombol kanan atau kiri mouse pada komponen LCDNumber.

Senin, 15 Agustus 2011


APLIKASI  STOPWATCH  DENGAN  DELPHI

Jumat, 12 Agustus 2011

paging_3

Selamat pagi kawan....
ne tekhnik paging selanjutnya.....paging_3
mungkin bisa membantu anda dalam memilih tekhnik paging yang diinginkan,


"Selamat Mencoba Kawan........."

<table><tr><th>No</th><th>Nama</th><th>Alamat</th></tr>
<?
mysql_connect("localhost","root","");
mysql_select_db("pintar");
//langkah 1

$batas = 5;
$halaman =$_GET['halaman'];
if (empty($halaman)){
    $posisi = 0;
    $halaman = 1;
}
else{
    $posisi = ($halaman-1) * $batas;
    }
//langkah 2
$tampil = "select * from anggota LIMIT $posisi,$batas";
$hasil = mysql_query($tampil);
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
    echo "<tr><td>$no</td>
              <td>$data[nama]</td>
              <td>$data[alamat]</td></tr>";
    $no++;
}
echo "</table><br>";
//langkah 3
$tampil2 = mysql_query("select * from anggota");
$jmldata = mysql_num_rows($tampil2);
$jmlhalaman = ceil($jmldata/$batas);
$file = "paging_3.php";
// link ke halaman sebelumnya
if ($halaman > 1){
    $previous=$halaman-1;
    echo "<a href=$file?halaman=1> << First </A> |
          <a href=$file?halaman=$previous> < Previous </a> | ";
    }
    else{
        echo "<< First | < Previous | ";
        }
//tampilkan halaman 1,2,3
for ($i=1;$i<=$jmlhalaman;$i++)
if ($i !=$halaman){
    echo "<a href=$file?halaman=$i>$i</a> | ";
    }
else {
    echo "<b>$i</b> | ";
    }
//link ke halaman berikutnya
if ($halaman < $jmlhalaman){
    $next=$halaman+1;
    echo "<a href=$file?halaman=$next> Next > </a> |
          <a href=$file?$halaman=$jmlhalaman> Last >> </a> ";
    }
    else {
        echo "Next > | Last >>";
        }
    echo "<p> Total Anggota : <b>$jmldata</b> orang</p>";
    ?>
   
   
   
   
   
   
   
   
   

















Kamis, 11 Agustus 2011

teknik paging_2

Nah......kalo yang ini adalah tekhnik paging yang kedua, dmna dsni menggunakan tekhnik pencarian data terlebih dahulu sebelum menampilkan data dari database.....
" selamat mencoba kawan........."





<form method=get action=paging_2.php>
Isikan Nama : <input type=text name="nama">
<input type=submit name=oke value=Cari>
</form>
<?php
$oke=$_GET['oke'];
if ($oke=='Cari'){
mysql_connect("localhost","root","");
mysql_select_db("pintar");


//langkah 1

$batas = 5;
$halaman=$_GET['halaman'];
if(empty($halaman)){
    $posisi=0;
    $halaman=1;
}
else{
    $posisi=($halaman-1) * $batas;
    }

    //langkah 2
$nama=$_GET['nama'];
$tampil=mysql_query("select * from anggota where nama LIKE '%$nama%' LIMIT $posisi,$batas");
$jumlah=mysql_num_rows($tampil);

if($jumlah>0){
    echo "<table>
          <tr><th>no</th><th>nama</th><th>alamat</th></tr>";
    $no=$posisi+1;
while($data=mysql_fetch_array($tampil)){
    echo "<tr><td>$no<td>
              <td>$data[nama]</td>
              <td>$data[alamat]</td></tr>";
    $no++;
    }
    echo "</table>";
   
    // langkah 3

$tampil2="select * from anggota where nama LIKE '%$nama%'";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
echo "<br>Halaman :";
$file="paging_2.php";
for ($i=1;$i<=$jmlhalaman;$i++)
    if($i !=$halaman){
    echo "<a href=$file?halaman=$i&nama=$nama&oke=$oke>$i</a> |";
    }
else{
    echo " <b>$i</b> | ";
    }
echo "<p> Ditemukan <b>$jmldata</b> orang dengan nama $nama</p>";
}
else {
    echo "tidak ditemukan data yang bernama <b>$nama</b>";
    }
    }
?>






   
   
   
   
   
   



















tekhnik paging_1

Pagi kawan - kawan....
ne sya sharing php,tepatnya tekhnik paging........yg merupakan tekhnik dasar dalam PHP,udh konek database juga.....
silahkan mencoba,semoga bermanfaat.......

"nama database & table...disesuaikan z"




<table><tr><th>No</th><th>Nama</th><th>Alamat</th></tr>
<?
mysql_connect("localhost","root","");
mysql_select_db("pintar");

//langkah 1 : Tentukan batas,cek halaman dan posisi data
$batas = 5;
$halaman=$_GET['halaman'];
if (empty($halaman)){
    $posisi=0;
    $halaman=1;
    }
else{
    $posisi=($halaman-1) * $batas;
}

// Langkah 2 : sesuaikan perintah SQL dengan posisi dan data
$tampil="select * from anggota LIMIT $posisi,$batas";
$hasil=mysql_query($tampil);

$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
    echo "<tr><td>$no</td>
              <td>$data[nama]</td>
              <td>$data[alamat]</td></tr>";
$no++;
}
echo"</table>";

//langlah 3 : Hitung total data dan halaman serta link 1,2,3

$tampil2=mysql_query("select * from anggota");
$jmldata=mysql_num_rows($tampil2);
$jmlhalaman=ceil($jmldata/$batas);

echo "<br>Halaman";

for($i=1;$i<=$jmlhalaman;$i++)
if($i !=$halaman){
        echo "<a href=$_SERVER[PHP_SELF]?halaman=$i>$i</a> | ";
        }
    else{
        echo "<b> $i </b> | ";
    }
    echo "<p>Total Anggota : <b>$jmldata</b>orang</p>";
?>
   
   
   
   
   
   
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             

Senin, 08 Agustus 2011

BAHASA DELPHI

    1. Mengenal Bahasa Delphi

Bahasa pemrograman modern mendukung adanya object-oriented programming ( OOP ). Bahasa OOP memakai 3 konsep, yaitu :
  1. Encapsulation
  2. Inheritance
  3. Polymorphism ( late binding )
Untuk membuat aplikasi Delphi, anda tidak perlu mengetahui OOP secar detail karena Delphi sudah memberikan kerangkanya untuk anda, jika mengerti OOP akan meningkatkan pemahaman anda. Modul ini membahas Delphi untuk mengantarkan anda ke modul selanjutnya dalam membuat Komponen.
Bahasa OOP yang dipakai Delphi adalah perluasana dari bahasa Pascal yang dikembangkan oleh Borland dengan nama Turbo Pascal. Bahasa Pascal dikenal mudah dibaca. Delphi 7 menyebutnya dengan Bahasa Delphi.
    1. Class dan Object
Class dan object adalah dua istilah umum. Kedua istilah tersebut berbeda tettapi sering disalahartikan. Marilah kita melihatnya dengan lebih jelas.
Sebuah kelas adalah tipe data yang didefinisikan oleh user. Class mempunyai sebuah state ( keadaan ). Sebuah representasi dan beberapa operasi atau kelakuan. Sebuah kelas mempunyai beberapa data internal dan beberapa method dalam bentuk procedure dan function. Sebuah kelas biasanya menggambarkan karakteristik umum dari sebuah object yang serupa. Kelas dipakai oleh programmer untuk mengelola program dan dipakai oleh compiler untuk menghasilkan aplikasi.
Sebuah object adalah instance dari sebuah kelas. Jika kelas kita anggap sebagai tipe data, maka sebuah object adalah variable dengan tipe data tertentu. Object adalah entitas nyata pada saat program dijalankan, object memakai sejumlah memori untuk representasi internalnya.
Hubungan antar object dan class sama dengan hubungan antara variable dan tipe data. Pada bahasa pemrograman tertentu, perbedaan tersebut tidak jelas. Borland pascal versi terdahulu memakai kata kunci object untuk mendefisikan class. Oleh sebab itu pemrograman Pascal akan memakai kata object untuk menyatakan tipe class, dan istilah object instance dipakai untuk menyatakan object nyata.
Delphi memakai object baru, dengan memakai kata kunci class, tetapi model lama juga msih kompatibel. Kita akan menyelidiki dengan lebih detil.
Untuk mendeklarasikan sebuah tipe data class dalam object Pascal, kita memakai sintak berikut :
Type
ClassBaru = Class
End;
Deklarasi diatas tidak berguna karena class tidak mempunyai data atau operasi. Kita tambahkan beberapa data :
Type
Tanggal = class
Tgl, Bln, thn : integer;
End;
Deklarasi tersebut mirip dengan deklarasi record. Kita dapat mendeklarasikan sebuah object dan memakai ketiga field-nya dengan cara berikut :
Var
SebuahTanggal : Tanggal;
Begin
....
SebuahTanggal.Tgl:=10;
SebuahTanggal.Bln:=5;
SebuahTanggal.Thn:=2011;
End;
Kita dapat menambahkan beberapa method ( procedure atau function ) untuk menambahkan operasi – operasi pada class :
Type
Tanggal = Class
Tgl, Bln, Thn:integer;
Procedure IsiNilai(Tg, Bl, Th:integer);
Function TahunKabisat : Boolean;
End;
Function dan procedure harus mempunya pernyataan yang menunjukan bahwa function dan procedure tersebut merupakan bagian dari class Tanggal. Sintaknya adalah NamaClass.Method :
Procedure Tanggal.IsiNilai(Tgl, Bln, Thn:integer);
Begin
Tgl:=Tg;
Bln:=Bl;
Thn:=Th;
End;
Function Tanggal.TahunKabisat : Boolean;
Begin
If (Thn mod 4 <> 0) then
TahunKabisat:=false;
Else
If (Thn mod 100 <> 0) then
TahunKabisat:=True;
Else
If (Thn mod 400 <> 0) then
Tahunkabisat:=false;
Else TahunKabisat;=True;
End;
Setelah dituliskan method – method tersebut dapat dipanggil dengan cara berikut :
Var
SebuahTanggal : tanggal;
Kabisat :Boolean;
Begin
...
SebuahTanggal.IsiNilai(28,12,2011);
Kabisat:=SebuahTanggal.TahunKabisat;
End;
Notasi SebuahTanggal.TahunKabisat serupa dengan SebuahTanggal.Thn, tetapi arti dari keduanya berbeda. Notasi pertama menyatakan pemanggilan function dan notasi kedua menyatakan pengaksesan langsung pada data.