Materi Free Pascal

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


Materi :
1.2.1      Bagaimana struktur listrik acara 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 acara
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 acara sebagai berikut:
Program Halo1;
*Dibuat oleh : ………. tanggal…….*
Uses Wincrt;
Begin
         Writeln(‘Halo calon programer ‘);
         Writeln (‘Nama aku ……’);                               Titik2 tulis nama anda
         Writeln(‘Hoby saya …..’);                                   Tulis hobby anda
         Writeln(‘Mari mencar ilmu Free Pascal dengan aku’);
         Readln;                                                           Tahan tampilan
End.
Program Halo2;
*Dibuat oleh : ………. tanggal…….*
Uses Wincrt;
Var nama, hobby : string;
Begin
         Writeln(‘Halo calon programer’);
         Write(‘Nama aku : ’); Readln(nama);
         Write(‘Hobby aku: ‘);Readln(hobby);
         Write(‘Mari berguru 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 obrolan sampai mengarah pada folder sebagai mana pertemuan kita kali ini yaitu PERTEMUAN 1
Setelah tersimpan, ada beberapa perintah yang harus kita ketahui :
a.    Menjalankan program :  Alt + Run  / Klik Run
Catatan : acara 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 berdikari : Alt + F + D /
Klik File à Command Shell
Kemudian pada C:\FPC\SIMPANAN\PERTEMUAN1>  ketik nama program, misal Halo1, kemudian tekan Enter
Catatan : Setelah kita melaksanakan Run, maka Otomatis acara kita menjadi EXE, artinya sudah menjadi file Eksekutor yang siap dijalankan secara mampu berdiri diatas kaki sendiri 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 aku sampaikan di atas, cara menutup yaitu 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 mampu berdiri diatas kaki sendiri soal-soal berikut ini :
Soal 1
1.    Nama program adalah TUGAS_1_1
2.    Hasil program ialah 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 yaitu TUGAS_1_2
2.    Hasil acara yaitu 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 huruf 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 ialah 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 yaitu 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 bulat : ‘ ,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 akal dalam pemrograman
2.3.2        Bagaimana hierarki IF THEN ELSE
Materi :
2.3.1        Apakah yang dimaksud logika dalam pemrograman
Logika di sini yaitu pilihan tanggapan bila terjadi dua kemungkinan yang berbeda.
2.3.2        Bagaimana hierarki IF THEN ELSE
Contoh perkara umum yaitu :
Jika hari ini hujan semoga kita tidak lembap maka, kita gunakan payung, jika tidak , harus berteduh hingga hujan akhir.
Dalam nalar acara maka :
IF kondisi = tidak berair 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 memakai CASE OF ELSE
Materi :
2.3.1        Bagaimana hierarki CASE OF ELSE
Sebelum mengenal lebih jauh, maka ada pertanyaan, mengapa kita memakai 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,-
       kudapan manis b harga Rp. 100,-
       kue c harga Rp. 150,-
       kudapan manis d harga Rp. 200,-
       kue e harga Rp. 250,-
Jika pembeli memilih kudapan manis 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 mampu diperkirakan :
       1 tahun ialah 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 masalah di atas maka mampu kita gambarkan dalam listing acara ialah :
Contoh 1:
Var kudapan manis:string;
begin
            Writeln(‘Beli Kue : ‘,kue);
            CASE kudapan manis OF
            A:Writeln(‘Harga yaitu = ‘,’Rp. 50,-’);
            B:Writeln(‘Harga yaitu = ‘,’Rp. 100,-’);
            C:Writeln(‘Harga ialah = ‘,’Rp. 150,-’);
            D:Writeln(‘Harga yaitu = ‘,’Rp. 200,-’);
            E:Writeln(‘Harga yaitu = ‘,’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, ‘ialah ‘,hasil,’ per bulan’);
ELSE
            Writeln(‘Angsuran tidak dikenal’);
             END;
End.
Soal 1
1.       Nama acara adalah TUGAS_1_3
2.       Hasil acara yakni 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 yakni per jam dan paket 2 ialah  member,
Dengan ketentuan : jikalau memakai paket 1 maka nilai perjamnya ialah Rp. 3.000,- sedangkan untuk paket 2 maka Per 10 jamnya membayar Rp. 25.000,-
Seorang pelanggan telah merental selama 5 jam, maka bila beliau memakai paket 1 berapa ia harus membayar? Dan jikalau menggunakan paket 2 berapa beliau 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 memakai For to Do
Materi :
3.1.1        Apa maksud looping
Looping adalah perulangan, yang dimaksud perulangan yakni beberapa proses yang dilakukan berkali-kali secara sama, dengan maksud tertentu.
Contoh:
Pada sebuah deret angka antara 1 s/d 10, kita disuruh memilih mana yang angka ganjil dan mana yang bukan.
Perulangannya yakni 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 final DO statement
FOR variabel:= final DOWN TO awal DO statement
FOR variabel:=awal TO tamat                 FOR variabel:= final TO awal
Begin                                                                         Begin
         Statement;                                              statement;
End;                                                         end;
3.1.3        Bagaimana cara memakai FOR TO DO
Kita coba membuat acara sebagaimana contoh masalah 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 yakni perulangan proses sampai dengan. Bedanya dengan For To Do, batasan selesai atau awal ditentukan terperinci, namun untuk While Do ini batasan dapat dilakukan dengan kondisi atau rumus tertentu.
Sehingga perulangan ini dapat digunakan untuk memilih 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, jikalau diketahui bahwa per bulannya terjadi penyusutan sebesar 2%.
3.2.2        Bagaimana hierarki While Do
WHILE verbal DO statement
WHILE lisan DO
Begin
            Statemen1;
            Statemen2;
            Statement…..
End;
3.2.3        Bagaimana cara menulis While Do
Sebagaimana perkara di atas, maka cara menulis While Do yaitu 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;