Modul Pascal Dan Algoritma
Modul Pascal Dan Algoritma
Tujuan : Untuk mengarahkan, mengendalikan, serta meningkatkan cara berfikir logis dalam
rangka mempersiapkan diri pelaksanaan penyusunan prog.
Sasaran : Diharapkan para siswa dapat menyumbangkan daya pikir logis, sistematis dan
terstruktur dengan lebih baik.
Program : Sekumpulan instruksi atau perintah yang disusun secara sistematis, logis dan
terstruktur untuk mencapai tujuan tertentu.
Flowchart : Menggambarkan alur logikanya menggunakan simbol simbol tertentu sesuai dengan
jenis perintahnya.
Algoritma : Menggambarkan alur logikanya menggunakan notasi yang bersesuaian dengan
penulisan suatu bahasa tertentu atau bahasa pemrograman.
Algoritma
Dalam penyusunan algoritma banyak digunakan istilah istilah dalam penulisan instuksi / perintah
perintahnya, diantaranya :
Contoh variable variable yang benar ( Valid / sah ) dan salah ( Unvalid / tidak sah )
1. Harga-Barang 5. 2Alamat 10. Nilai1
2. Harga_Barang 6. Rata rata 11. Nilai - 2
3. NamaBenda 7. Persen % 12. Nama
4. Alamat 1 8. Jumlah 13. Hasil A * B
9. Lotus 123 14. 123 Lotus
No Operator Keterangan
1. + Penjumlahan
2. - Pengurangan
3. * Perkalian
4. / Pembagian
5. **,^ Pemangkatan
6. Mod Bagi sisa
7. ( ) Pengelompokan
Operator String
Yaitu operator yang hanya digunakan untuk operasi string simbolnya yaitu : tanda jumlah ( + ) maksudnya
untuk menggabungkan 2 buah string atau lebih.
Contoh :
Diketahui : S := SMA;
S1 : = NEGERI;
S2 := 2;
a) S + S1
Hasil : SMA NEGERI
b) S2 + S
Hasil : 2 SMA S + S1 + S2 Hasil : Type Mismatch, karena tipe yang berbeda
Reserved Word
Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam pascal dan juga
mempunyai bentuk serta kegunaan tertentu yang telah didefinisikan oleh Pascal.
Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat digunakan sebagai pengenal
(Identifier). Dalam bahasa pemrograman Pascal,
beberapa Reserved Word dalam Pascal anatra lain:
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word berikut:
ABSOLUTE ASSEMBLER () FAR FORWARD INDEX
Begin
Clrscr;
Writeln ('masukkan nama dan NPM ');
Writeln ('------------------------------');
Write ('nama anda : ');
Readln (nm);
Writeln ('NPM anda : ');
Readln (npm);
End.
Bila dijalankan hasilnya adalah:
masukkan nama dan NPM
------------------------------
nama anda : ( di input )
NPM anda : ( di input )
Hasilnya adalah :
DindaBayiSehatku
Dinda & Bayi Sehatku
Dinda Sehatku
Dinda
Panjangnya string S : 16
Posisi "Sehat" pada nilai S : 7
Hasilnya :
masukkan nilai dari X = -2.5
Nilai X = 2.50
Nilai eksponensialnya = 12,182
Nilai logarima alamnya = 0,196
Nilai integernya = 2.00
Nilai fraksionalnya = 0.50
Nilai X dipangkatkan = 6.250
Nilai X diakarkan = 1.581
Nilai X jika dimasukkan dalam fungsi Sin,Cos,Tangen:
- Sinus = 0.598
- Cosinus = -0.801
- Tangen = 1.190
Contoh :
Progam Man_Data;
Uses Crt;
Type
hari = (hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7)
Var
urutanhr : hari;
Const
namahr : Array [hr1..hr7] of String [6]= ('Senin','Selasa','Rabu','Kamis', 'Jumat','Sabtu','Minggu' );
Begin
Writeln('Daftar Nama Hari);
urutanhr := hr0;
While Urutanhr < hr7 DO
Begin
urutanhr := Succ(urutanhr);
Write('hari ke ',Ord(Urutanhr):2,' adalah ');
Writeln(namahr[urutanhr]);
End;
End.
hasilnya adalah :
Daftar Nama Hari
hari ke 1 adalah Senin
hari ke 2 adalah Selasa
# TextMode [prosedur].
Untuk mengatur lebar layar, 80 kolom atau 40 kolom.
Sintaks: TextMode(Mode: Byte);
Default = C80
# Sound [prosedur].
Untuk mengaktifkan suara (beep) pada internal speaker.
Sintaks: Sound (Hz : word);
Untuk mengnonaktifkannya, gunakan statemen NoSound.
Contoh :
Program Layar2;
Uses Crt;
Begin
ClrScr;
Window (5,5,20,75);
TextBackGround(Red); {anda juga bisa menggunakan angka (4)}
TextColor(Yellow);
Sound (220);
GotoXY(10,7);
Writeln('I Love Dinda');
GotoXY(11,7);
Writeln('Bayi Sehatku');
NoSound;
End.
SOAL LATIHAN
1. Mencari nilai Sinus, Cosinus, dan Tangen dengan sudut diinput.
2. Mencari akar dan kuadrat dari suatu nilai (nilai diinput).
3. Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui keyboard (diinput). Nilai pecahan
tersebut dibulatkan sampai 3 angka dibelakang koma (,).
4. Tampilkan nama dan NPM anda di dalam window, dan terletak pada tengah-tengah layar.
5. Tampilkan tulisan 'I Love Dinda di dalam window pada pojok kanan atas dengan ukuran window sama dengan
tulisan tersebut.
6. Buatlah program untuk menggabungkan 2 buah kata yang diinput. Setiap kata yang diinput harus berada didalam
window yang dan hasilnya berada pada window yang berbeda pula.
7. Buatlah program untuk menampilkan window secara acak dengan warna yang berbeda.
PERCABANGAN IF - THEN
Bentuk struktur If Then adalah sebagai berikut :
If Kondisi Then
Statement
Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka
statement yang mengikuti Then akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan
diproses statement berikutnya.
Misalnya :
If Pilihan = 2 Then
Begin{ jika kondisi terpenuhi, Yaitu jika pilihan = 2 }
......
......
End
Else{ jika kondisi tidak terpenuhi, yaitu jika pilhan
tidak sama dengan 2}
Begin
.......
.......
End;
Contoh Program :
Uses Crt;
Var
Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai); { Pemasukan data }
If nilai > 60 Then {seleksi kondisi variabel nilai}
Writeln('Lulus') { Dilaksanakan jika nilai lebih besar dari 60 }
Else
Writeln('Tidak lulus'); { Dilaksanakan jika variabel nilai lebih kecil dari 60 }
End.
Hasil :
Jika kita Memasukan 40 pada varibel nilai, Maka program diatas akan mencetak Tidak lulus.
If Kondisi-1 Then Statement-1 Else If Kondisi-2 Then Statement-2 If Kondisi.. Then Statement . Else
Statement-Terakhir
CASE - OF
Struktur Case Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen
yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai
selector akan diproses sedang statemen yang lainya tidak.
Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real.
Contoh program ;
Program nilai;
Var
nil : Char ;
Begin
Write ('Nilai Numerik yang didapat :');
Readln (nil);
Case nil Of
'A': Writeln ('Sangat Baik);
'B': Writeln('Baik);
'C': Writeln('Cukup');
'D': Writeln('Kurang');
'E': Writeln('Sangat Kurang');
End;
End.
Hasil :
Nilai Numerik yang didapat : B Input
Baik
1. Perulangan For.
Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen
berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan
negatif.
a. Perulangan For positif
Penjelasan :
Berati statemen I Love Dinda akan diulang sebanyak 5 kali yaitu dengan
menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
Contoh dengan menggunakan blok statement:
cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok diakhiri
dengan End;
Uses Crt;
Var
i : Integer;
Begin
For i:= 1 To 10 Do
Begin
Writeln ('I Love Dinda'); { blok statement }
End;
End.
Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat disini
untuk penggunaan blok pada perulangan For biasanya mempunyai banyak statement [lebih
dari 1 statement]
Contoh 3 :
Penggunaan perulangan For dalam blok statement untuk membuat tabel
Uses Crt;
Var
a,b,c : Integer;
bagi : Real;
Begin
Writeln('----------------------------------------------');
Writeln(' a a*a a*a*a 1/a ');
Writeln('----------------------------------------------');
For a := 1 To 10 Do
Begin
b:= a*a;
c:=a*a*a;
bagi := 1/a;
Writeln(a:4,b:10,c:10,bagi:12:3);
End;
Writeln ('----------------------------------------------');
End.
maka hasilnya :
----------------------------------------------
a a*a a*a*a 1/a
----------------------------------------------
1 1 1 1.000
2 4 8 0.500
3 9 27 0.333
Hasil :
1112
2122
3132
2. Perulangan While - Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program
dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi
tersebut. Perulangan While Do tidak dilakukan jika kondisi tidak terpenuhi.
Contoh :
Uses Crt;
Var i : Integer;
Begin
i := 0;
While < 5 do
Begin
Write (i:3);
Inc (i); { sama dengan i:=i+1 }
End;
End.
Contoh :
Uses Crt;
Var
a, b : Integer;
Begin
ClrScr;
a:=1;
b:=1;
While a < 4 Do{ loop selama a masih lebih kecil dari 4 }
Begin
a := a+1;
While b < 3 Do{ loop selama b masih lebih kecil dari 3 }
Begin
Write (a:3,b:2);
b:=b+1;
End;
End;
Readln;
End.
hasil :
1
2
3
4
5
SOAL LATIHAN
Buatlah program untuk soal dibawah ini dengan tampilan sebagus mungkin (gunakan perintah Window, Textcolor dll). Jumlah suku
sesuai dengan input dari keyboard.
1. Buat deret hitung 3,7,11,15,......................=? Program 10. Buat deret seperti berikut 1, 1, 1, 2, 2, 3, 6, 4, 24,
akan berhenti jika pada pertanyaan "Hitung Lagi 5..........=? Program akan berhenti jika pada
[Y/T] ?" diisi huruf T. pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
2. Buat deret ukur 3,9,27,................................=? 11. Buatlah program untuk mencari faktorial, sesuai
Program akan berhenti jika pada pertanyaan dengan input yang diminta.
"Hitung Lagi [Y/T] ?" diisi huruf T. Buatlah program huruf yang berjatuhan sehingga
3. Buat tabel deret bergoyang 1,-2,4,-8,...........=? membentuk suatu kalimat yang telah diinput dari
Program akan berhenti jika pada pertanyaan keyboard.
"Hitung Lagi [Y/T] ?" diisi huruf T.
4. Buat deret suku harmonis 1,1/2,1/3,.............=?
Program akan berhenti jika pada pertanyaan
"Hitung Lagi [Y/T] ?" diisi huruf T.
5. Buat deret fibbonaci 1,1,2,3,5,.....................=?
Program akan berhenti jika pada pertanyaan
"Hitung Lagi [Y/T] ?" diisi huruf T.
6. Buat deret seperti berikut 1,-2,3,-4,.............=?
Program akan berhenti jika pada pertanyaan
"Hitung Lagi [Y/T] ?" diisi huruf T.