Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu
bahasa pemrograman. Sebagai contoh tipe data integer dan char. Tipe data composite
adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive. Contohnya
tipe data string (bentukan dari tipe data char)
Algoritma
Aljabar
Pseudocode :
MENENTUKAN KELULUSAN
Deklarasi :
Nama : string
Tugas, UTS, UAS: integer
Nilai : real;
Keterangan : string
Deskripsi :
read (nama, Tugas, UTS, UAS)
If nilai >= 70 Then
keterangan = ‘LULUS’
Else
keterangan = ‘TIDAK LULUS’
write29(nama,
Sabtu, keterangan)
Januari 2022 Syamsuardi, S.Pd, S.Kom 29
Writing is twice speaking
Desainlah pseudocode
Pseudecode :
Niklaus Emil Wirth (lahir 15 Februari 1934) adalah seorang ilmuwan komputer
Swiss. Dia telah merancang beberapa bahasa pemrograman, termasuk Pascal,
dan memelopori beberapa topik klasik dalam rekayasa perangkat lunak. Pada
tahun 1984, ia memenangkan Penghargaan Turing, yang secara umum diakui
sebagai penghargaan tertinggi dalam ilmu komputer,karena mengembangkan
rangkaian bahasa komputer yang inovatif.
Aplikasi ini pertama sekali dirilis pada tanggal 26 Februari 2017 dan terakhir
diperbaharui pada tanggal 17 Maret 2018. Aplikasi ini sudah diunduh lebih dari
500.000 unduhan dengan ukuran file sekitar 5,11 MB dalam versi 4.32.
Diharapkan versi ini akan dikembangkan lagi di tahun 2020 ini. Perhatikan,
Aplikasi Pascal Editor and Compiler Programming ini adalah salah satu aplikasi
Android terbaik untuk belajar bahasa pemrograman Pascal atau disingkat Pascal
on Sabtu, 29 Januari 2022
Android. Syamsuardi, S.Pd, S.Kom 36
Keunggulan Pascal on Android
Kompilasi program tanpa hubungan internet
Ketika kita mengeksekusi compiler Pascal on Android, kita tidak harus terhubung dengan internet
(status offline).
Memudahkan mengetahui kesalahan ketika compiler
Aplikasi ini mengetahui dimana posisi kesalahan ketik (error), sehingga mempercepat dan
memudahkan proses mengedit kesalahan.
Fitur smart yang banyak
Terdapat fitur pintar (smart) yang tersedia pada aplikasi ini, diantaranya adalah sebagai berikut.
a) Menu File (icon folder): membuat file baru (New), membuka file (Open File), menyimpan
(Save), menyimpan sebagai (Save as) dan menyimpan secara otomatis (Auto save file).
b) Menu Edit (icon pensil) : terdapat menu Undo, Redo, Paste Copy all, dan Open drawer. Open
drawer sendiri berisi sejumlah fasilitas seperti Compile, Run, Debug program, Code sample
berada di bagian Code. Kemudian di bagian Tool terdapat Find, Find/Replace, Goto line, Format
code, Insert url media, Insert color. Pada bagian Code editor berisi Code theme and font dan
Setting. Pada bagian Data berisi Help me translate app. Pada bagian Information berisi Report
bug, Information, Rate app dan More app.
c) Auto recommended/saran : menampilkan pop up windows kecil yang menunjukkan kata-kata
yang bertepatan dengan kata yang diketik.
d) Fitur lainnya
Sensor, baterai, rekaman audio, kamera, tersedia bahasa C/C++ N-IDE released (support array
with char index).
e) Perpustakaan (library)
Konversi text to speech, mendukung kendali getaran, mendukung pengolahan sensor Android,
membantu memberitahu tampilan di status bar, dapat bekerja di clipboard Android, mengambil
informasi perangkat baterai.
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 37
Aturan Dasar Penulisan Kode Pascal
Kode program Pascal atau sintaksis Pascal, memiliki aturan-aturan
penulisan yang harus ditaati. Kalau tidak, kode program akan salah (error).
Aturan-aturan ini dibagi menjadi tujuah bagian, agar mudah dipahami.
1. Judul program
Judul program Pascal bersifat opsional. Porgram masih dapat berjalan,
meskipun belum diberikan judul. Namun, agar terlihat lebih bagus,
sebaiknya diberikan judul.
Judul program ditulis pada bagian teratas.
Program informatika_SMA_2022;
Nama program ditulis setelah kata kunci program. Lalu, apabila lebih dari
dua suku kata, maka dipisah dengan garis bawah (_) seperti contoh di atas.
Input
Input adalah menerima suatu masukan data dari keyboard. Perintah bahasa pascal
untuk melakukan langkah ini antara lain sebagai berikut.
1. Readln adalah suatu perintah untuk memasukkan data dengan tipe sesuai
dengan data yang dilewatkan padanya. Contoh : readln (X); (artinya mengambil
masukan dari keyboard untuk disimpan di variabel X).
2. Readkey adalah perintah untuk memasukkan data bertipe karakter dan berfungsi
sebagai Right Value dari penugasan (Assigment) dan berada pada unit Uses Crt.
Contoh : Ch := Readkey; (artinya ch bertipe data karakter )
3. Keypressed adalah sama dengan readkey tetapi data ini menghasilkan tipe data
boolean dan mendeteksi jika terjadi penekanan tombol keyboard maka akan
menghasilkan nilai TRUE (biasanya dalam penggunaan looping until). Contoh :
Until Keypressed.
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 46
Output
Output adalah suatu proses menampilkan data pada layar komputer, perintah
bahasa pascal untuk melakukan langkah ini antara lain :
1. Write adalah perintah untuk menuliskan suatu data yang dilewatkan
kepadanya dan setelah penulisan dilakukan posisi pointer atau kursor berada di
sebelah kanan data yang kita tulis. Data yang kita tulis boleh lebih dari satu
dengan menggunakan pemisah tanda koma (,).
Contoh : Write(‘Selamat Informatika 2029‘);
Write(‘Nama Siswa : ‘); Write(‘ Hasil penjumlahan : ‘,C);
2. Writeln adalah perintah yang sama dengan write perbedaannya terletak pada
penempatan pointer penulisan setelah suatu data dituliskan ke layar dan posisi
kursor berada di sebelah kiri pada baris setelahnya.
Contoh : Writeln(‘ ‘); Writeln(‘Perhitungan Total Gaji Karyawan‘);
Writeln(‘ ‘);
Kata-kata Cadangan (Reserverd Words)
Kata-kata umum yang dicadangkan dari program Pascal. Kita terlarang
menggunakannya sebagai nama variabel.
?
var a,b, y : integer;
Begin
writeln;
clrscr; {Bersihkan layar}
write('Input nilai a =');
readln(a);
write('Input nilai b =');
readln(b);
writeln;
y := 6*a + 2*b; {Proses}
writeln('y = 6a + 2b');
writeln('y = ',y); {Output}
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
• Jika kondisi1 benar, maka “pernyataan1” akan dikerjakan dan pilihan lain akan diabaikan (tidak dibaca).
• Jika kondisi1 Salah, maka kondisi2 akan diperiksa. Jika kondisi2 benar, maka “pernyataan2” akan dikerjakan dan
pilihan lain akan diabaikan (tidak dibaca).
• Jika kondisi2 Salah, maka kondisi berikutnya akan diperiksa. dan seterusnya.
Sabtu, 29 Januari
• Jika kondisi (n 2022 Syamsuardi,
– 1) Salah, maka pernyataan n akan S.Pd, S.Kom
dikerjakan. 62
1. Kita membuat program untuk membaca bilangan bulat, lalu di tentukan
apakah bilangan tersebut positif, negatif atau nol.
Pembahasan :
Karena program akan berjalan
secara sekuensial maka prosesnya adalah
Flowchart ▪ Jika bil > 0, maka bilangan tersebut adalah
positif
▪ jika bil < 0, maka bilangan negatif
▪ jika bil = 0, maka bilangan positif.
Expression adalah ‘sesuatu’ yang akan diperiksa nilainya. Jika nilai dari
expression ini sama dengan kondisi 1, maka yang dijalankan adalah (kode
program 1), jika sesuai dengan kondisi 2, maka yang akan dijalankan adalah
(kode program 2), dan seterusnya
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 66
Buatlah narasi, flowchart dan kode program Pascal untuk menghitung Luas, Volume, dan
Keliling suatu Balok dengan tampilan Daftar Pilihan sebagai berikut.
Jika kita menginput data panjang, lebar, dan tinggi balok, maka program akan menampilkan
Daftar Pilihan :
1 artinya program akan menghitung Luas Balok
2 artinya program akan menghitung Volume Balok
3 artinya program akan menghitung Keliling Balok
4 artinya keluar dari program.
Pembahasan :
Narasi :
• Mulai
• Deklarasikan variabel p,l,t, v,ls,k, vk (variabel kontrol)
• Input nilai panjang, lebar, dan tinggi balok
• Tampilkan menu Pilihan
• Input nilai variabel kendali, vk
• Periksa nilai variabel kendali
Jika 1, maka kerjakan pilihan-1
Jika 2, maka kerjakan pilihan-2
Jika 3, maka kerjakan pilihan-3
Jika 4, maka keluar dari program
• Selesai
program struktur_case;
uses crt;
var
grade: string;
begin
clrscr;
write('Grade Anda (A-E): ');
readln(grade);
case (grade) of
'A' : writeln('Sangat Memuaskan');
'B' : writeln('Memuaskan');
'C' : writeln('Cukup Baik');
'D' : writeln('Kurang Baik');
'E' : writeln('Anda tidak lolos');
else
writeln('Format yang Anda masukkan salah');
writeln('Harap input grade berupa huruf: A,
B, C, D, atau E');
end;
readln;
end.
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 69
Perulangan For…to…do (perulangan positif)
For-To-Do adalah perintah perulangan yang digunakan untuk mengerjakan suatu
blok pernyataan secara berulang kali selama syarat kondisi pada for-to-do bernilai
benar atau memenuhi syarat. Jika kondisi tidak memenuhi syarat, maka blok
pernyataan tidak akan dikerjakan dan program akan mengerjakan pernyataan
setelah kata kunci end dari blok pernyataan. Bentuk Perintah :
dengan i = variabel kendali, n1= nilai awal dan n2= nilai batas, dengan n1 < n2
Nilai variabel kendali i secara otomatis akan bertambah satu mulai dari i=n1
sampai i=n2. Selama nilai benar, maka pernyataan-1 akan dikerjakan. Jika i
bernilai salah atau i>n2, maka pernyataan-2 akan dikerjakan. Variabel kendali
pada For-to-do hanya dapat bertipe Integer.
Pembahasan :
Narasi :
1. Mulai
2. Deklarasikan variabel i dan n dengan tipe integer.
3. Input nilai n.
4. Buat perulangan mulai i = 1 s.d i = n Kode program Pascal :
5. Cetak nilai i Program CetakAngka;
6. Ulangi langkah 4 uses crt;
7. Selesai var i,n : integer;
Begin
Flowchart clrscr;
write('Input nilai n = ');
readln(n);
for i:=1 to n do
Begin
write(' ',i); {cetak spasi(jarak)
dan nilai i}
End;
writeln;
writeln('Tekan sembarang tombol
untuk keluar'); readln;
End.
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 72
3. Buatlah narasi, flowchart dan kode program Pascal dengan format hasil keluaran sebagai berikut.
Pembahasan
Narasi : Flowchart
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=1 hingga i=5
4. Buat perulangan kolom dari j=1 hingga j=i
5. Cetak nilai j
6. Ulangi langkah 4
7. Pindah baris
8. Ulangi langkah 3
9. Press any key
10. Selesai
Bentuk keluaran terdiri dari 5 baris dan 5 kolom. Kita harus membuat dua perulangan (loop) for-to-do.
Perulangan pertama menyatakan baris dan perulangan kedua menyatakan kolom. Perulangan baris mulai
1 sampai 5 karena terdiri dari 5 baris sedangkan perulangan kolom mulai dari 1 sampai 1 untuk baris
pertama sedangkan baris berikutnya bertambah 1 kolom ketika berpindah baris. Pada setiap baris, nilai
variabel kendali kolom akan dicetak.
Misalnya :
ketika baris i=1, maka kolom j akan berulang dari j=1 sampai j=1
ketika baris i=2, maka kolom j akan berulang dari j=1 sampai j=2
ketika baris i=3, maka kolom j akan berulang dari j=1 sampai j=3
ketika baris i=4, maka kolom j akan berulang dari j=1 sampai j=4
ketika baris i=5, maka kolom j akan berulang dari j=1 sampai j=5
Nilai i selalu sama dengan nilai akhir j, sehingga perulangan baris adalah For i:=1 to 5 dan perulangan
kolom For j:=1 to i do
:
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 74
Perulangan For….downto…do (perulangan negatif)
For-Downto-Do adalah perintah untuk algoritma perulangan dengan nilai dari
variabel kendalinya secara otomatis berkurang satu. Bentuk Perintah :
dengan k = variabel kendali, n1= nilai awal dan n2= nilai batas, dengan n1 > n2
Nilai variabel k secara otomatis akan berkurang satu mulai dari k=n1 sampai k=n2.
Selama nilai k benar, maka pernyataan-1 akan dikerjakan. Jika k bernilai salah atau k <
n2, maka pernyataan-2 akan dikerjakan.
Pembahasan :
Kita membuat dua variabel : i sebagai variabel counter, dan anak_ayam sebagai variabel penampung
masukan untuk perintah readln(anak_ayam). Perhatikan, perintah writeln(‘Anak ayam turun ‘,i,’
pergi 1, tinggal ‘,i-1); inilah yang menampilkan teks lagu anak ayam yang terus menurun sampai “Anak
ayam turun 1, pergi 1 tinggal 0”.
Kita dapat membuat perulangan dengan for i := anak_ayam downto 1 do. Kita tidak membuat for i :=
anak_ayam downto 0 do, karena di bagian looping nilai i akan dikurangi lagi. Jika Anda melakukan
perulangan sampai 0, lirik lagu terakhir akan menjadi “Anak ayam turun 0, pergi 1 tinggal -1”. Sangat
tidak logis ada anak ayam dengan nilai negatif. Sama seperti FOR TO DO, perulangan FOR DOWN TO
jugaSabtu,
dapat digunakan
29 Januari 2022 untuk nilai negatif. Tentu saja nilai
Syamsuardi, awal harus lebih besar daripada nilai akhir.76
S.Pd, S.Kom
2. Buatlah algoritma narasi, algoritma flowchart dan kode program Pascal untuk menampilkan keluaran
berikut.
Pembahasan :
Hasil keluaran yang diminta berupa urutan angka mulai dari 15 sampai 8, artinya nilai berikutnya
berkurang satu dari nilai di depannya. Untuk menyelesaikan, maka Anda misalkan variabel m untuk
menyimpan nilai awal, m=15 dan nilai akhir disimpan oleh variabel n, n = 8. Kedua variabel harus
bertipe integer.
Flowchart
Narasi :
• Mulai
• Deklarasikan variabel k,m,n dengan tipe integer
• Definisikan nilai m=15 dan n=8
• Buat perulangan mulai dari k=m hingga k=n
• Cetak nilai k Kode program Pascal :
• Selesai Program downtodo;
uses crt;
var k,m,n,b,s,p : integer;
Begin
clrscr;
m:=15; n:=8;
for k:=m downto n do
Begin
write(k,' ');
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
Pada perulangan While-Do, nilai awal dari variabel kendali selalu didefinisikan lebih
dahulu mis x :=0. Kemudian perubahan nilai variabel kendali harus dinyatakan
dalam blok Begin-End. Perubahan nilai x dapat bertambah atau berkurang dan
dapat ditentukan berdasarkan kebutuhan program. Perubahan nilai variabel kendali
bertipe integer dengan perubahan nilai 1 dapat menggunakan perintah berikut.
• inc (x) untuk pertambahan nilai 1
• dec (x) pengurangan nilai 1
Pertambahan atau pengurangan nilai
Sabtu, 29 Januari 2022
selain 1 dinyatakan dengan persamaan linier.
Syamsuardi, S.Pd, S.Kom 78
Misalnya var kendali x dengan pertambahan 4 dinyatakan dengan x := x + 4.
1. Buatlah narasi, flowchart dan kode program Pascal seperti tampilan di bawah ini dengan perulangan
While-Do.
20 21 22 23 24 25 26 27
Pembahasan :
Tampilan keluaran yang diminta menunjukkan bawah nilai awal 20 dan nilai akhir 27 dengan pertambahan
1. Tipe variabel yang digunakan adalah integer. Jadi, Anda harus menentukan nilai awal misalnya a=20
dan nilai akhir a=27. Untuk menampilkan urutan bilangan 20 sampai 27, maka kondisi pada while adalah a
<= 27 dengan pernyataan WHILE a <= 27 DO.
Flowchart
Narasi :
1. Mulai
2. Deklarasikan variabel a dengan tipe integer
3. Definisikan nilai awal a = 20
4. Buat perulangan while dengan kondisi a<=27
5. Cetak nilai a
6. Hitung perubahan nilai a
7. Ulangi langkah 4 Kode program Pascal :
8. Press any key Program While_DO;
uses crt;
9. Selesai
var a : integer;
Begin
clrscr;
a:=20;
While a<=27 Do
Begin
write(' ',a);
inc(a);
End;
writeln;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar’);
readln;
Sabtu, 29 Januari 2022 End. Syamsuardi, S.Pd, S.Kom 79
Hasil kode Pascal
2. Jelaskan kode program Pascal berikut.
Pembahasan :
Untuk membuat perulangan hitung mundur, diubah nilai
awal variabel counter dan kondisi syarat dari
perulangan WHILE DO.
Kita memulai variabel i dari 100. Memeriksa kondisi while i >= 0 do artinya,
perulangan akan dijalankan selama nilai i lebih besar dari 100. Bagaimana
agar kondisi ini dapat bernilai FALSE? Gunakanlah i:= i – 1, sehingga
dalam setiap perulangan, nilai i selalu berkurang 1, dari 100, ke 99, ke 98,
dan seterusnya hingga berhenti saat i = 0, yaitu ketika syarat i >= 0
menghasilkan FALSE.
Sabtu, 29 Januari 2022 Syamsuardi, S.Pd, S.Kom 80
Perulangan Repeat..Until
Pada perulangan Repeat-Until, kondisi perulangan diletakkan pada bagian akhir perulangan
sedangkan pada While-Do, terletak di bagian awal. Blok pernyataan diantara repeat dan until
akan dikerjakan secara berulang kali selama <kondisi> pada UNTIL bernilai SALAH. Jika
kondisi BENAR, maka perulangan selesai. Nilai awal ditentukan pada bagian awal sebelum
Anda kunci repeat, kemudian perubahan nilai variabel kendali dilakukan di dalam blok repeat-
until. Variabel kendali pada kondisi Until dapat bertipe integer, real, atau char. Bentuk
Perintah :
Dalam perulangan repeat-until,
pernyataan-1 dikerjakan satu kali
lebih dahulu, kemudian nilai
variabel kendali diperiksa pada
bagian akhir perulangan. Jika
kondisi pada until bernilai salah,
maka ulangi kerjakan pernyataan-
1. Jika bernilai benar, maka
kerjakan pernyataan-2. Kata
begin-end yang mengapit
pernyataan-1 dapat dihilangkan
atau dihapus karena pernyataan-1
sudah ditandai dengan blok
repeat-until.
Pembahasan :
Tampilan keluaran berupa urutan bilangan genap positif dengan nilai awal 2 dan nilai akhir 12
pertambahan 2. Jadi, nilai awal variabel kendalil i = 2, kemudian i mengalami perubahan nilai dengan
pernyataan i = i + 2. Untuk memeriksa nilai i, maka pernyataan kondisi pada until adalah i > 12.
For-To-Do :
Perulangan langsung. Program langsung mencetak sesuai dengan kondisi yang telah
ditetapkan. Diletakkan pada program utama
Program For_to_do;
uses crt;
var
i := integer;
Begin
clrscr;
for i := 1 to 5 do
writeln (‘FOR TO DO’);
readln;
End.
Repeat..Until
Program segitiga_bilangan;
Pembahasan : Uses crt;
Var
i, j :integer;
begin
clrscr;
i:=1;
repeat
j:=1;
repeat
write(i*j,’ ‘);
inc(j);
until(j>i);
inc(i);
writeln; {untuk ganti baris}
until (i>5);
readln;
end.
Sintaksis Array
Ketika kita mendeklarasikan array ke compiler, maka kita menciptakan hotel dengan nomor
kamar yang tersedia. Setelah berhasil mendeklarasikan array, maka kita dapat memberikan
nilai untuk setiap kamar-kamar yang tersedia dalam hotel yang tadi kita deklarasikan. Tipe
data array yang dapat digunakan antara lain: int, char, double, string, dan boolean.
Berikut cara mendeklarasikan array dalam kode program Pascal.
nama_Array: array[panjang_indeks] of tipe_Array
Array berdimensi 1 (satu) adalah : X : array [0..9] of integer;
Pada contoh di atas Anda telah mendeklarasikan variabel X bertipe Array yang memiliki
indeks 0 – 9 (10 larik) dengan tipe data integer. Artinya Anda dapat menyimpan 10
angka.
Berikut ini cara memberikan nilai pada array.
X[0] := 9; X[1] := 8; X[2] := 7; X[3] := 10; X[4] := 8;X[5] := 7; X[6] := 9; X[7] := 7; X[8] := 8;
X[9] := 10;
Perhatikan, X[0] := 9 menunjukkan bahwa X adalah nama larik, 0 adalah nilai indeks, 10
menunjukkan nilai integer. Sedangkan untuk mengakses nilai dari variabel : …
menggunakan namaVariabel[nomorIndeks], contoh: Writeln(X[0]);
Dalam praktiknya, array dipasangkan dengan satu fungsi perulangan.
Pembahasan :
Array satu dimensi berupa data baris berisi data bilangan bulat (integer) mulai dari 1 hingga 10. Data tersebut
berjumlah 10 data dan sebagai data terakhir adalah 10. Sehingga variabel array dideklarasikan dengan bentuk
N : array[1..10] of integer. Gunakan perintah write untuk mencetak data pada satu baris dan
tambahkan spasi untuk jarak antar data. Misalnya write(j, ‘ ‘) artinya cetak data j dan spasi. Spasi harus diapit
oleh tanda petik satu.
Kode program Pascal :
Narasi : Program ARRAY_DASAR;
1. Mulai uses crt;
2. Deklarasikan variabel array dengan tipe integer, variabel var j : integer;
kendali j untuk perulangan for n : array[1..10] of integer;
3. Mulai perulangan j, dengan j = 1 sampai j = 10 Begin
4. Tentukan nilai n[j]:=j clrscr;
5. Cetak nilai n[j] Flowchart writeln;
6. Ulangi langkah 3 for j:=1 to 10 do
7. Hentikan proses sementara Begin
8. Selesai n[j]:=j;
write(n[j],’ ‘);
End;
writeln;writeln;
writeln(‘Tekan sembarang tombol’);
readln;
End.