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;
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;