Senin, 17 Maret 2014

PROGRAM SEDERHANA APLIKASI DELPHI

Assalamualaikum....
Kali ini saya coba membuat Aplikasi Perhitungan Gaji Karyawan degan kriteria sebagai berikut :
  1. Setiap orang memiliki gaji pokok dan tunjangan anak.
  2. Besarnya tunjangan anak adalah 50.000
  3. Jumlah anak yang diberi tunjangan maksimal sampai anak ke-3.
Contoh membuat aplikasi perhitungan gaji dengan menggunakan delphi 7
1. Buat project baru pada delphi, kemudian tempatkan komponen-komponen pada form seperti gambar berikut:
form hitung gaji
Tata Letak Form Aplikasi Perhitungan Gaji
2. Atur properti form dan komponen seperti pada tabel.
Component Properti Value
Label1 Caption Nama
Label2 Caption Gaji Pokok
Label3 Caption Jumlah Anak
Label4 Caption Gaji Total
Label5 Caption Aplikasi Perhitungan Gaji
Font 14
Label6 Caption Maksimal anak ke-3
Edit1 Name EdNama
Text Dikosongkan
Edit2 Name EdGajipokok
Text Dikosongkan
Edit3 Name EdJumlahanak
Text Dikosongkan
Edit4 Name EdGajitotal
Text Dikosongkan
Button1 Name BtHitung
Width 75
Height 65
3. Jika benar maka tampilan form menjadi seperti ini.
Form Aplikasi Perhitungan Gaji
Form Aplikasi Perhitungan Gaji
4. Dobel klik Button BtHitung pada form, lalu isikan prosedur perhitungan gaji sebagai berikut
procedure TForm1.Button1Click(Sender: TObject);
Const TAnak = 50000;
Var
JAnak:integer;
GPokok,Tunjangan,GTotal:Real;
begin
GPokok := StrtoFloat(EdGajipokok.Text);
JAnak := Strtoint(EdJumlahanak.Text);
if Janak > 3 then
begin
Janak := 3;
Showmessage(‘Jumlah Anak yang diberi tunjangan hanya sampai anak ke-3′);
end;
Tunjangan := Janak * Tanak;
GTotal := GPokok + Tunjangan;
EdGajiTotal.Text := Floattostr(GTotal);
end;
5. Coba jalankan project dengan menekan F9 lalu isikan data data pada nama, gaji pokok dan jumlah anak dan tekan tombol Hitung, Jika benar maka akan tampil seperti ini
Aplikasi Perhitungan Gaji Dengan Delphi 7
Aplikasi Perhitungan Gaji Dengan Delphi 7
6. Coba pada jumlah anak isikan dengan angka diatas 3 (misal= 4) maka akan tampil pesan sebagai berikut dan jumlah tunjangan hanya dihitung 3 anak.
Pesan jumlah anak

Perhitungan Nilai Mahasiswa

Asslamualaikum...
Kali ini saya mencoba memposting tugas UTS ku yg kmarin
Sebelumnya saya mohon maaf kepada para master Delphi, posting ini khusus buat pemula seperti saya. Kali ini saya akan mencoba menjelaskan bagaimana cara membuat program hitung nilai mahasiswa yang sederhana pada Delphi. OK langsung saja……
1. Jalankan aplikasi Delphi yang sudah kita instal di komputer kita terserah versi berapa, maka akan muncul tampilan seperti dibawah ini.
          clip_image002
2. Masukan komponen-komponen berikut pada form :
Komponen
Propertis
 
GroupBox1
Caption
Input
Label1
Caption
Nama Lengkap
Label2
Caption
Nilai Tugas
Label3
Caption
Nilai Mid
Label4
Caption
Nilai Semester
Edit1
Text
Kosongkan aja
Edit2
Text
0 (nol)
Edit3
Text
0
Edit4
Text
0
Bitbtn1
Caption
Proses
Bitbtn2
Caption
Baru
GroupBox2
Caption
Output
Label5
Caption
Total Nilai
Label6
Caption
Nilai Akhir
Label7
Caption
Nilai Huruf
Label8
Caption
_
Label9
Caption
Keterangan
Bitbtn3
Caption
Keluar
Silahkan liat gambar dibawah ini dan bisa di desain sendiri terserah anda bagaimana seninya.
          clip_image004
3. Masukan listing pada Bitbtn Proses sebagai berikut :
var
total, akhir : integer;
begin
total := StrToInt(Edit2.Text)+StrToInt(Edit3.Text)+StrToInt(Edit4.Text);
Edit5.Text:=IntToStr(total);
akhir := total div 3;
Edit6.Text:=IntToStr(akhir);
if akhir >= 85 then
Edit7.Text:='A'
else if akhir >= 70 then
Edit7.Text:='B'
else if akhir >= 60 then
Edit7.Text:='C'
else if akhir >= 50 then
Edit7.Text:='D'
else
Edit7.Text:='E';
//Keterangan
if Edit7.Text='E' then
Label8.Caption:='Tidak Lulus'
else
Label8.Caption:='Lulus';
4. Listing Baru sbb:
Edit1.Enabled:=True;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
Edit5.Enabled:=True;
Edit6.Enabled:=True;
Edit7.Enabled:=True;
BitBtn1.Enabled:=True;
Edit1.Text:='';
Edit2.Text:='0';
Edit3.Text:='0';
Edit4.Text:='0';
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
Label8.Caption:='_';
Edit1.SetFocus;
5. Listing Keluar sbb:
Application.Terminate;
6. Masukan listing pada Form Aktivate, caranya klik pada bagian Events kemudian klik 2x sebelah kanan pada OnAktivate.mlihat gambar dibawah ini.
          clip_image006
Masukan listing berikut :
Edit1.Enabled:=False;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit5.Enabled:=False;
Edit6.Enabled:=False;
Edit7.Enabled:=False;
BitBtn1.Enabled:=False;
Penjelasan Program : Ketika program dijalankan, pada bagian edit yaitu edit1 sampai edit 7 dan tombol Proses bersifat Enable (tidak berfungsi) dan setfocus pada tombol Baru. Dalam artian kita blum bisa mengimput data, Jadi ketika mau mengimput kita harus klik dulu tombol Baru, baru bisa mengimput data.
Silahkan lihat gambar-gambar dibawah ini.
          clip_image008
clip_image012
        clip_image010   

Script Form Penjualan dengan Stok

Berikut adalah contoh script form penjualan yang akan langsung memotong stok yang ada..

procedure TPenjualan.Edit2KeyPress(Sender: TObject; var Key: Char);
var
edi1:real;
edi2,edi3,edi4 :string;
begin
datamodule2.ADOQuery1.Active:=true;
if key = #13 then
begin
if (datamodule2.ADOQuerypart['stok']<0) or (datamodule2.ADOQuerypart['stok']<(strtoint(edit2.Text))) then
begin
showmessage('Stok Tidak Cukup');
exit;
end
else
datamodule2.ADOQuerypart.Edit;
datamodule2.ADOQuerypart.FieldValues['stok']:=datamodule2.ADOQuerypart.FieldValues['stok']-(strtoint(edit2.Text));
datamodule2.ADOQuerypart.Post;

datamodule2.ADOQuery1.Active:=true;

datamodule2.ADOQuery1.Append;
datamodule2.ADOQuery1['kd_brng']:=edit5.Text;

datamodule2.ADOQuery1['nm_brng']:=dbedit11.Text;

datamodule2.ADOQuery1['hrg_jual']:=edit1.text;

datamodule2.ADOQuery1['qty']:=edit2.text;

datamodule2.ADOQuery1['hrg_beli']:=dbedit3.Text;

edi2:=floattostr((strtofloat(Edit1.Text))*(strtofloat(edit2.Text)));
datamodule2.ADOQuery1['total']:=Edi2;

edi3:=floattostr((strtofloat(Edit2.Text))*(strtofloat(dbedit3.Text)));
datamodule2.ADOQuery1['total2']:=Edi3;



datamodule2.ADOQuery1.Post;
datamodule2.ADOQuery1['total']:=edi1;
edit6.Text:=floattostr(edi1+(strtofloat(edit6.Text)));


  edit5.Text:='';
  dbedit11.Text:='';
    edit1.Text:='';
      edit2.Text:='';
        dbedit3.Text:='';
        edit10.Text:='';
  Penjualan1.ActiveControl:=Edit5;


end;
end;

Program Login


Ingin Program anda aman dan ndk bisa di buka sama orang2 lain,nah gini carax sobt.
Buat penggemar pemrograman yang sudah mengenal tentang bahasa pemrograman Delphi 7, berikut ini penulis ingin sharing tentang bagaimana membuat suatu aplikasi yang dimulai dengan suatu modul login pengguna dengan menggunakan database berbasis paradox bawaan Borland Delphi 7.
Dalam pembahasan ini anggap kita sudah mengenal Delphi 7 itu. Langsung saja, sebelumnya folder baru dengan nama folder baru di directory C:/ dengan nama Delphi_Lat, dari folder ini buat 2 buah folder  masing-masing beri nama folder Bin (untuk menyimpan file project Delphi 7) dan folder Database (untuk menyimpan file database berbasis paradox). Buatlah sebuah database berbasis paradox 7 dengan data sebagai berikut :
Name Table: Tb_Passwd
                                                                           Tabel Password
Isilah database di atas dengan data seperti contoh di bawah ini :
                                                             Isian data Tabel Password
Simpan database dengan nama tb_Passwd di folder Database.
Bukalah aplikasi Borland Delphi 7, pilih File – New – Application,  diawali pembuatan sebuah form login.
Pilih toolbar Standard – Groupbox tempel di form yang kosong ganti nama Groupbox1 dengan Login Pengguna, ambil ikon Label1 tempatkan pada Groupbox isikan dengan User dan ulangi ambil Label2 tempatkan di Groupbox kemudian ganti Label2 dengan Password.
Masih di Toolbar Standard – klik ikon Edit tempatkan di samping User, ulangi lagi ambil ikon Edit tempatkan di samping Pengguna. Ambil ikon Button tempatkan di bawah kolom Edit2 ganti Button dengan Batal. Bila telah selesai form login pengguna akan tampak seperti gambar di bawah ini. Beri nama form1 diganti menjadi form FLogin.
Kembali ke ikon Toolbar pilih ikon system, klik tombol Timer1 tempelkan ke form login pengguna. Pilih BDE klik ikon Table tempatkan di form ganti nama Table1 menjadi TbPasswd, kemudian pilih ikon Data Access pilih ikon DataSource tempatkan bersebelahan dengan ikon tbPasswd, ganti nama DataSource dengan ds_Passwd. Simpan Project Delphi 7 pada folder Bin dengan nama file _Toko_FAZZFAY.dpr dan simpan file unit dengan nama U_Login.pas.
Form Login
Kemudian buatlah satu buah form lagi dengan dengan design seperti berikut, dengan cara klik File – New – Form, ganti nama form2 menjadi form FMenu_Utama :
Form Menu Utama
Sampai disini langkah pertama selesai, langkah kedua biarkan Borland Delphi 7 masih terbuka, buatlah file alias  database paradox yang telah kita buat  dengan cara :
Klik  Start – Borland Delphi 7  - BDE Administrator, setelah  masuk ke programnya klik Objet – New – Standard – Ok, ganti nama file Standard dengan nama file _Toko_FAZZFAY kemudian lihat jendela sebelah kanan masukkan alamat (path) folder atau file database paradox di simpan seperti berikut ini : C:\Delphi_Lat\Database , simpan dengan cara klik Objet – Save As – _Toko_FAZZFAY – Ok. Keluar dari program BDE Administrator.
Kembali ke Delphi 7, klik pada ikon tb_Passwd lihat Objet Inspector di sebelah kiri form di layar Delphi 7, tentukan database namenya adalah _Toko_FAZZFAY, table namenya file : tb_Passwd, dan active option menjadi: TRUE. Klik pada ds_Passwd lihat Object Inspector, klik dataset pilih : tb_Passwd.
Setelah itu klik form FLogin lihat Object Inspector pilih Event – double klik pada OnShow tulis program sebagai berikut :
procedure TFLogin.FormShow(Sender: TObject);
begin
    Edit1.Text:=”;
    Edit2.Text:=”;
end;
Tekan F12 kembali ke form FLogin, klik Edit1 – lihat Object Inspector pilih Event – double klik pada Edit1 tuliskan programnya sebagai berikut :
procedure TFLogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    if not(key=chr(13)) then exit;
    edit2.SetFocus;
end;
Tekan F12 kembali ke form FLogin, klik Edit1 – lihat Object Inspector pilih Event – double klik pada Edit1 tuliskan programnya sebagai berikut :
procedure TFLogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    if not(key=chr(13)) then exit;
    edit2.SetFocus;
end;
Tekan F12 kembali ke form FLogin, klik Edit2 – lihat Object Inspector pilih Event – double klik pada Edit2 tuliskan programnya sebagai berikut :
procedure TFLogin.Edit2KeyPress(Sender: TObject; var Key: Char);
    var
       ada : Boolean;
begin
   if not (key=chr(13)) then Exit;
       if length(edit2.Text)=20 then
       if (length(edit1.Text)=TBPasswd['Nm_Petugas'] and length(edit2.Text)=tbPasswd['Password']) then
             tbPasswd.IndexName:=”;
            Ada:=tbPasswd.FindKey([edit1.Text,edit2.Text]);
            If Ada Then
            Begin
                Edit2.SetFocus;
                Edit2.SelectAll;
                if (Edit1.Text=tbPasswd['Nm_Petugas']) and (tbPasswd['Klasifikasi']=’administrator’) then
                Begin
                End
             Else
                Begin
                     FLogin.Enabled:=False;
                End;
                FLogin.Cursor:=crhourglass;
               Bitbtn1.Cursor:=crhourglass;
               Edit1.Cursor:=crhourglass;
               Edit2.Cursor:=crhourglass;
               GroupBox1.Cursor:=crhourglass;
               Timer1.Enabled:=True;
            End
   Else
   Begin
              ShowMessage(‘Akses Anda Ditolak ….!’);
              edit2.text:=”;
              Edit1.SetFocus;
  end;
end;
 
 
Tekan F12 kembali ke form FLogin, klik Timer1 – lihat Object Inspector pilih Event – double klik pada Timer1 tuliskan programnya sebagai berikut :
procedure TFLogin.Timer1Timer(Sender: TObject);
begin
    Timer1.Enabled:=False;
    FMenu_Utama.Show;
    FLogin.Cursor:=crdefault;
    Bitbtn1.Cursor:=crdefault;
    Edit1.Cursor:=crdefault;
    Edit2.Cursor:=crdefault;
    GroupBox1.Cursor:=crdefault;
    edit1.text:=”;
    edit2.text:=”;
end;
Tekan F12 kembali ke form FLogin, klik Batal – lihat Object Inspector pilih Event – double klik pada Batal tuliskan programnya sebagai berikut :
procedure TFLogin.BitBtn1Click(Sender: TObject);
begin
      Application.Terminate;
end;
 

RadioGroup

Kali ini kita akan membuat Aplikasi yg bisa mengubah warna dan dlm aplikasi ini kita bisa menulis sebagai template yg menggunakan RadioGroup.
RadioGroup adalah komponen program borland delphi 7 yang digunakan untuk pemilihan opsi dari beberapa item yang tersedia. Berikut latihan untuk menggunakan RadioGroup.

Mengetahui letak RadioGroup
Komponen RadioGroup terletak pada tab standart, lihat gambar.



Komponen yang dibutuhkan dalam latihan
2 buah RadioGroup
1 buah Button ,dan
1 buah Label

Memberikan items pada RadioGroup
Klik RadioGroup1 > Pilih box Object Inspector -> Tab Properties -> Items -> Tambahkan items
dan klik ok.

Lakukan hal yang sama untuk RadioGroup ke dua, namun gunakan items warna seperti merah,
biru, dan hijau.
Kemudian ubah itemindex pada kedua RadioGroup dari -1 menjadi 0
Hasil dan tampilannya kurang lebih seperti


Coding pada button
Klik 2 kali button1 dan masukkan source code berikut :

Label1.Caption:=RadioGroup1.Items[RadioGroup1.ItemIndex]; if RadioGroup2.ItemIndex=0 then begin Label1.Font.Color:= clRed; end else if RadioGroup2.ItemIndex=1 then begin Label1.Font.Color:= clBlue; end else if RadioGroup2.ItemIndex=2 then begin Label1.Font.Color:= clGreen; end;

Running program
Pilih tab run -> run atau bisa menekan shortcut F9, hasilnya seperti gambar berikut

Program Sederhana Playlist

Assalamualikum kawan.....
Kali ini kita akan membuat program sederhana Playlist ,di mana playlist ini kita bisa memutar music.
Nah ini cara-caranya utk membuat program tersebut,moga bisa berguna utk sobat semua.
Moga bermanfaat utk kawan2 smuax..


1. Sekedar Info, Aplikasi Ini Membutuhkan 2 Buah Form.
2. Buka Delphi Anda Desain Tampilan-nya Kayak Gini (Lebih Bagus Lebih Baik) :

http://form-info.blogspot.com/
Komponen-komponen-nya adalah :
1 Buah Media Player
1 Buah Progresbar
3 buah button
1 Buah Panel
1 Buah Label
1 Buah Timer
1 Buah Open Dialog
1 Buah Speed Button

2. Untuk Form Dua (Playlist-nya)
Komponen Yang dibutuhkan :
1 Buah Popup Menu
1 Buah List
http://form-info.blogspot.com/

Code Untuk Form 2 :
procedure Tplaylist.Hapus1Click(Sender: TObject);
begin
list.Items.Delete(list.ItemIndex);
end;

procedure Tplaylist.listDblClick(Sender: TObject);
begin
form1.btstart.Caption:='Start';
form1.btstart.OnClick(self);
end;
end.

Code Untuk Form 1
var
Form1: TForm1;
index : integer;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
judul.Caption:='';
timer1.Enabled:=false;
btstart.Enabled:=false;
btstop.Enabled:=false;
progress.Enabled:=false;
end;

procedure TForm1.showplsClick(Sender: TObject);
begin
playlist.show;
end;

procedure TForm1.btopenClick(Sender: TObject);
var
i : integer;
begin
if opendialog1.Execute then
begin
for i:=0 to opendialog1.Files.Count-1 do
playlist.list.Items.Add(opendialog1.Files.Strings[i]);
btstart.Enabled:=true;
playlist.Show;
playlist.list.ItemIndex:=0;
end;
end;

procedure TForm1.btstartClick(Sender: TObject);
begin
if btstart.Caption = 'Start' then
begin
index:=playlist.list.itemindex;
mp.FileName:=playlist.list.Items.Strings[index];
mp.Open;
judul.Caption:=extractfilename(mp.FileName);
judul.Left:=200;
progress.Max:=mp.Length;
mp.Play;
timer1.Enabled:=true;
progress.Enabled:=true;
btstop.Enabled:=true;
btstart.Caption:='Pause';
end else
if btstart.Caption = 'Pause' then
begin
mp.Pause;
btstart.Caption:='Play';
end else
if btstart.Caption = 'Play' then
begin
mp.Pause;
btstart.Caption:='Pause';
end else
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mp.Close;
end;

procedure TForm1.btstopClick(Sender: TObject);
begin
mp.Stop;
timer1.Enabled:=false;
judul.Left:=8;
btstart.Caption:='Start';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
judul.Left:=judul.Left-1;
if judul.Left = 0-judul.Width then
judul.Left:=panel1.Width+1;
progress.Position:=mp.Position;
if mp.position=mp.Length then
begin
if index + 1 = playlist.list.Items.Count then
begin
form1.btstop.OnClick(self);
playlist.list.ItemIndex:=0;
end else
begin
playlist.list.ItemIndex:=index+1;
btstart.Caption:='Start';
btstart.OnClick(self);
end;
end;
end;

procedure TForm1.progressScroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
mp.Position:=progress.Position;
mp.Play;
end;

end.

Calculator Sederhana

Ass. Apa kabarx Bro hehee……
Sebelumnya saya pernah memposting bagaimna Cara Membuat Aplikasi Penjualan Stock Menggunakan Borland Delphi 7.
Nah sob disini saya akan mencoba berbagi pengetahuan bagaimna membuat kalkulator sederhana dengan menggunakan Borland Delphi 7. Langsung aja dech kita pembahasan hehe.
Nah sob dibawah ini adalah desain form nya.  




















Aturlah properties controlnya terlebih dahulu seperti pada tabel yang ada di bawah ini.
Nama Control
Properties
Nilai Pengaturan
Form
Caption
Aplikasi Kalkulator Sederhana
Label1
Caption
KALKULATOR
Label2
Caption
Bilangan Ke 1
Label3
Caption
Bilangan ke 2
Label4
Caption
Hasil Hitungan
Text1
Text
Kosongkan
Text2
Text
Kosongkan
Text3
Text
Kosongkan
Button1
Caption
&Penjumlahan
Button2
Caption
&Pengurangan
Button3
Caption
&Perkalian
Button4
Caption
&Pembagian
Button2
Caption
&Ulang Bilangan
Button5
Caption
&Close


Nah kemudian ketikan kode program berikut;

1.      Double Kilick Button1 dan isikan listing program dibawah ini.

procedure TForm1.BitBtn1Click(Sender: TObject);

var a,b,c:integer;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

C:=a+b;

edit3.Text:=inttostr(c);

end;



2.      Double Kilick Button2 dan isikan listing program dibawah ini.

procedure TForm1.BitBtn2Click(Sender: TObject);

var a,b,c:integer;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

C:=a-b;

edit3.Text:=inttostr(c);

end;


3.      Double Kilick Butto 3 dan isikan listing program dibawah ini.

procedure TForm1.BitBtn3Click(Sender: TObject);

var a,b,c:integer;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

C:=a*b;

edit3.Text:=inttostr(c);

end;


4.       procedure TForm1.BitBtn4Click(Sender: TObject);

var a,b,c:real;

begin

a:=strtofloat(edit1.Text);

b:=strtofloat(edit2.Text);

C:=a/b;

edit3.Text:=floattostr(c);

end;
end.
Nah sob,,,,,setelah kalian mengetik koding di atas coba sobat jalan kan programnya dengan cara menekan tombol F9 pada keyboard.

Kalau sukses maka hasilnya akan seperti gambar di bawah ini.
SUMBER :http://ambat-romance.blogspot.com/

Perbedaan Delphi vs Visual Basic

Perbedaan Delphi vs Visual Basic

Sulit juga menentukannya tapi berdasarkan pengalaman yang saya pakai vb & delphi :
1. Di vb jika ingin membuat aplikasi database sedikit lebih rumit mengapa? karena tidak ada component yang native ke database seperti di delphi (ttable, dbgrid, dkk) jadi mau tidak mau harus membikin classnya dulu untuk handle hal2 yang ingin dibuat.
2. Di vb TIDAK BISA untuk bikin thread !! “ini yg membuat rumit” untuk bikin aplikasi realtime jadinya tidak
realiable komponen socketnya jg pas2san, berbeda dengan delphi yang sudah tersedia dengan otomatis.
3. Masalah OOP sepertinya di vb belum total OOP masih banyak batasan2nya terkecuali kalau sudah dot net.
Tapi semuanya kembali lagi kemasalah tujuan pembuatan aplikasi & skalanya, dari pengalaman yang pernah saya gunakan, vb dapat juga membuat aplikasi-aplikasi walaupun aplikasi yang kecil, yg tidak memerlu kan realtime & database delphi lebih tinggi dari itu, bisa realtime+database untuk sekala menengah karena kalau databasenya sudah besar banget,ternyata agak sedikit error juga delphi dibanding dengan oracle form atau powerbuilder yg memang khusus buat aplikasi database.
Yang paling saya suka kalau mau membuat program database pakai delphi itu jauh lebih simpel dibandingkan dengan vb.. Saya mengakui vb juga bagus, akan tetapi delphi jauh lebih terstruktur dan sudah tersedianya bahan-bahan yang akan kita gunakan untuk membuat aplikasi. -)
Mulai delphi 6 ke atas juga bisa buat aplikasi yang cross-platform (Windows-Linux).pake’nya CLX Application.
Jadi aplikasi yg dihasilkan bisa juga di jalankan under windows & Linux…
Dua bahasa pemrograman visual yaitu Microsoft Visual Basic 6 dan Borland Delphi 6 pada saat ini banyak dipakai karena kehandalan dan kemudahan pemakaian, oleh karena itulah banyak programmer pemula yang ingin belajar mengenai kedua bahasa pemrograman tersebut. Kesamaan diantara kedua bahasa pemrograman tersebut dalam hal tampilan serta kemudahan dalam penulisan program, sedangkan perbedaannya terletak dari bahasa dasar yang digunakan yaitu bahasa Basic yang digunakan MicrosoftVisual Basic 6 dan bahasa Pascal yang digunakan oleh Borland Delphi 6.
Kesamaan dan perbedaan antara Microsoft Visual Basic 6 dan Borland Delphi 6 didapat dari analisis perbandingan kinerja dari kedua bahasa pemrograman tersebut. Hal kinerja yang dibandingkan melingkupi hal – hal yang sering diperhatikan oleh programmer pemula yaitu proses waktu penginstalan dan uninstal yang dibutuhkan, proses waktu loading dan closing, kelengkapan dari menubar, toolbar dan kontrol pada toolbox yang telah disediakan, penulisan program atau pengkodean, alokasi memori yang dibutuhkan dan alokasi media penyimpanan yang dibutuhkan. Hasil uji perbandingan tersebut kemudian dipersamakan dengan hasil penyebaran angket. Focus pertanyaan yang diajukan kepada responden yaitu pada beberapa hal berikut ini meliputi proses waktu penginstalan dan uninstal yang dibutuhkan, proses waktu loading dan closing, kelengkapan dari menubar, toolbar dan kontrol pada toolbox yang telah disediakan, penulisan program atau pengkodean, alokasi memori yang dibutuhkan dan alokasi media penyimpanan yang dibutuhkan.
Tentang CMS
CMS yang paling memberi kesempatan pengembangan interface WEB secara lebih fleksibel (mudah) dan lebih complete (profesional) sepertinya Drupal.
Drupal support pembuatan multisites, dimana fitur ini tidak dimiliki oleh WordPress dan Joomla.
Drupal mampu membuat forum, dimana dengan adanya forum akan menbuat website lebih professional.
Drupal mendukung komentar betingkat bukan flat, yang akan memudahkan dalam membaca komentar.
Kategori konten dalam Drupal benar benar dirancang khusus (multi content type), bukan hanya sekedar pengkategorian.
Drupal memiliki Unlimited Cascading Category, sementara Joomla hanya mendukung kategori 1 tingkat saja, Joomla tidak dapat membuat sub kategori berikutnya.
Drupal memiliki kemampuan untuk membuat menu-menu baru bahkan secara bertingkat (User Define Menu).
Drupal diklaim memiliki SEO yang handal.
Drupal diklaim memiliki template yang fleksibel, dimana template memiliki peran yang penting dalam pengembangan interface.
Drupal memiliki CCK (Content Creation Kit), yang di cap sebagai salah satu fitur jagoannya. Fitur ini mampu membuat aplikasi slide show, buku tamu bahkan e commerce, dapat di customize oleh user tanpa coding. Fitur ini benar benra mendukung pengembangan interface dan website secara professional.

Membangun Aplikasi Web dengan AJAX

  • Mengintip versi baru dari adobe dreamweaver CS3
  • Membuah tabel dan form
  • Menginstal webserver apache, PHP, dan database MySql
  • Mengenal adobe photoshop CS3
  • Mengenal tag-tag HTML dan beberapa fungsi dalam PHP
  • Gambaran dan persiapan membuat program(membuat layout halaman Web)
  • Mempersiapkan database server
  • Membuat pemrograman web dengan dreamweaver CS3
  • Menggabungkan desain dan pemrograman web
  • Publikasi website ke internet
Hampir semua orang pasti pernah menggunakan gmail, yahoo mail, google sugest atau Google maps, dan pasti semua orang menyadari bahwa aplikasi tersebut merupakan aplikasi berbasis web yang dinamis dan menggunakan konsep pemrograman baru. Jika diamati lebih jauh aplikasi tersebut terlihat seperti aplikasi desktop tanpa menggunakan plug-in apapun maupun fasilitas khusus dari web browser.
Ada apa dibalik itu semua?konsep apakah kira-kira gerangan? Selidik punya selidik ternyata konsep yang dipakai dalam aplikasi web tersebut adalah AJAX. Makanan apakah si AJAX itu? AJAX itu sendiri adalah kepanjangan dari Asynchronous Java and XML. Istilah AJAX digunakan pada website yang berinteraksi dengan server melalui javascript secara asinkron (background), sehingga pengguna tidak perlu me-load keseluruhan isi page. Hal ini menyebabkan pengiritan waktu dan bandwidth, juga menghasilkan website yang makin interakti.
sumber :http://dedeamung.wordpress.com/2008/07/22/perbedaan-delphi-vs-visual-basic/

Pascal or Delphi

Pascal or Delphi

Standard
Karena 2 minggu ini sedang di sibukkan dengan pembuatan 2 laporan praktikum mengenai PASCAL yang harus ACC ,maka saya akan membagikan kesenangan yang sedang saya alami ini kepada kalian. oke silahkan nikmati ya .semua tentang PASCAL !
Sejarah Singkat
Pascal
Delphi menggunakan bahasa Pascal, sebuah bahasa terstruktur generasi ketiga, yang sering juga disebut sebagai bahasa highly typed, bahasa dengan aturan tipe data yang ketat. hal ini akan menghasilkan program yang bersih, dengan gaya pemrograman yang konsisten, dan yang terpenting dapat diandalkan untuk berbagai aplikasi. Pascal mengalami sejarah yang panjang:
Awal mula
Kemunculan Pascal boleh dikatakan terlamabt dalam sejarah bahasa pemrograman. Karena muncul belakangan, Pascal dapat belajar dari pendahulunya seperti Fortran, Cobol, dan PL/1 yang muncul sekitar awal 1960-an. Niklaus Wirth menyatakan bahwa di mulai mengembangkan Pascal tahun 1968, dengan implemetasi pertama dilakukan pada mesin seri CDC 6000 di tahun 1970.
Bahasa C belum muncul sampai tahun 1972. C dibuat dengan tujuan yang berbeda dengan Pascal. C dibuat sebagai bahasa tingkat tinggi yang juga memberikan kemudahan akses pada level bahasa rendah seperti yang diberikan oleh assembly. Pascal dibangun untuk menghasilkan aplikasi yang terstruktur dan mudah dikelola.
Tahun 1970-an
Pada tahun 1975, Wirth bekerja bersama Jensen untuk menghasilkan buku referensi Pascal “Pascal User Manual and Report”. Wirth beralih dari Pascal tahun 1977 untuk mengerjakan Modula – penerus Pascal.
Tahun 1980-an
Tahun 1982 muncul ISO Pascal. Ada even besar pada bulan November 1983, dengan keluarnya Turbo Pascal. Tahun 1987 Turbo Pascal sudah mencapai rilis 4. Turbo Pascal mengungguli lawan-lawannya dalam hal kecepatan kompilasi dan eksekusi, meninggalkan pesaingnya dengan kelemahannya.
Dari Turbo Pascal menuju Delphi
Delphi, sebuah lingkungan pengembangan pemrograman yang cukup ampuh di lingkungan Windows© dan Linux© (dengan nama Kylix) muncul pertama kali pada tahun 1995. Delphi, merupakan kelanjutan dari Turbo Pascal©.
Borland sepertinya mengadu untung saat memunculkan Pascal versi Object Oriented. Namun ternyata keberanian itu memperoleh imbalan karena memang IDE tetap disukai dan waktu kompilasi maupun eksekusi tetap cepat.
Versi pertama Delphi terasa sangat terbatas kemampuannya dibandingkan dengan Delphi yang ada saat ini, namun saat itu Delphi meraih sukses karena faktor kecepatan. Pada era 1990-an Delphi terus berubah dengan cepat.
Delphi version 8
Dari versi pertama Delphi sekarang sudah sampai versi 8, yang mengikuti jalur arsitektur Microsoft© Net. Namun demikian Delphi tetap merupakan, menurut hemat penulis, development tool yang terbaik untuk Windows maupun Linux. Pascal adalah bahasa yang jernih, dan lebih disiplin daripada Basic, dan dalam hal adaptasi pemograman objek juga lebih baik daripada Basic.
KONSEP DASAR PEMROGRAMAN TERSTRUKTUR
Tujuan mempelajari materi pemrograman terstruktur
Agar memahami cara menyederhanakan kerumitan program dan meningkatkan program supaya mudah dimengerti, dites, dan dimodifikasi.
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Ada 5(lima) langkah yang dapat dilakukan oleh programmer dalam proses pemecahan suatu masalah
1. Menganalisis dan memahami persoalan yang ada dan mengembangkan suatu
urutan proses logika untuk menyelesaikan masalah tersebut dalam bentuk algoritma.
2. Menentukan bentuk data apa yang diperlukan (sebagai input di dalam program yang akan dibuat) dan apa saja yang akan dihasilkan (sebagai output dari program yang akan dibuat)
3. Pengkodean dari algoritma yang sudah dibuat diterjemahkan kedalam bentuk-bentuk statement-statement yang sesuai dan yg terdapat di dalam bahasa pemrograman yang digunakan.
4. Melakukan test program dari proses logika yang sudah dibuat, apakah program tersebut sudah benar atau masih harus direvisi.
5. Melakukan pendokumentasian program sebagai back-up.
Tujuan Pemrograman Terstruktur
1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Pemeliharaan program
5. Meningkatkan produktivitas pemrograman.
Ciri Pemrograman Terstruktur
Pemrograman terstruktur mempunyai ciri-ciri sbb:
1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yg sederhana, standard an efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari tiga struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
6. Biaya Pengujian yang dibutuhkan rendah.
7. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
3(tiga) standar program yang baik
1. Pemecahan Masalah
2. Penyusunan Program
3. Perawatan Program
Standar Pemecahan Masalah
1. Teknik TOP-DOWN
Merupakan teknik pemecahan masalah yang paling umum digunakan, karena pada teknik ini suatu masalah yg besar atau kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil, dari kelompok yang lebih kecil itu dianalisa.
2. Teknik BOTTOM-UP
Teknik ini, bila ada masalah yang besar atau kompleks, maka pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang menjadi satu kesatuan program guna menyelesaikan masalah tersebut.
Karakteristik Pemrograman Terstruktur
1. Bahasa Pemrograman Yang Berkualitas
Setiap bahasa pemrograman mempunyai kelebihan dan kekurangan. Kriteria yang digunakan untuk menilai kelebihan dan kekurangan suatu bahasa pemrograman.
2. Tata Letak penulisan program yang benar
Pada beberapa bahasa pemrograman tingkat tinggi seperti Pascal,C,dan sebagainya.setiap pernyataan / perintah selalu diakhiri dengan karakter tertentu, seperti titik(.),koma(,), titik koma (;) atau <enter>
3. Portabilitas Program yg fleksibel
Portabilitas suatu program ditentukan oleh sejauh mana ketergantungan program tersebut terhadap mesin computer atau sistem operasi.
4. Struktur organisasi data yang benar
Ada beberapa tipe organisasi file data yang digunakan, yaitu susunan berurutan (Sequential), berurutan diindeks (Indexed Sequential), acak indeks(indexed random)
MEMBANGUN PROGRAM
Untuk menyusun sebuah program yang besar dan kompleks,pemrogram membutuhkan tahapan penyusunan yang sistematis dan terpadu, sebagai berikut:
1. Definisi Masalah
2. Analisis Kebutuhan
3. Desain/Penyusunan Algoritma
4. Pengkodean/Pemrograman
5. Testing dan Debugging
6. Pemeliharaan
7. Dokumentasi
Untuk memecahkan suatu masalah sederhana pemrogram tidak perlu melalui ketujuh tahap tersebut, tetapi cukup dengan mengidentifikasikan masalah, yaitu menetukan input, proses dan output yang diinginkan, menentukan algoritma, mengimplementasikannya dengan suatu bahasa pemrograman tertentu dan melakukan testing.
Contoh
Buatlah program untuk menghitung secara  berurutan luas beberapa persegi panjang,jika diketahui panjang dan lebar sisi-sisinya sebagai berikut:
Ketentuan Panjang Lebar
Persegi Panjang 1 35 5
Persegi Panjang 2 20 10
Persegi Panjang 3 25 5
Persegi Panjang 4 125 75
Kemudian tampilkanlah luas persegi panjang tersebut di atas.
Jawab
Identifikasi Masalah

Data input : data yang akan diinputkan pada saat program dieksekusi
Ketentuan Panjang Lebar
Persegi Panjang 1 35 5
Persegi Panjang 2 20 10
Persegi Panjang 3 25 5
Persegi Panjang 4 125 75
Proses : langkah-langkah pengolahan data yang harus dilakukan pada saat program Dieksekusi
Luasspp1 = panjang 1 * lebar 1
Luasspp2 = panjang 2 * lebar 2
Luasspp3 = panjang 3 * lebar 3
Luasspp4 = panjang 4 * lebar 4
Output : menampilkan isi variable luasspp1, luasspp2, luasspp3, dan luaspp4
Algoritma

Proses perulangan  : Ulangi langkah-langkah berikut sebanyak 4 kali
Input                     : Baca data panjang,lebar
Proses                   : Hitung Luasspp = panjang * lebar
Output                   : Cetak isi variable luasspp
Sistematika Penulisan Program
1.    Inisialisasi
Nama  Program,Piranti yang akan digunakan, konstanta, variabel, fungsi dan prosedur.
2.    Input
Menuliskan perintah-perintah untuk memasukkan data
3.    Proses
Proses-proses  pengolahan data, baik berupa rumus matematika, statistik maupun logika.
4.    Output
Menampilkan hasil pengolahan
Testing dan debuging (istilah untuk menyebut pengujian pada program )
Testing adalah  proses mengeksekusi program secara intensif untuk menemukan kesalahan.
Debugging adalah saat menemukan kesalahan sampai kesalahan itu diperbaiki sehingga tidak ada kesalahan lagi.
Agar komputer dapat memahami program yang disusun dengan suatu bahasa pemrograman, maka dibutuhkan suatu penerjemah, yaitu interpreter dan compiler
Interpreter adalah menterjemahkan instruksi perinstruksi memeriksa sintaksis,leksikal dan semantik dari setiap instruksi program. Jika ditemukan kesalahan sintaksis maka interpreter akan menampilkan pesan kesalahan.
Compiler adalah menterjemah secara keseluruhan sekaligus baik sintaksis,leksikal,semantik dan logika programnya) dan dihasilkan file executable program.
Cara Penulisan  Algoritma
Ada beberapa langkah pemecahan masalah dapat dituliskan dengan beberapa cara :
1.    Uraian Deskriptif (seperti bahasa sehari-hari)
2.    Pseudocode (kode yang mirip dengan kode program yang sebenarnya)
3.    Bagan Alir (Flow Chart).
DASAR- DASAR PASCAL

Perhatikan program berikut:
program pertama(input,output);

begin

   writeln(1+1);

end.
Dari program tersebut didapat
katakunci (keyword) : program, begin, dan end.
pengenal (identifier) : pertama, input, output,  dan writeln
tipe data (konstanta) : 1
operator : +
ekspresi : 1 + 1
Baris pertama dari program tersebut oleh kebanyakan sistem (compiler) Pascal diabaikan atau tidak diproses.
Untuk Turbo Pascal for Windows perlu ditambah baris
uses WinCrt;
setelah baris program. Jika digunakan Delphi baris yang perlu ditambahkan adalah
{$APPTYPE CONSOLE}
Ekspresi (1+1) oleh sistem Pascal akan langsung dievaluasi dan menghasilkan nilai 2. Dengan demikian statemen tersebut akan sama dengan statemen writeln(2).
Dasar-dasar sintak leksikal di Pascal
Pascal termasuk bahasa pemrograman yang menganut pada format bebas. Artinya program tidak perlu dibagi dalam baris dan kolom. Dengan kata lain suatu program Pascal dapat ditulis dalam 1 baris saja atau dalam banyak baris, yang oleh compiler Pascal akan dianggap sama saja. Namun program tersebut akan berbeda rasaanya jika dibaca oleh manusia yang lebih memilih tata letak yang baik.
Program Pascal tersusun atas deretan karakter ASCII (termasuk karakter EOL – end of line).  Pada penulisan di buku keyword sering ditulis dalam bentuk huruf tebal, namun dalam penyimpanannya hanya disimpan dalam bentuk melulu karakter.
Pascal tidak mengenal pembedaan huruf kecil dan huruf kapital, kecuali dalam konstanta string.
Komentar
Anda dapat menambah komentar dalam program, yang merupakan keterangan tambahan bagi orang yang membaca program tersebut tetapi tidak berarti apa-apa bagi compiler Pascal.
Dalam Pascal ada beberapa cara penulisan komentar:
  1. Tanda “{” dan “}” digunakan untuk mengapit keterangan. Artinya teks diantara kedua tanda itu akan diabaikan oleh compiler.
  2. Tanda “(*” dan “*)” juga digunakan untuk mengapit keterangan. Tanda ini dapat digunakan jika dalam keterangan mengandung tanda “{” atau “}”.
  3. Tanda “//” digunakan untuk mengawali keterangan dalam 1 baris. Setelah ganti baris komentar berakhir. Jadikomentar hanya berlaku pada teks di belakang tanda “//” ini.
Program yang baik biasanya akan diawali dengan komentar yang berisi antara lain:
  • informasi pembuat program
  • nama program
  • kegunaan program
  • dan tanggal dilakukannya perubahan terakhir.
Keluaran dan Tipe data
Prosedur writeln dapat digunakan untuk menampilkan nilai dari tipedata:
  • integer : 1, -2, 34566
  • real : 3.14, 1.0E+07
  • char : ‘a’, ‘z’,’%’,’#’
  • string : ‘selamat pagi’,’mahasiswa’,’Jum”at’
  • boolean : true, false
Prosedur writeln tidak dapat digunakan untuk menampilkan nilai dari tipe data yang dibuat oleh pemrogram seperti : enumerasi, array, dan record. Namun demikian untuk tipe data buatan yang merupakan subtipe dari tipe data standar di atas, writeln masih dapat digunakan.
write berfungsi seperti writeln namun tidak diikuti dengan ganti baris. Dengan demikian write(1); write(2); akan menghasilkan 12.
writeln dan write dapat menampung lebih dari satu nilai yang akan ditampikan secara berurutan.
Contoh:
writeln('Hasilnya adalah : ',1+1)
dapat ditulis dalam bentuk
write('Hasilnya adalah : ');

writeln(1+1);
Perhatikan bahwa writeln(1+1) berbeda dengan writeln(’1+1′). Yang pertama akan menghasilkan 2 sedang yang kedua akan menghasilkan “1+1″. Tidak dilakukan evaluasi pada string (teks yang diapit tanda petik tunggal), kecuali ” yang berarti petik tunggal.
Anda dapat menentukan panjang karakter yang akan ditampilkan. Misalnya write(1:3) akan menghasilkan angka 1 dengan 3 karakter yaitu : ” 1″.
Jika data yang akan ditampilkan tidak dapat dimuat dalam panjang yang ditentukan, Pascal akan menampilkannya menurut panjang yang dibutuhkan oleh nilai tersebut.
Jika nilai 3.14 ingin ditampikan “3.14″ bukan “3.13000E+00″ Anda harus menentukan panjang angka desimalnya. Format penulisannya menjadi writeln(3.14:4:2). Nilai 2 menunjukkan panjang angka desimalnya.
Variabel
Variabel adalah lokasi memory yang digunakan untuk menyimpan nilai. Pada lokasi memori ini dapat dilakukan:
  • penyimpanan data
  • pembacaan data/pengambilan data
Pada saat menyimpan data, jika lokasi tersebut sudah pernah diisi data maka data lama akan tertindis oleh data yang baru. Pembacaan data tidak mengubah nilai data yang tersimpan di variabel.
Variabel dalam Pascal selalu mempunyai tipe data. Dengan demikian:
 var n : integer;
  • nilai data yang dapat disimpan hanya yang cocok tipenya dengan tipe data variabel.
untuk deklarasi di atas nilai 'A' tidak dapat disimpan di n
  • setiap variabel harus mempunyai nama yang berbeda.

Latihan

Apa yang dihasilkan oleh program berikut?
program lat1;

var n,m : integer;

begin

  n := 1;

  m := n+1;

  m := m+1;

  n := m * m;

  writeln(n);

end.
Untuk melacak jalannya program perlu dikenal titik-titik pemantauan program. Titik-titik tersebut adalah :
  • statemen yang akan dikerjakan
  • nilai setiap variabel pada saat itu
  • teks yang dihasilkan
Dari contoh program di atas, pelacakan dilakukan mulai pada baris keempat, yang memuat statemen pertama (setelah begin). Pada titik itu semua variabel belum terisi, dan tidak ada yang ditampilkan oleh program.
Ekspresi
Ekspresi berisi penghitungan nilai.
Ekspresi tersusun atas :
  • data literal (konstanta), seperti 1 atau ‘a’
  • variabel, seperti n
  • operator, seperti +,-,*,/,mod,div
  • fungsi, seperti sqrt, sin, cos
  • kurung, ( dan )
Jika tidak ada tanda kurung secara eksplisit, pengelompokan operan dan operator tergantung pada tingkat prioritas operator. Misalnya * lebih tinggi prioritasnya daripada +.
Operator yang mempunyai prioritas sama akan dikerjakan mulai dari kiri ke kanan.
Struktur ekspresi dapat divisualisasi dengan menggunakan pohon operator, yang menunjukkan aliran nilai yang masuk ke operator.
Ekspresi a + b * 3 dapat digambarkan sbb:
      +

     / \ 

    a   *

       / \

      b   3
Pascal mengharuskan pemanggilan fungsi menggunakan tanda kurung. Misal
 

  sin(x) atau ln(a+b)
Jika Anda tidak yakin mengenai urutan prioritasnya, gunakan saja tanda kurung. Cara lain, Anda dapat menggunakanvariabel temporer. Misalnya daripada menulis Anda dapat menggantinya dengan

Latihan

Tulis program untuk menghitunguntukdan. Hasil akhir ditampilkan dengan format 1 tempat di belakang koma.
Tipe data
Banyak fungsi dan operator yang dapat dikenakan pada tipe data bawaan (boolean, integer, real, dan char).
Setiap operator atau fungsi berlaku untuk tipe data tertentu dan menghasilkan nilai dengan tipe data tertentu juga.
Misal div: integer x integerinteger
Artinya argumen untuk div dua-duanya harus integer dan hasil dari div bertipe integer juga.
Dengan demikian “jumlah div 0.25″ menjadi error karena tipe data tidak cocok dengan pola operator div. Bilangan 0.25 bukan integer melainkan real.

Contoh lain :
/: integer x integerreal
Berarti / selalu menghasilkan nilai bertipe real.
Jika Anda mencoba mengisi variabel bertipe integer dengan bilangan real, Anda akan mendapat error. Dalam statemen pengisian nilai (:=) tipe variabel dan tipe nilainya harus kompatibel, yang berartti kedua tipe sama persis atau hampir sama.
Sehingga a := b / 25 akan error jika a dideklarasikan sebagai variabel bertipe integer.
Beberapa operator bersifat overloaded yaitu satu operator, mempunyai pola 2 atau lebih. Misalnya:
+ : integer x integerinteger
+ : real x realreal

Jika diperlukan Pascal secara otomatis akan mengubah tipe integer menjadi real. Namun demikian tidak berlaku sebaliknya. Anda harus menggunakan fungsi trunc arau round.
Apa tipe data hasil dari ekspresi berikut?
  • 1*1+2.4
  • ln(7 mod 3)
Input
Program Baca;

var n : integer;

begin

  write('Ketik nilai untuk n : ');

  readln(n);

  writeln(n * (n + 1) div 2);

end.
Readln digunakan intuk mengisi nilai variabel dari keyboard.
Dengan demikian readln(n) mirip dengan n := ….
Dalam pernyataan pengisian nilai, nilai berasal dari dalam program. Nilai tersebut dapat berupa konstanta (eksplisit tertulis) atau hasil dari perhitungan. Dalam pertanyaan read, nilai berasal dari pengguna.
Read dan Readln hanya dapat digunakan untuk membaca data yang bertipe standar char, integer, string, atau real. Kecuali jika data tersebut berasal dari file, maka read dapat digunakan juga membaca bentuk tipe data lain.
Perbedaan antara read dan readln adalah : readln akan mengabaikan data yang masih ada dibelakangnya sampai ditemukan tanda ganti baris.
Readln(x, y) identik dengan read(x); readln(y);
Urutan pembacaan:
  • Data dibaca secara urut satu-persatu : artinya tidak ada data yang terlewati dan tidak boleh dibaca dua kali
  • Data masukan dapat dianggap sebagai deretan karakter yang harus dibaca pada karakter pertama. Artinya untuk membaca karakter kedua, maka dilakukan pembacaan terhadap karakter pertama dan dengan demikian karakter pertama akan hilang dari deretan dan karakter kedua bergeser menjadi karakter pertama.
Penahan masukan:
  • Walaupun program Anda hanya membutuhkan masukan 1 karakter, sistem operasi masih mengijinkan pengguna untuk mengisi lengkap 1 baris hingga ditekan tombol “Enter”
  • Karakter yang sudah telanjur masuk, tetapi tidak dibutuhkan oleh program akan ditahan oleh sistem operasi.
  • Jika masih ada karakter dalam tahanan sistem operasi, dan program berikutnya membutuhkan masukan, maka karakter yang ditahan tadi akan dilepas untuk memenuhi permintaan data, tanpa perlu pemasukan data dari pengguna.
Akhir baris:
  • Tanda akhir baris dalam sistem MS-DOS/Windows menggunakan dua karakter yaitu : CR (Carriage Return) (ASCII 13) dan LF (Line Feed) (ASCII 10). Dalam sistem Unix hanya menggunakan satu karakter yaitu LF.
  • Fungsi eoln digunakan untuk mendeteksi apakah karakter berikutnya adalah CR. Jika ya eoln bernilai true. Fungsi ini tidak mengubah posisi masukan.
  • Fungsi readln membaca sampai dengan tanda LF pada akhir baris. Pemanggilan readln dengan atau tanpa argumen akan memindah posisi masukan ke baris berikutnya.
Pemasukan bilangan:
  • Sistem operasi selalu memberikan deretan karakter kepada program
  • Jika Anda memanggil read dengan argumen n (integer), maka read akan melakukan pembacaan karakter (angka) dari sistem operasi, menghitung nilai integer dari masukan tersebut dan menyimpannya sebagai integer di n.
    • read akan mengabaikan spasi di awal dan akhir bilangan atau tanda ganti baris. Namun demikian, jika di dalam deretan angka terdapat karakter lain (misalnya huruf), akan mengakibatkan error. Dalam sistem Turbo Pascal, dalam setiap masukan bilangan harus diikuti oleh spasi atau tanda ganti baris.

Latihan

Tulis program untuk menghitunguntuk nilaidandan nilaiyang dibaca dari masukan pengguna.
PERCABANGAN
If
program musik;

var tahun : integer;

begin

  write('Kapan Mozart lahir?');

  readln(tahun);

  if tahun=1756 then

    writeln('Benar. Selamat!')

  else

    writeln('Maaf. Anda belum benar.');

end.
Pernyataan tunggal dapat segera diikuti then dan else.
Jika lebih dari satu pernyataan, maka pernyataan-pernyataan itu harus diapit dengan begin dan end
  if tahun=1756 then begin

    writeln('Benar. Selamat!');

    jawabanbenar := jawabanbenar+1;

  end
Secara teknis, konstruksi begin … end dianggap satu pernyataan, walaupun berisi banyak statemen.
Tanda “;” sebelum else akan menimbulkan error.
Agar tampilan nampak terstruktur dan enak dilihat gunakan indentasi. Walaupun cara ini tidak berpengaruh pada compiler karena compiler tidak mengenal perbedaan ada 2 spasi atau 1 spasi atau ganti baris sekalipun.
Versi terakhir di atas bisa juga ditulis dalam bentuk:
if tahun = 1756 then

        begin

               writeln('Benar. Selamat!');

               jawabanbenar := jawabanbenar + 1;

        end
Sebaiknya Anda konsisten menggunakan salah satu model indentasi.

Latihan

Buatlah suatu program yang dapat menentukan apakah bilangan yang dimasukkan adalah merupakan bilangan positif atau bilangan negatif.
Contoh :
Masukkan sembarang bilangan : -5
-5 adalah bilangan negatif
Pernyataan if dapat berkalang, artinya pada pernyataan bagian then atau pernyataan bagian else dapat berisi pernyataan if lain. Bentuk if … then …else if …then biasa digunakan.
Penggunaan AND untuk pemeriksaan seluruh kasus
Misalnya kita mempunyai sederetan pertanyaan (seperti dalam ujian) dan kita ingin tahu apakah seluruh pertanyaan terjawab dengan benar atau tidak. Untuk menyelesaikan permasalahan ini dapat ditempuh beberapa cara:
  • Pertama, kita dapat menggunakan AND
 if (jawab1=1756) and (jawab2=1685)

   and .... then

   writeln('Semua jawaban benar!');
  • Kedua, kita dapat menghitung jumlah jawaban yang benar seperti contoh sebelumnya, nilai jawabanbenar bertambah satu demi satu setiap ada jawaban yang benar. Seteleah semua soal dikerjakan, kita tinggal membandingkan nilai jawaban benar dengan jumlah soal. Jika keduanya sama, maka berarti semua jawaban benar.
  • Ketiga, kita dapat menggunakan variabel “benarsemua”, yang pertama diisi dengan nilai True. Jika didapatkan jawaban yang salah, maka nilai variabel ini berubah menjadi False. Jika sampai akhir, nilai variabel ini tetap True, berarti semua jawaban benar.
Latihan
Gunakan variabel boolean untuk mengecek apakah tiga deretan karakter yang dimasukkan bernilai ‘yyn’.
Case
Statemen case digunakan jika diinginkan ada beberapa alternatif pernyataan yang akan dikerjakan, tetapi hanya satu yang benar-benar dikerjakan.
Pemilihan pernyataan yang dikerjakan ditentukan oleh nilai ekspresi yang cocok dengan nilai label yang mendahului pernyataan alternatif.
Sintaksis untuk pernyataan case adalah :
CASE {ekspresi} OF

 case label1 : pernyataan-1;

 case label2 : pernyataan-2;

 case label3 : pernyataan-3;

 ...

 case labeln : pernyataan-n;

 else pernyataan-else;

END;
Cara kerja pernyataan case adalah sebagai berikut:
  1. Ekspresi dievaluasi, nilainya dicocokkan dengan label.
  2. Nilai ekspresi tersebut dibandingkan dengan nilai pada label. Jika ada yang cocok maka pernyataan yang menyertainya dikerjakan.
  3. Jika tidak ada label yang cocok dengan nilai tersebut dan ada pernyataan-else, maka pernyataan-else dikerjakan.
Tugas : Program seleksi
Tugas : Program seleksi
Buatlah 2 program untuk mencari data terbesar dari 3 data, dengan mengacu pada 2 flowchart berikut:
Flowcart pertama
Flowcart kedua
ITERASI
Pengantar
Struktur Iterasi Pada saat diinginkan mengulang-ulang instruksi dalam program yang dibuat, saat itulah diperlukan iterasi. Struktur iterasi secara sederhana menentukan berapa kali suatu instruksi atau kelompok instruksi diulang. Pada suatu kasus jumlah iterasi sudah dapat ditentukan sebelumnya namun pada kasus yang lain jumlah iterasi tidak dapat ditentukan sebelumnya. Untuk kasus kedua, proses akan berhenti berulang atau keluar dari iterasi setelah tidak memenuhi syarat untuk dilakukannya iterasi. Syarat tersebut dapat dipenuhi kapan saja. Algoritma iterasi:
  1. Inisialisasi pencacah
  2. Jika pencacah < maksimum kerjakan
    1. instruksi yang diulang
    2. naikkan nilai pencacah
jika tidak kerjakan langkah 4
  1. Kembali ke langkah 2
  2. Selesai
Ada beberapa macam struktur iterasi yaitu:
  1. for
  2. while
  3. repeat
Dalam for jumlah iterasi sudah dapat ditentukan terlebih dahulu sedang pada while dan repeat untuk melakukan atau menghentikan iterasi perlu dilakukan pengecekan kondisi.
Pada iterasi while, pengecekan kondisi dilakukan sebelum mengerjakan instruksi yang diulang. Selama kondisi memenuhi syarat (bernilai True), maka instruksi yang diulang dikerjakan. Dengan demikian jika pada saat pertama kali kondisi sudah tidak memenuhi syarat, maka instruksi yang diulang tidak pernah dikerjakan.
Pada iterasi repeat, instruksi yang diulang dikerjakan terlebih dahulu baru kemudian dicek kondisinya. Jika kondisi bernilai True maka iterasi dihentikan. Dengan demikian instruksi yang diulang pasti pernah dikerjakan paling tidak sekali.
For
Mungkin struktur iterasi for adalah struktur yang paling mudah dipahami. Dalam for dilakukan pencacahan berapa instruksi yang mengikutinya diulang-ulang. Untuk keperluan ini dideklarasikan terlebih dahulu variabel bertipe ordinal (misal integer) sebagai variabel pencacat jumlah perulangan. Contoh deklarasi:
var 

  cacah : integer;
Variabel cacah dinamakan variabel kendali iterasi. Variabel ini digunakan sebagai pencacat sudah berapa kali suatu instruksi dijalankan. Struktur iterasi for kemudian ditulis sbb:
for cacah := 1 to 10 do
Memo1.Lines[Kount].Add(‘Selamat pagi’);
Iterasi tersebut dapat diartikan “Untuk nilai cacah dari 1 sampai dengan 10 tambahkan ‘Selamat pagi’ pada baris terakhir pada Memo1. Pada contoh tersebut, hanya ada satu instruksi yang ada dalam iterasi.
Memo1.Lines[Kount].Add(‘Selamat pagi’);
Jika ada lebih dari satu instruksi yang ingin diulang maka diperlukan pengelompokan instruksi tersebut dengan menggunakan begin dan end Untuk for ada dua ‘variasi’, yang pertama untuk pencacah naik dan yang kedua untuk pencacah turun. Prinsip dasar keduanya sama saja, yaitu digunakan untuk mengulang instruksi sejumlah nilai yang sudah ditentukan.
var cacah : integer;

...

for cacah := awal to akhir do

  begin

   KerjakanSesuatu;

   KerjakanYangLain;

  end;
Variabel cacah harus dideklarasikan secara lokal dan bertipe ordinal. Awal dan Akhir adalah variabel yang bertipe sama atau kompatibel dengan tipe data cacah. Untuk pencacah turun, to pada iterasi for diganti dengan downto. Jika diinginkan berhenti dari iterasi walaupun nilai akhir belum tercapai, gunakan break.
Repeat
Struktur Repeat
Instruksi di antara repeat dan until akan dikerjakan terus menerus sampai kondisi bernilai True. Jika kondisi tidak pernah mencapai True, instruksi akan terus menerus dikerjakan selamanya tanpa henti.
repeat
KerjakanSesuatu;
KerjakanYangLain;
until kondisi;
Instruksi di antara repeat dan until akan dikerjakan sekali, kemudian nilai kondisi dicek. Jika bernilai True, iterasi dihentikan. Namun jika bernilai False, instruksi yang diulang akan dikerjakan lagi. Penggunaan break juga diperbolehkan dalam repeat.
   repeat
     if (Nilai < 1) then
       break;
     Nilai := Nilai * Nilai;
   until (Nilai > 1000000);

Pada kasus ini, iterasi repeat mengulang instruksi untuk mengalikan Nilai dengan Nilai sampai bernilai lebih dari 1000000. Namun demikian, jika Nilai pada awalnya berisi kurang dari 1, maka iterasi langsung dihentikan. Hal ini dilakukan untuk mencegah perulangan yang tanpa henti. Seperti diketahui bahwa suatu bilangan jika dikalikan dengan bilangan itu sendiri nilainya akan bertambah besar, kecuali bilangan itu kurang dari 1. Misalnya 2 x 2 adalah 4, namun 0.5 x 0.5 adalah 0.25 yang lebih kecil dari 0.5. Oleh karena iterasi akan berhenti jika Nilai > 1000000, dan ini tidak akan tercapai jika Nilai < 1, maka iterasi akan dikerjakan terus-menerus tanpa henti. Dengan adanya break perulangan yang terus menerus untuk kasus tersebut tidak perlu terjadi.

While
Iterasi While
Instruksi dalam While akan dikerjakan selama kondisi bernilai True. Jika kondisi ini tidak pernah mencapai False, instruksi akan diulang terus-menerus tanpa henti.
while kondisi do
     begin

       KerjakanSesuatu; 

       KerjakanYangLain;

     end;
Kondisi harus ekspresi boolean. Pertama, nilai kondisi ini dicek. Jika bernilai True, instruksi antara begin dan end dikerjakan. Jika bernilai False, instruksi tidak dikerjakan. Begin dan end boleh dihilangkan jika hanya ada 1 instruksi yang diulang.
Procedure
Anda sudah menggunakan procedure dan function dalam topik-topik yang lalu mungkin tanpa Anda sadari. Write, Writeln, Read, dan Readln adalah contoh procedure yang digunakan untuk menulis atau membaca data. Sedang abs, sqrt, sqr, sin, dan cos adalah contoh fucntion yang memang sudah disediakan oleh sistem Pascal.
Ternyata kita juga dapat membuat procedure atau function buatan kita sendiri dan diperlakukan seperti procedure atau function yang disediakan oleh sistem. Procedure dan function ini termasuk dalam subprogram. Kegunaan subprogram adalah untuk mempermudah pengelolaan dan penyederhanaan program.
Struktur Rancangan Puncak-Turun dengan Procedure
Program tersusun atas beberapa modul. Modul kemudian dapat diimplementasikan dengan subprogram (procedure atau function).
Kapan procedure digunakan? Pada umumnya setiap modul dapat diimplemtasikan dalam bentuk procedure atau function. Namun untuk modul yang sangat sederhana bentuk procedure atau function tidak diperlukan. Keputusan penggunaan modul atau tidak dapat didasarkan pada bagaimana secara keseluruhan program menjadi lebih mudah dipahami.
Jika modul hanya terdiri atas 1 baris saja, lebih baik tidak usah dijadikan procedure. Jika modul terdiri atas banyak baris, lebih baik dijadikan procedure saja. Inin untuk mempermudah pemahaman program secara keseluruhan. Perlu dicatat di sini bahwa keputusan untuk menjadikan modul menjadi procedure atau tidak, hanya menyebabkan pada perbedaan keterbacaan program, bukan pada hasil program.
Perancangan Procedure
Pengertian Subprogram
Subprogram adalah bagian dari program yang dirancang untuk melaksanakan suatu tugas tertentu. Idenya adalah konsep tentang modularitas : program dipecah atas subprogram-subprogram yang lebih kecil. Dengan cara ini, program akan lebih mudah dimengerti, dan jika ada kesalahan di dalam proses pengolahan data akan lebih mudah untuk melokalisirnya.
Di dalam Pascal subprogram bisa berwujud prosedur atau fungsi. Secara garis besar, konstruksi keduanya mirip dengan program. Prosedur dan fungsi bisa dikatakan sebagai ’program kecil’. Keduanya bisa memiliki deklarasi-deklarasi, bagian badan, bahkan prosedur atau fungsi yang lain.
Aturan umum yang dapat digunakan untuk menentukan perlunya dibuat suatu prosedur atau fungsi : bagilah suatu penyelesaian persoalan (solusi) menjadi subsolusi-subsolusi yang lebih kecil. Masing-masing subsolusi diwujudkan dalam bentuk prosedur atau fungsi. Contoh : masalah pengelolaan data karyawan dapat dibagi menjadi bagian pemasukan data, pengubahan data, penampilan data, dan penghapusan data. Wujudkan masing-masing bagian tersebut dalam sebuah procedure atau function.
Procedure
Prosedur adalah bentuk subprogram yang semata-mata bertugas mengerjakan suatu aktivitas. Struktur pendefinisian prosedur adalah sebagai berikut.
procedure nama-prosedur [ ( deretan-parameter ) ] ;
[ bagian d e k l a r a s i konstanta , t ipe , v a r i abe l , dan prosedur /
f u n g s i ]
begin
[ statemen-statemen dalam badan prosedur ]
end ;
Terlihat bahwa struktur prosedur mirip dengan struktur program Pascal. Perbedaannya adalah pada kata procedure dan adanya deretan parameter yang menyertainya. Tentang parameter akan dibicarakan kemudian. Prosedur digunakan dengan cara memanggil namanya. Sebagai contoh, pada program pengelolaan data karyawan, jika diinginkan untuk mengubah data karyawan, maka prosedur ubah data dipanggil untuk melaksanakan hal tersebut. Begitu nama sebuah prosedur dipanggil di suatu bagian program, maka eksekusi program akan berpindah ke prosedur tersebut. Program akan mengerjakan apa yang diminta di dalam prosedur tersebut. Setelah selesai, eksekusi akan kembali kepada bagian pemanggil.
Sintaksis Procedure
Sintaksis Parameter dalam Procedure
Contoh 1
Buatlah procedure untuk menampilkan pola kotak dari huruf ’*’ dengan tinggi dan lebar n. Nilai dan merupakan parameter masukan procedure. Contoh untuk = 4 dan = 5, hasilnya berbentuk :
*****
*****
*****
*****
Jawab:
Terlihat bahwa untuk persoalan tersebut lebih mudah diselesaikan dengan iterasi. Setiap baris diulang sebanyak dan jumlah baris adalah m. Dengan demikian bentuk programnya menjadi:
Contoh 2:
Buatlah procedure untuk menampilkan pola segitiga dari huruf ’*’ dengan tinggi dan lebar n. Nilai merupakan parameter masukan procedure. Contoh untuk = 5, hasilnya berbentuk:
*
**
***
****
*****
Jawab:
Terlihat bahwa untuk persoalan tersebut juga lebih cocok diselesaikan dengan iterasi. Setiap baris diulang sebanyak nilai ibergerak dari 1 sampai dengan n, dan jumlah baris adalah n. Dengan demikian bentuk programnya menjadi:
Contoh 3:
Buatlah procedure untuk menampilkan pola kotak dari karakter ’*’ seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk = 4 dan = 5, hasilnya berbentuk :
*****
* *
* *
*****
Jawab:
Untuk menyelesaikan persoalan ini perlu dicari pola, kapan harus dicetak spasi dan kapan ahrus dicetak ’*’. Untuk ini, kita perhatikan kapan harus mencetak ’*’, yaitu baris pertama, baris terkahir, kolom pertama, dan kolom terakhir. Baris pertama tercetak saatnilai = 1, sedang baris terakhir tercetak saat nilai m. Kolom pertama berarti nilai = 1 dan kolom terakhir berarti n. Dengan demikian bentuk programnya menjadi:

Contoh 4
Buatlah procedure untuk menampilkan pola segi tiga dari huruf ’*’ seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk = 5, hasilnya berbentuk :
*
**
* *
* *
*****
Jawab:
Untuk menyelesaikan persoalan ini juga perlu dicari pola, kapan harus dicetak spasi dan kapan harus dicetak ’*’. Perhatikan kapan harus mencetak ’*’, yaitu kolom pertama, baris terkahir, dan diagonal. Kolom pertama tercetak saatnilai = 1, sedang kolom terakhir berarti n. Kolom diagonal terjadi saat nilai j. Dengan demikian bentuk programnya menjadi:
Contoh 5:
Bagaimana bentuk aplikasi lengkap dalam GUI untuk menampilkan pola kotak dan segitiga seperti contoh sebelumnya?
Jawab:
Desain from untuk persoalan ini terlihat seperti Gambar.
Program menampilkan Kotak dan Segitiga dalam GUI
Gambar: Desain Form Program Pola Kotak dan Segitiga
Soal Latihan
Parameter, Procedure Bersarang
Parameter Nilai
Parameter adalah sarana untuk berkomunikasi antara bagian pemanggil dengan prosedur atau fungsi yang dipanggilnya. Parameter digunakan bagian pemanggil untuk memberikan data pendukung aktivitas prosedur/fungsi, atau menerima kembali data hasil pemrosesan oleh prosedur/fungsi. Parameter yang digunakan dalam mendefinisikan prosedur atau fungsi disebut parameter formal, dan parameter yang digunakan untuk memanggil prosedur/fungsi disebut parameter aktual. Keduanya bisa sama, bisa juga berbeda.
Ada dua jenis parameter formal, yaitu parameter nilai dan parameter variabel. Parameter nilai digunakan jika ia hanya diharapkan membawa data pendukung dari bagian pemanggil untuk diberikan kepada prosedur/fungsi. Isi dari parameter nilai tidak akan berubah, meskipun di dalam prosedur/fungsi ia dimodifikasi. Sebaliknya, selain dimaksudkan untuk membawa data ke prosedur/fungsi, parameter variabel diharapkan juga untuk membawa data hasil pemrosesan kembali ke bagian pemanggil. Konsekuensinya, isi parameter variabel dapat berubah selama terjadi pemrosesan di dalam prosedur/fungsi. Perubahan ini akan diterima oleh bagian pemanggil.
Berdasarkan uraian di atas, dapat ditarik suatu kesimpulan. Gunakan parameter nilai jika kita hanya ingin memberikan data kepada prosedur/fungsi tanpa perlu mengubah isinya. Gunakan parameter variabel jika kita juga mengharap isi parameter tersebut berubah sesuai hasil pemrosesan yang dilakukan oleh prosedur/ fungsi.
Aturan Cakupan dan Procedure Bersarang
Deklarasi pengenal tipe data, variabel, konstanta, prosedur, maupun fungsi memiliki ruang lingkup tertentu. Secara umum, aturannya adalah : segala sesuatu hanya akan dikenal di mana ia dideklarasikan. Jika sebuah pengenal dideklarasikan di level program, maka semua bagian program akan mengenalnya. Jika sebuah pengenal dideklarasikan di sebuah prosedur atau fungsi, maka ia hanya akan dikenal di prosedur atau fungsi tersebut. Konsep di atas sering dinyatakan juga dengan lokalitas dan globalitas pengenal.
Pengenal dengan ruang lingkup meliputi seluruh program disebut pengenal global, sementara yang ruang lingkupnya lebih kecil (sebatas prosedur atau fungsi) disebut pengenal lokal. Pemrograman yang baik adalah pemrograman yang tidak menggunakan banyak pengenal, khususnya variabel, yang bersifat global. Jika ada nama pengenal global dan pengenal lokal yang sama, maka yang digunakan adalah pengenal lokal.
Contoh lain mengenai cakupan variabel lokal atau global dapat dilihat pada Program dibawah ini.
Tabel 5.1: Ruang lingkup variabel dalam program Cakupan
Function
Sebagai subprogram, kegunaan fungsi mirip dengan prosedur. Fungsi diaktifkan juga dengan memanggil namanya. Perbedaan utamanya adalah bahwa selain mengerjakan suatu aktivitas tertentu, fungsi akan mengembalikan suatu nilai hasil pemrosesan yang dilakukannya kepada bagian pemanggil. Tata cara pendefinisian fungsi adalah sebagai berikut.
Pendefinisian fungsi dapat digambarkan dalam diagram sintaksis seperti tampak pada Gambar sintaksis fungsi Karena fungsi akan mengembalikan suatu nilai, maka nilai kembalian ini harus diperlakukan sebagaimana mestinya. Yang umum dilakukan adalah menampungnya dalam sebuah variabel dengan tipe yang sama dengan tipe data nilai kembalian.
Gambar : Sintaksis Fungsi
Contoh :
Buatlah fungsi salam yang akan mengembalikan nilai teks ’Selamat pagi!’.
Jawab:
Persoalan ini dapat dijawab dengan mudah karena hanya mengembalikan nilai konstanta string. Berikut dua model fungsi yang dapat dibuat:
Contoh :
Buatlah fungsi untuk menghitung fungsi Kuadrat f(x) = 4x2+6x-19 dengan masukan adalah x!
Jawab:
Nilai 4x2+6x-19 dalam Pascal berbentuk 4*x*x + 6*x – 19. Dengan demikian bentuk fungsi Kuadrat adalah
Contoh :
Nilai faktorial bilangan bulat n adalah 1x2x3x…x(n – 1)xn. Bagaimana bentuk fungsi tersebut jika dibuat dalam Pascal?
Jawab:
Fungsi faktorial dapat dibuat dengan menggunakan iterasi dari 1 sampai dengan n dengan setiap kali mengalikan nilai hasil dengan i. Bentuk fungsi faktorial menjadi:
Contoh :
Ingin dibuat fungsi untuk menghitung selisih antara dua waktu yang ditulis dengan format ’jj:mm:dd’. Hasil selisih juga dalam format ’jj:mm:dd’. Baik jj, mm, maupun dd harus ditulis dengan 2 angka (digit). Bagaimana bentuk fungsi untuk maksud tersebut?
Jawab:
Algoritme yang bisa digunakan untuk menghitung selisih tersebut adalah seperti Algoritme dibawah ini Berdasarkan algoritme tersebut dapat disusun fungsi dalam Pascal sebagai berikut:
Algoritme : Algoritme fungsi SelisihWaktu
Fungsi StrToInt adalah mengubah dari tipe data string menjadi integer, sedang Copy digunakan untuk mengambil sepotong string. Dec(sm) identik dengan sm := sm – 1. Di bagian akhir fungsi tersebut menggunakan FormatFloat untuk menghasilkan selisih dalam string. Variabel sj, sm, dan sd bertipe integer (bilangan) padahal hasil akhir fungsi adalah string. Oleh karena itu bilangan ini harus diubah ke dalam bentuk string. Untuk keperluan ini digunakan FormatFloat.
Array
Tipe Data Terstruktur
Pascal mendukung 3 macam kategori tipe data: tipe data sederhana, tipe data terstruktur, dan tipe data pointer. Sejauh ini kita telah bicarakan tipe data sederhana yang mempunyai karakteristik umum bahwa setiap variabel yang bertipe sederhana tersebut mempunyai data tunggal. Sekarang kita akan memulai memperhatikan tipe data terstruktur yang meliputi array, record, dan file (berkas). Semua tipe data tersebut mempunyai karakteristik umum bahwa pengenal tunggal dapat mewakili banyak item data. Setiap item data dapat diakses secara terpisah. Dengan demikian, item-item dalam tipe data terstruktur dapat dimanipulasi bersamaan ataupun secara terpisah, tergantung pada keperluan masing-masing aplikasi.
Array Satu Dimensi
Array digunakan untuk mewadahi agregat data (kumpulan dari beberapa data). Ciri array adalah data-data anggotanya memiliki tipe yang sama. Banyak sekali contoh data yang dapat diwujudkan dengan array, beberapa di antaranya adalah:
• sederetan data hasil percobaan
• kelompok mahasiswa dalam satu kelas
• sederetan karakter pembentuk kata atau kalimat
Array dapat diilustrasikan sebagai sebuah vektor :
Tiap kotak, disebut dengan elemen array, berfungsi seperti halnya sebuah variabel : dapat diisi dengan sebuah data dari tipe tertentu. Tiap kotak mempunyai nomor yang disebut indeks yang berfungsi untuk memberi identitas kotak tersebut. Untuk menunjuk sebuah kotak di dalam array, gunakan nomor indeks kotak tersebut. Di dalam Pascal, array diwujudkan dengan pertama mendeklarasikan tipe datanya, kemudian diikuti dengan definisi variabel dengan tipe data tersebut. Deklarasi array dapat ditulis dalam kelompok type sebagai berikut
atau dalam kelompok var sebagai berikut
Diagram sintaksis untuk deklarasi array tampak seperti gambar dibawah.
Pemrosesan Array
Array diakses melalui elemen-elemen dari variabelnya.
Tidak jarang pengaksesan array melibatkan proses perulangan dengan perintah kendali for..do:
Gambar : Sintaksis Array
Array Dimensi Banyak
Pada pembahasan sebelumnya, indeks atau subscript pada larik jumlahnya hanya sebuah dan larik ini disebut dengan larik dimensi satu (one dimensional array). Larik dapat juga berdimensi lebih dari satu yang disebut dengan larik dimensi banyak (multidimensional array), yang dapat berdimensi dua (two dimensional array), berdimensi tiga (three dimensional array) dan seterusnya. Secara prinsip, larik dimensi lebih dari 2 penanganannya sama dengan larik dimensi 2. Larik dimensi 2 mewakili suatu bentuk tabel atau matrik, yaitu indeks yang pertama dapat menunjukkan baris dan indeks kedua dapat menunjukkan kolom dari tabel atau matrik. Bentuk deklarasi larik dimensi 2 dapat berupa :
nama-larik = array[tipe-indeks1] of array[tipe-indeks2] of tipe-larik
atau dapat ditulis :
nama-larik = array[tipe-indeks1,tipe-indeks2] of tipe-larik
Contoh larik dimensi 2 :
program array;
uses wincrt;
var
tabel : array[1..3,1..2] of byte;
i, j : byte;
begin
tabel[1,1] := 5;
tabel[1,2] := 25;
tabel[2,1] := 200;
tabel[2,2] := 22;
tabel[3,1] := 75;
tabel[3,2] := 50;
for i := 1 to 3 do
begin
for j := 1 to 2 do
write(tabel[i,j]:10);
writeln;
end;
end.

sumber : http://dwimahesaputra.wordpress.com/2012/04/20/pascal-or-delphi/

BERSINAR TANPA DIA