Senin, 02 Juli 2012

Bahan Kuliah

* Sistem BasisData Terdistribusi Download
* Ergonomik Download
* Pengenalan Konsep IMK Download
* Aspek Manusia Dalam IMK Download
* Interface Metaphors dan Model Konseptual Download
* Piranti Interaktif Download
* Interaksi Manusia Dengan Organisasi Download
read more »»  

Sabtu, 30 Juni 2012

MultiMedia Player

Tampilan Projectnya.


Lantaran Saya Tak Sanggup Ngetik Lagi, Anda Lihat Aja Sendiri Source Codenya, Ne Saya Kasih Source Code Secara Cuma Cuma Download
read more »»  

Animasi Form Vertikal Dan Horizontal


Component Yang Di Gunakan :
- 3 Button

Tanpa Basa Basi Anda Bisa Download Source Code nya Di Sini
read more »»  

Splash Screen

 
Component Yang di Pakai :
- Timer
- Image
- Progressbar

Tanpa Basa Basi Download Aja Di Sini
read more »»  

Kamis, 28 Juni 2012

Game Snack Dengan Delphi

Project aplikasi Snack dengan menggunakan delphi 7

{ description: a simple snake game (note: using static array, in later versions
               of delphi dynamic array can be used for snake.
  language:    delphi 1 (code chould work with any version of delphi)
  author:      Joakim Skoglund
  email:       mmiskim@hotmail.com

  freeware with open source code - please do whatever you want with this code

  disclaimer: use on your own risk!
    i can not be held responsible for any damage in software and/or
    hardware or any other kind of problem caused by the use of this source code
    and/or exe file. }
unit Unit1;

interface

uses
  SysUtils, WinTypes, graphics, Controls, Forms, Dialogs, Classes, ExtCtrls;

type
  TForm1 = class(TForm)
    snakeTimer: TTimer;
    procedure snakeTimerTimer(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1 : TForm1;
  score : integer;

Procedure ResetGame;        {// Resets the snake and score}
Function HitWall : Boolean; {// returns true if snake hits the wall}
Function HitFood : boolean; {// Returns true if snake hits food}
function HitSelf : boolean; {// Returns true if the snake hits itself}
procedure DrawSnake;        {// Draws the snake, increase points if
                             // snake hit food,
                             // ends game if snake hit a wall or itself.}
Procedure PlaceFood;
procedure DrawPlayfield;    {// Draws the playfield
                             // (the area which the snake navigates on)}
implementation

{$R *.DFM}

const
  snakewidth      = 10;                       {// specify how wide the snake is}
  snakegrow       : integer = 2;              {// specify how fast snake grows}
  snakecolor      : tcolor = clBlack;
  foodcolor       : tcolor = clRed;
  pfcolor         : tcolor = clWhite;         {// playfield color           }
  pfdimention     : tpoint = (x:200; y:200);  {// playfield width and hight }
  pfposition      : tpoint = (x:5; y:5);      {// playfield position on form}
  dup             = 0;
  ddown           = 1;
  dleft           = 2;
  dright          = 3;
  dnone           = 4;
  speed           : integer = 100;           { // snake speed higher value}
                                             { // equals slower snake     }

var
  snake           : array[0..9099] of tpoint;{ // array holding snake}
                                             { // coordinates    }
  snakelength     : integer;                 { // length of snake}
  food            : tpoint;                  { // food position  }
  direction       : dup..dnone;
  olddirection    : dup..dnone;

{// HitWall: returns true if snake hits the wall}
Function HitWall : Boolean;
var
  i : integer;

Begin
  For i := 0 to snakelength - 1 do
  begin
    if (snake[i].x < pfposition.X) or
      (snake[i].x + snakewidth > pfposition.X + pfdimention.X) or
      (snake[i].y < pfposition.y) or
      (snake[i].y + snakewidth > pfposition.y + pfdimention.y) then
    begin
      hitwall := true;
      exit;
    end;
  end;
  hitwall := false;
End;

{// HitFood: Returns true if snake hits food}
Function HitFood : boolean;
var
  i : integer;

Begin
  for i := 0 to snakelength - 1 do
  begin
    if (snake[i].x = food.x) and (snake[i].y = food.y) then
    begin
      hitfood := true;
      exit;
    end;
  end;
  hitfood := false;
End;

{ PlaceFood: Draws the food on the playfield on a random location}
Procedure PlaceFood;
Begin
  food.x := random(pfdimention.x - snakewidth - pfposition.x) + pfposition.x;
  food.y := random(pfdimention.y - snakewidth - pfposition.y) + pfposition.y;
  while (pfdimention.x - (food.x - pfposition.x)) mod snakewidth <> 0 do
    inc(food.x);
  while (pfdimention.y - (food.y - pfposition.y)) mod snakewidth <> 0 do
    inc(food.y);
  if HitFood then
    PlaceFood;
  Form1.Canvas.Brush.Color := foodcolor;
  Form1.Canvas.Pen.Color := snakecolor;
  Form1.Canvas.Ellipse(food.x + 1, food.y + 1,
    food.x + snakewidth - 2, food.y + snakewidth - 2);
End;

{// HitSelf: Returns true if the snake hits itself}
function HitSelf : boolean;
var
  i : integer;

begin
  for i := 1 to snakelength - 1 do
    if (snake[0].x = snake[i].x) and (snake[0].y = snake[i].y) then
    begin
      hitself := true;
      exit;
    end;
  hitself := false;
end;

{// DrawSnake: Draws the snake, increase points if snake hit food,
 // ends game if snake hit a wall or itself.}
procedure DrawSnake;
var
  i : integer;

Begin
  if direction = dnone then
    exit;
  Form1.Canvas.Brush.Color := pfcolor;
  Form1.Canvas.Pen.Color := pfcolor;
  Form1.Canvas.Rectangle(snake[snakelength - 1].X, snake[snakelength - 1].Y,
    snake[snakelength - 1].X + snakewidth, snake[snakelength - 1].Y + snakewidth);
  For i := snakelength - 1 downto 1 do
    snake[i] := snake[i - 1];
  snake[0]:= snake[1];
  case direction of
    dup    : dec(snake[0].y, snakewidth);
    ddown  : inc(snake[0].y, snakewidth);
    dleft  : dec(snake[0].x, snakewidth);
    dright : inc(snake[0].x, snakewidth);
  end;
  if HitFood then
  begin
    inc(score, 5);
    inc(snakelength, snakegrow);
    for i := 1 to snakegrow do
      snake[snakelength - i] := snake[(snakelength - snakegrow) - 1];
    PlaceFood;
  end;
  if HitWall or HitSelf then
  begin
    form1.snaketimer.enabled := false;
    showmessage(#10 + '               simple snake game version 1.0 beta              ' + #10#10 +
      ' Stear the snake with the arrow keys or w,a,d,s,' + #10 +
      ' pause game with space.' + #10 +
      ' Collect points eating food.' + #10 +
      ' Avoid hitting the walls and yourself.' + #10#10 +
      ' OK to start, end by Alt-F4x2.' + #10#10 +
      ' Score: ' + inttostr(score));
    ResetGame;
  end;
  Form1.Canvas.Brush.Color := snakecolor;
  Form1.Canvas.Pen.Color := snakecolor;
  case direction of
    dup    : Form1.Canvas.Rectangle(snake[0].X+1, snake[0].Y+1,
               snake[0].X + snakewidth-1, snake[0].Y + snakewidth+1);
    ddown  : Form1.Canvas.Rectangle(snake[0].X+1, snake[0].Y-1,
               snake[0].X + snakewidth-1, snake[0].Y + snakewidth-1);
    dleft  : Form1.Canvas.Rectangle(snake[0].X+1, snake[0].Y+1,
               snake[0].X + snakewidth+1, snake[0].Y + snakewidth-1);
    dright : Form1.Canvas.Rectangle(snake[0].X-1, snake[0].Y+1,
               snake[0].X + snakewidth-1, snake[0].Y + snakewidth-1);
  end;
End;

{// DrawPlayField: Draws the playfield (the area where the snake navigates on)}
procedure DrawPlayfield;
begin
  Form1.Canvas.Brush.Color := pfcolor;
  Form1.Canvas.Pen.Color := pfcolor;
  Form1.Canvas.Rectangle(pfposition.x, pfposition.y,
    pfdimention.x + pfposition.x, pfdimention.y + pfposition.y);
end;

{// ResetGame: Resets the game; resets the snake and score}
Procedure ResetGame;
var
 i : integer;

Begin
  form1.snaketimer.enabled := false;
  randomize;
  snakelength := 10;
  snake[0].x := pfposition.x + (pfdimention.x div 2) - (snakewidth div 2);
  snake[0].y := pfposition.y + (pfdimention.y div 2) - (snakewidth div 2);
  while ((pfdimention.x-(snake[0].x-pfposition.x)) mod snakewidth <> 0) do
    inc(snake[0].x);
  while ((pfdimention.y-(snake[0].y-pfposition.y)) mod snakewidth <> 0) do
    inc(snake[0].y);
  for i := 1 to snakelength - 1 do
    snake[i] := snake[0];
  score := 0;
  food.x := 0;
  food.y := 0;
  direction := dright;
  olddirection := direction;
  DrawPlayfield;
  DrawSnake;
  PlaceFood;
  form1.snaketimer.Interval := speed;
  form1.snaketimer.enabled := true;
End;

procedure TForm1.snakeTimerTimer(Sender: TObject);
begin
  olddirection := direction;
  DrawSnake;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  form1.ClientWidth := pfdimention.x + (pfposition.x * 2);
  form1.ClientHeight := pfdimention.y + (pfposition.y * 2);
  form1.Color := clBlack;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case chr(key) of
    chr(38),'w', 'W': if olddirection <> ddown then direction := dup;
    chr(40),'s', 'S': if olddirection <> dup then direction := ddown;
    chr(37),'a', 'A': if olddirection <> dright then direction := dleft;
    chr(39),'d', 'D': if olddirection <> dleft then direction := dright;
    #32: direction := dnone;
  end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  ResetGame;
end;

end.

Download  Snack

read more »»  

Sejarah dan Perkembangan Bahasa Pemrograman Delphi

Seharusnya ini menjadi postingan pertama dalam kategori Delphi. Tapi tak apalah. Bagi anda yang sedang dan ingin belajar atau sekedar ingin mengetahui tentang sejarah delphi, semoga tulisan ini bisa memberikan informasi yang berguna bagi anda.
Apa itu Delphi?
Borland Delphi adalah bahasa tingkat tinggi dan terkompilasi yang mendukung bahasa terstruktur serta Perancangan Berorientasi Object (OOD). Delphi menggunakan bahasa Pascal, sebuah bahasa terstruktur generasi ketiga. Delphi menawarkan gaya pemrograman yang bersih dan konsisten dan yang terpenting menghasilkan aplikasi yang lebih dapat diandalkan.
Pascal dan Sejarahnya
Asal usul Pascal bermula dari rancangan Algol, bahasa tingkat tinggi pertama yang mudah dibaca, terstruktur dan mendefinisikan sintax secara sistematis. Pada akhir tahun 1960-an (196x), beberapa usulan evolusi penerus algol dikembangkan. Salah satu yang paling sukses adalah Pascal, ditemukan oleh Prof Niklaus Wirth. Wirth mempublikasikan temuan asli Pascal pada tahun 1971. Mulai diimplementasikan di tahun 1973 dengan beberapa modifikasi.   Banyak fitur pascal yang berasal dari bahasa sebelumnya. Pernyataan Case dan parameter value-result berasal dari Algol, dan catatan struktur yang mirip dengan Cobol dan PL 1. Pascal menambahkan kemampuan untuk mendefinsikan tipe data baru secara lebih sederhana dari yang pernah ada. Pascal juga mendukung struktur data dinamis, contohnya : struktur data yang dapat tumbuh dan menyusut saat program berjalan. Bahasa ini dirancang untuk menjadi alat pembelajaran bagi siswa pada kelas pemrograman.
Pada tahun 1975, Wirth dan Jensen memproduksi buku referensi Pascal terakhir “Pascal User Manual and Report”. Wirth berhenti bekerja pada Pascal pada tahun 1977 untuk menciptakan sebuah bahasa baru, Modula – penerus Pascal.
Borland Pascal
Dengan dirilisnya Turbo Pascal 1.0 pada November 1983, Borland mulai perjalanannya dengan lingkungan pengembangan dan perangkatnya. Untuk menciptakan Turbo Pascal 1.0 Borland melisensikan kompilator inti pascal yang cepat dan murah, yang ditulis oleh Anders Hejlsberg. Turbo Pascal memperkenalkan  suatu Lingkungan pengembangan terintegrasi / Integrated Development Environment (IDE) dimana anda dapat mengedit code, menjalankan compiler, melihat kesalahan dan melompat kembali ke baris yang mengalami kesalahan. Kompiler turbo pascal telah menjadi salah satu compiler terlaris sepanjang waktu, dan membuat bahasa ini sangat popular pada platform PC
Pada tahun 1995 Pascal kembali dengan memperkenalkan lingkungan aplikasi bernama Delphi – mengubah pascal menjadi sebuah bahasa pemrograman visual. Keputusan yang strategis dengan membuat perangkat database dan konektivitas sentral dari produk pascal.
Permulaan Delphi
Setelah merilis Turbo Pascal 1, Anders bergabung dengan perusahaan sebagai seorang karyawan dan arsitek untuk semua versi dari kompiler Turbo Pascal dan tiga versi pertama dari Delphi. Sebagai kepala arsitek di Borland, Hejlsberg diam-diam merubah Turbo Pascal menjadi bahasa pengembangan aplikasi berorientasi obyek, lengkap dengan lingkungan yang benar-benar visual dan fitur akses database yang luar biasa
Mengapa diberi nama “Delphi”
Seperti yang dijelaskan dalam Museum artikel Borland, proyek dengan codename Delphi muncul pada pertengahan 1993. Mengapa Delphi? Sangat sederhana: “Jika Anda ingin berbicara dengan Oracle, pergilah ke Delphi”. Ketika tiba saatnya untuk memilih nama produknya, setelah sebuah artikel di ‘Windows Tech Journal’ tentang sebuah produk yang akan mengubah hidup programmer, nama terakhir yang diusulkan adalah AppBuilder. Sejak Novell merilis Visual AppBuilder, orang-orang Borland perlu mengambil nama lain, tetapi menjadi semacam komedi: semakin keras orang-orang berusaha untuk mengabaikan “Delphi” sebagai nama produk, semakin banyak nama tersebut mendapat dukungan. Setelah disebut-sebut sebagai “pembunuh VB” Delphi tetap menjadi produk landasan untuk Borland.
read more »»  

Selasa, 26 Juni 2012

Input Nilai Rapor

Project aplikasi Input Nilai Rapor Menggunakan Delphi 7

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, XPMan;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label18: TLabel;
    Shape2: TShape;
    edit1: TEdit;
    edit2: TEdit;
    edit3: TEdit;
    edit4: TEdit;
    edit5: TEdit;
    edit6: TEdit;
    edit7: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ComboBox1: TComboBox;
    Timer1: TTimer;
    Label13: TLabel;
    Panel1: TPanel;
    Label11: TLabel;
    XPManifest1: TXPManifest;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
tugas, quiz, hadir, uts, uas : real;
hasil : real;
nilai : string;
begin
tugas:=(((strtofloat(edit1.Text)+strtofloat(edit2.Text)+strtofloat(edit3.Text))/3)*0.1);
quiz:=(((strtofloat(edit4.Text)+strtofloat(edit5.Text))/2)*0.1);
hadir:=(((strtofloat(ComboBox1.Text))/14)*10);
uts:=((strtofloat(edit6.Text))*0.3);
uas:=((strtofloat(edit7.Text))*0.4);
hasil:=(tugas+quiz+hadir+uts+uas);
str(hasil:0:2,nilai);
label12.caption:=(nilai);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
ComboBox1.Clear;
edit6.Clear;
edit7.Clear;
Label12.Caption:='';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
label11.Left :=  label11.Left - 5;
if  label11.Left <= -100 then
label11.Left := 550;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Apakah anda yakin untuk'+#13+'keluar dari program ini ?',
      mtConfirmation,[mbYes,mbNo],0)=mrNo then
    CanClose:=False;
end;

end.

read more »»  
Selamat Datang Di AcehDelphi Semoga Bermanfaat Bagi Anda | TERIMA KASIH atas kunjungan dan komentarnya.