Materi Free Pascal


1.2          HIRARKI PENULISAN PROGRAM
Kompetensi :
1.2.1  Bagaimana  struktur penulisan listing program pada FP
1.2.2  Apa saja perintah yang dituliskan dalam program
1.2.3  Bagaimana cara menjalankan
1.2.4  Bagaimana cara menyimpan, membuka, dan menutup FB


Materi :
1.2.1      Bagaimana struktur listrik program FP

Program ……….. ;       {Nama program}
Var  ….. : ….. ;             {Variabel : jenis karakter}
Type  …..= ..… ;           {Variabel = Isi variable}
Const ..... = ..... ;           {Variabel = nilai variabel}

Begin                            {Awal program à wajib}
            Begin                 {Awal proses dalam sub program}
            End;                  {Akhir proses dalam sub program}
End.                              {Akhir program àwajib}


1.2.2      Apa saja perintah-perintah yang dituliskan dalam program
Dalam hal ini kita ambil beberapa perintah sederhana saja, antara lain :

WRITE( ...... )               {Tuliskan ......   untuk text beri tanda ‘ text ‘}
WRITELN(....., .....)      {Tulisan ....., simpan dalam variabel ... turun satu baris}
READ(....)                     {Simpan input dalam variabel ....}
RADLN(....)                  {Simpan input dalam variabel ..., dan turun 1 baris}
GOTOXY(..., ....)          {Arahkan kursor pada kolom ... , baris ....}
Contoh Listing program sebagai berikut:


Program Halo1;
{*Dibuat oleh : .......... tanggal.......*}

Uses Wincrt;

Begin
         Writeln(‘Halo calon programer ‘);
         Writeln (‘Nama saya ......’);                               {Titik2 tulis nama anda}
         Writeln(‘Hoby saya .....’);                                   {Tulis hobby anda}
         Writeln(‘Mari belajar Free Pascal dengan saya’);
         Readln;                                                           {Tahan tampilan}
End.


Program Halo2;
{*Dibuat oleh : .......... tanggal.......*}

Uses Wincrt;
Var nama, hobby : string;

Begin
         Writeln(‘Halo calon programer’);
         Write(‘Nama saya : ’); Readln(nama);
         Write(‘Hobby saya: ‘);Readln(hobby);
         Write(‘Mari belajar Free Pascal dengan ‘,nama,’ hobbyku ‘,hobby);
         Readln;                                                          
End.

Program halo3;
{*Dibuat oleh : .......... tanggal.......*}

Uses Wincrt;
Var nama, alamat:string;
            Umur:integer;
Begin
            Write(‘Biodata aktivasi anda ‘);
            Write(‘Nama anda : ‘);   Readln(nama);
            Write(‘Alamat anda : ‘; Readln(alamat);
            Write(‘Umur anda : ‘)    Real(umur);
            Write(‘==============================’)
            Writeln(‘Halo  Anda telah teraktivasi sebagai calom programer’);
            Writeln(‘Dengan biodata : Nama ‘,nama,’ alamat ‘, alamat,’ umur ‘,umur,’ tahun’);
            Readln;
End.

1.2.3      Bagaimana cara menjalankan
Sebelum menjalankan arahkan dulu penyimpanan program2 di atas pada Folder yang telah dibuat sebelumnya :
Pilih File à Save / Save As à Klik tanda [  ...\  ] pada kotak dialog sampai mengarah pada folder sebagai mana pertemuan kita kali ini adalah PERTEMUAN 1

Setelah tersimpan, ada beberapa perintah yang harus kita ketahui :
a.    Menjalankan program :  Alt + Run  / Klik Run
Catatan : program tidak bisa di run apabila ada beberapa kesalahan penulisan, dalam hal ini anda harus benar-benar teliti dalam menuliskan perintah-perintah program)

b.    Menampilkan hasil secara penuh : Alt + D + U / Alt + F5 /
klik Debug à  User Screen

c.    Menampilkan hasil secara mandiri : Alt + F + D /
Klik File à Command Shell
Kemudian pada C:\FPC\SIMPANAN\PERTEMUAN1>  ketik nama program, misal Halo1, kemudian tekan Enter
Catatan : Setelah kita melakukan Run, maka Otomatis program kita menjadi EXE, artinya sudah menjadi file Eksekutor yang siap dijalankan secara mandiri dengan veri DOS-Promt
Untuk kembali ke FP, ketik pada :\FPC\SIMPANAN\PERTEMUAN1>  EXIT
Kemudian Enter

1.2.4      Bagaimana cara menyimpan, membuka dan menutup program
Cara menyimpan telah saya sampaikan di atas, cara menutup adalah klik pada kotak Hijau di ujung kiri atas pada listing program, contohnya sebagai berikut :

1.3          Mengerjakan Soal-Soal
Untuk lebih memahami pembelajaran pertemuan ini, kerjakan secara mandiri soal-soal berikut ini :


Soal 1
1.    Nama program adalah TUGAS_1_1
2.    Hasil program adalah sebagai berikut :


Nama Anda           :    GEORGE SARIDIN
TTL                        :    17 Agustus 1945
Alamat                   :    Jl. Pelan2 No. 9 Singojuruh
Pekerjaan              :    Manager
Perusahaan           :    PT. Maju Terus Pantang Mundur        


Soal 2

1.    Nama program adalah TUGAS_1_2
2.    Hasil program adalah sebagai berikut :

======================================
BIODATA PESERTA OSN
SMAN DARUSSHOLAH SINGOJURUH
TAHUN 2011
======================================
Nama                      :    NAMA ANDA
Umur                      :    UMUR ANDA
Alamat                   :    ALAMAT ANDA
Kelas                      :    KELAS
Jenis Program      :    FREE PASCAL
======================================
Aktivasi data         :   26 Januari 2011
======================================    



SIMPAN FILE TUGAS INI PADA FOLDER PERTEMUAN 1 &
JAWABAN SOAL2 INI DIKUMPULKAN PADA PERTEMUAN BERIKUTNYA.



Pertemuan 2
2.1.        PENGENALAN PENULISAN ANGKA
Kompetensi :
2.1.1        Apa jenis2 karakter angka dan bagaimana spesifikasinya
2.1.2        Apa saja operator hitung pada Free Pascal
2.1.3        Bagaimana cara menuliskan rumus pada Free Pascal

Materi :
2.1.1        Apa Jenis2 karakter angka dan bagaimana spesifikasinya
Dalam hal ini kita batasi beberapa jenis saja

Jenis
Batasan
Ukuran
Byte
0 ... 255
1
Integer
- 2147483648 ... 2147483648
2, 4, 8
Real
- 2,1063+1 ..  2,1063 -1
19 - 20
Untuk penulisan umum bisanya menggunakan integer. Tetapi Tips kita adalah semakin sedikit menggunakan memory itu semakin baik.

2.1.2        Apa saja operator hitung pada Free Pascal
Dalam hal ini kita batasi yang umum saja

Matematika
Free Pascal
Keterangan
+
+
Tambah
-
-
Kurang
x
*
Kali
:
/
Bagi
22
2^2
Pangkat
4^(1/2)
Akar
Lebih kecil
Lebih besar
£
<=
Lebih kecil sama dengan
³
>=
Lebih besar sama dengan
¹
<> 
Tidak sama dengan

2.1.3        Bagaimana cara menuliskan rumus pada Free Pascal
Cara menuliskan rumus adalah sebagai berikut :

Matematika
Free Pascal
Keterangan
X = 2+ 2
X:= 2+2
X sama dengan 2 + 2
X = 4 : 2
X:=4/2
X sama dengan 4 : 2
X = 4 + Nilai
X:=4+nilai
X sama dengan 4 + variabel nilai



Contoh :

Program Hitung_lingkaran;
{*Dibuat oleh : .......... tanggal.......*}

Uses Wincrt;
Conts P =3.14;                                                {P = p =  22/7 atau 3,14}
Var jari:byte;                                                   {Jari-jari lingkaran}
Begin
           Writeln(‘Jari-jari         :  ’ ,jari);
           Write(‘Luas lingkaran : ‘ ,p*jari^2);        {Luas = p r2}
End.


Program Hitung_Bujursangkar;
{*Dibuat oleh : .......... tanggal.......*}

Uses Wincrt;

Var lebar, panjang:byte;
          Hasil:byte;

Begin
         Write(‘Pangjang Bujursangkar    : ‘); Read(pangjang);
         Write(‘Lebar Bujursangkar     : ’); Read(lebar);
         Hasil:=panjang*lebar;
         Writeln(‘Luas Bujursangkar    : ‘,Hasil);
End.



2.2.        PENGENALAN LOGIKA IF THEN ELSE
Kompetensi :
2.3.1        Apa yang dimaksud logika dalam pemrograman
2.3.2        Bagaimana hierarki IF THEN ELSE

Materi :
2.3.1        Apakah yang dimaksud logika dalam pemrograman
Logika di sini adalah pilihan jawaban jika terjadi dua kemungkinan yang berbeda.

2.3.2        Bagaimana hierarki IF THEN ELSE
Contoh kasus umum adalah :
Jika hari ini hujan agar kita tidak basah maka, kita gunakan payung, jika tidak , harus berteduh sampai hujan selesai.

Dalam logika program maka :
IF kondisi = tidak basah THEN kita gunakan payung ELSE harus berteduh sampai hujan selesai


Contoh 1:
IF  variabel = uji THEN statemen1 ELSE statemen2

Contoh 2:
IF  variabel = uji THEN
Begin
              statemen1 ;
ELSE
              statemen2;
end.

Contoh 2:
IF variabel = uji THEN
begin
           IF variabel = uji2 THEN
           Begin
                        Statemen1;
           End;
ELSE
           Begin
                        Statemen2;
           End;      
end.

2.3.3        Bagaimana cara menggunakan IF THEN ELSE
Perhatikan contoh di bawah ini :

2.3.        PENGENALAN LOGIKA CASE  OF ELSE
Kompetensi :
2.3.1        Bagaimana hierarki CASE OF ELSE
2.3.2        Bagaimana menggunakan CASE OF ELSE
Materi :
2.3.1        Bagaimana hierarki CASE OF ELSE
Sebelum mengenal lebih jauh, maka ada pertanyaan, mengapa kita menggunakan CASE OF ELSE? Pengujian ini dilakukan apabila kita memiliki lebih dari 2 opsi pilihan.

Contoh 1 :
Kita menjual 5 jenis kue, dengan harga :
-       Kue a harga Rp. 50,-
-       kue b harga Rp. 100,-
-       kue c harga Rp. 150,-
-       kue d harga Rp. 200,-
-       kue e harga Rp. 250,-
Jika pembeli memilih kue a, maka secara otomatis harganya Rp. 50,-

Contoh  2 :
Menghitung kredit Bank dalam 3 jenis angsuran : 1  satu tahun; 2 dua tahun; 3 tiga tahun. Dengan bunga 2% maka dapat diperkirakan :
-       1 tahun adalah HUTANG / 12 bulan + 25% x HUTANG
-       2 tahun adalah HUTANG / 24 bulan + 25% x HUTANG
-       3 tahun adalah HUTANG / 36 bulan + 25% x HUTANG

2.3.2        Bagaimana menggunakan CASE OF ELSE
Dari contoh kasus di atas maka dapat kita gambarkan dalam listing program adalah :
Contoh 1:
Var kue:string;
begin
            Writeln(‘Beli Kue : ‘,kue);
            CASE kue OF
            A:Writeln(‘Harga adalah = ‘,’Rp. 50,-’);
            B:Writeln(‘Harga adalah = ‘,’Rp. 100,-’);
            C:Writeln(‘Harga adalah = ‘,’Rp. 150,-’);
            D:Writeln(‘Harga adalah = ‘,’Rp. 200,-’);
            E:Writeln(‘Harga adalah = ‘,’Rp. 250,-’);
End.
Catatan : mengapa Rp. 50 ditulis sebagai STRING? Karena Rp. Adalah STRING
Contoh 2:
Var hutang,kredit:integer;
Hasil : integer;
Begin
            Writeln(‘Hutang anda     : ‘,hutang);
            Writeln(‘Lama kredit      : ‘,kredit);
            CASE  kredit OF
            1:hasil:=(hutang/12)+(25%*hutang);
            2:hasil:=(hutang/24)+(25%*hutang);
            3:hasil:=(hutang/36)+(25%*hutang);

            Writeln(‘Angsuran jenis : ‘,kredit, ‘adalah ‘,hasil,’ per bulan’);
ELSE
            Writeln(‘Angsuran tidak dikenal’);
             END;
End.

Soal 1
1.       Nama program adalah TUGAS_1_3
2.       Hasil program adalah sebagai berikut :
==============================================          
INPUT DATA UMUR
==============================================          
Nama Anda            :    .....
Tanggal                  :    ......
Bulan                      :    ......
Tahun                     :    ......
Hari ini Saudara ....  telah berumur ... hari ... bulan ... tahun
==============================================          

Soal 2
Sebuah warnet mempunya 2 paket, paket 1 adalah per jam dan paket 2 adalah  member,
Dengan ketentuan : jika menggunakan paket 1 maka nilai perjamnya adalah Rp. 3.000,- sedangkan untuk paket 2 maka Per 10 jamnya membayar Rp. 25.000,-

Seorang pelanggan telah merental selama 5 jam, maka jika ia menggunakan paket 1 berapa dia harus membayar? Dan jika menggunakan paket 2 berapa dia harus membayar?

Buatlah program paket di atas dengan tampilan sebagai berikut :

==================================
PERHITUNGAN KEUANGAN WARNET
==================================
Nama Pelanggan         :    .....
Lama Rental                 :    .....
Paket digunakan         :    ......                           {berisi 1 atau 2 (jenis paket}
==================================
Biaya rental                 :    Rp. .......                    {hasil jika menggunakan paket 1 atau 2}
==================================


SIMPAN FILE TUGAS INI PADA FOLDER PERTEMUAN 2 &
JAWABAN SOAL2 INI DIKUMPULKAN PADA PERTEMUAN BERIKUTNYA.



Pertemuan 3

3.1.            PENGENALAN looping FOR  TO DO
Kompetensi :
3.1.1        Apa maksud looping
3.1.2        Bagaimana hierarki For To Do
3.1.3        Bagaimana cara menggunakan For to Do

Materi :
3.1.1        Apa maksud looping
Looping adalah perulangan, yang dimaksud perulangan adalah beberapa proses yang dilakukan berkali-kali secara sama, dengan maksud tertentu.

Contoh:
Pada sebuah deret angka antara 1 s/d 10, kita disuruh menentukan mana yang angka ganjil dan mana yang bukan.

Perulangannya adalah dengan menguji angka 1, 2, 3.... 10 dengan ketentuan yang sama, sehingga akan ditemukan angka-angka yang ganjil dalam deret angka tersebut.

3.1.2        Bagaimana Hierarki FOR TO DO
Fungsi For To Do  ada 2 Jenis antara lain :
FOR TO DO = nilai semakin besar
FOR DOWN TO = nilai semakin kecil

Hierarki / Sintaks :
FOR variabel:= awal TO akhir DO statement
FOR variabel:= akhir DOWN TO awal DO statement

FOR variabel:=awal TO akhir                 FOR variabel:= akhir TO awal
Begin                                                                         Begin
         Statement;                                              statement;
End;                                                         end;

3.1.3        Bagaimana cara menggunakan FOR TO DO
Kita coba membuat program sebagaimana contoh kasus pada point di atas:

Contoh :
 Var  i : byte;

Begin
            FOR i:=1 TO 10 DO
            Begin
                        IF i mod 2 <> 0 THEN ELSE writeln(‘angka : ‘,i ,’adalah ganjil’)
End;
End.


3.2.            PENGENALAN looping WHILE DO
Kompetensi :
3.2.1        Mengapa kita gunakan While Do
3.2.2        Bagaimana hierarki While Do
3.2.3        Bagaimana cara menulis While Do

Materi :
3.2.1        Mengapa kita gunakan While Do
Perulangan While Do ini adalah perulangan proses sampai dengan. Bedanya dengan For To Do, batasan akhir atau awal ditentukan jelas, namun untuk While Do ini batasan dapat dilakukan dengan kondisi atau rumus tertentu.

Sehingga perulangan ini dapat digunakan untuk menentukan batasan yang kita sendiri belum jelas jumlahnya.

Contoh1 :
Dari deret angka 1 s/d 100, berapa jumlah angka yang dapat dibagi 5.

Contoh2:
Berapa nilai penyusutan barang selama 5 tahun, jika diketahui bahwa per bulannya terjadi penyusutan sebesar 2%.

3.2.2        Bagaimana hierarki While Do

WHILE ekspresi DO statement

WHILE ekspresi DO
Begin
            Statemen1;
            Statemen2;
            Statement.....
End;

3.2.3        Bagaimana cara menulis While Do
Sebagaimana kasus di atas, maka cara menulis While Do adalah sebagai berikut :

Contoh1 :

Var i, x : integer
Begin
          i := 1;
x:=0;
WHILE  i = 100  DO
Begin
          IF i mod 5 <>0 then
Begin
i:=i+1;
else
X :=x+1;
i:=i+1;
End;
End;
Writeln(‘Jumlah : ‘, x);
End.



Contoh 2:
Var  i,susut:real;
Begin
            While i
End;

5 komentar: