Kenapa membuat jurnal pascal ini karena sebagai note pribadi pada waktu pertama kuliah, kadang-kadang suka lupa jadinya di taro aja di jurnal ini, tengcu….
⇒ Pascal ini merupakan salah satu bahasa pemrograman yang sering digunakan pada saat seseorang mempelajari algoritma dan juga pemrograman terutama di bidang akademis.
Untuk menjalankan pascal memerlukan sebuah compiler agar dapat di mengerti komputer apa yang telah dibuat pada pemrograman tersebut, saat ini compiler yang masih sering di gunakan yaitu Freepascal
Install Freepascal on ubuntu
Karena laptop saya ubuntu jdinya installny pke ubuntu aja ehehehe….
#Ekstrak File
tar -xf fpc-3.2.0-x86_64-linux.tar
#install
sudo ./fpc-3.2.0-x86_64-linux/install.sh
#Enter trus aja...
#Kode Editor pascal
fp
fp test.pas
#Execute compile pascal
fpc test.pas
#Open compile
./test.pas
Pertemuan#1 (Pengenalan1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| //Deklasi Program, termasuk deklasi variable
program Pertemuan1;
{library standar pascal}
uses crt;
{*Tubuh (main) Program*}
begin
write('Hello ');
Writeln('World');
WriteLn('Masuk pak eko');
ReadLn;
end.
|
- Struktur Pascal : Deklasi Program & Variable & Tubuh (main) Program
write
: Untuk menampilkan output tanpa enter setelahnyawriteln
: Untuk menampilkan output dengan enter setelahnyareadln
: Untuk membaca baris inputan read(nama);
misal “Masukan Nama : ”, maka nama yg sudah di masukan tidak akan terbaca. Tanpa readln
Program akan tetap berjalan jika nilai tersebut sudah ada sebelumnya.- Comment Pascal,
// {} {**}
Run Program
Pertemuan#2 (Pengenalan2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| //Deklasi Program
program Pertemuan2;
uses crt;
//Deklarasi Variable & Constanta
var
r:integer = 7;
luas:real;
const
phi = 22/7;
{Tubuh (main) Program}
begin
clrscr;
luas:= phi * r * r;
writeln;
writeln ('Mencari Luas Lingkaran');
writeln;
writeln ('phi : ', phi:0:2);
writeln ('Jari-Jari (r) : ', r);
writeLn('Berapa luas lingkaran : ', luas:0:2);
writeLn('Berapa luas lingkaran : ', luas);
writeln;
writeln ('Tugas Pertemuan#2');
writeln;
writeLn('1) 10 div 5 * 4 + 4 - 3 = ', 10 div 5 * 4 + 4 - 3);
writeLn('2) 5 * 10 / 2 - 13 + 7 = ', (5 * 10 / 2 - 13 + 7):0:2);
writeLn('3) ( 10 mod 3 ) + ( 5 * 3 +3 ) = ', (10 mod 3) + (5 * 3 + 3 ) );
writeLn('4) 4.5 * 2 mod 2 = ', trunc(4.5 * 2) mod 2);
writeLn('5) 3 + 5 * 3 < 10 = ', 3 + 5 * 3 < 10);
ReadLn;
end.
|
- Untuk Variable & Constanta di deklarasikan pada awal program
- Nilai Constanta di masukan pada Deklarasi Program menggunakan
=
- Nilai Variable di masukan pada Deklarasi Program menggunakan
=
atau Main program menggunakan :=
clrscr
: Untuk clear text atau membersihkan layar, hanya hasil output yg di tampilkan.phi:0:2
: Membatasi angka di belakang koma.trunc(4.5 * 2)
: trunc
untuk mengubah nilai menjadi bilangan integer karena operator mod
hanya berlaku dengan bilangan integer.’div
: Total hasil pembagian & mod
: Modulus sisa bagi- Tingkat priortas operator
Operator | Prioritas |
---|
not | 1 |
* . / . div , mod , and | 2 |
+ , - , or | 3 |
= , <> , < , ≤ , ≥ , > | 4 |
Run Program
Pertemuan#3 (Pengenalan3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| program Pertemuan3;
uses crt;
var
angka_int: integer = 12345;
angka_intlongint: Longint = 1234567891;
angka_int64: int64 = 123456789123456789;
angka_real: real = 1234.123456;
nama, alamat : String;
umur : integer;
ipk : real;
begin
clrscr;
writeln('Format Bilangan Integer/Real');
writeln('=======================');
writeln(angka_int);
writeln(angka_intlongint);
writeln(angka_int64);
writeln(angka_int:4);
writeln(angka_int:10);
writeln();
writeln(angka_real);
writeln(angka_real:2:4);
writeln(angka_real:10:2);
writeln();
writeln('Input Data Mahasiswa');
writeln('=======================');
write('Nama : '); readln(nama);
write ('Alamat: '); readln (alamat);
write('Umur: '); readln (umur);
write('IPK: '); readln (ipk);
writeln();
writeln('=========Hasil==========');
writeln('Nama : ', nama, ' . Alamat : ', alamat);
writeln('Umur : ', umur);
writeln('IPK : ', ipk:0:2);
end.
|
- Tipe Data Integer menampung 16-bit, Tipe Data Longint menampung 32-bit, Tipe Data int64 menampung 64-bit. Setipa tipe data ada maximal untuk menampung nilainya jika melebihi maka output tidak sesuai dengan nilai yang di inputkan.
angka_int:4
: angka:jumlah_digit_nilaiangka_real:2:4
: angka:jumlah_digit_nilai:jumlah_digit_dibelakang_koma- input nilai
read readln
harus membuat terlebih dahulu variable dan tipe data. read
: input nilai tanpa enter setelahnyareadln
: input nilai dengan enter setelahnya
Run Program
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| program Latihan_Pertemuan3;
uses crt;
var
p, l , t ,volume: integer;
c, f, r : real ;
begin
clrscr;
writeln('=========Latihan1==========');
writeln('Menghitung Volume Balok, Masukan nilai yang ingin dihitung:');
write('Panjang : '); readln (p);
write('Lebar : '); readln (l);
write('Tinggi : '); readln (t);
// Volume Balok
volume := p*l*t;
writeln();
writeln('----------Hasil----------');
writeln('Volume = p * l * t');
writeln(' = ',p,' * ',l,' * ',t);
writeln(' = ',volume);
writeln();
writeln('=========Latihan2==========');
writeln('Konversi Suhu Celcius to Fahrenheit & Kelvin, Masukan nilai yang ingin dihitung:');
write('Celcius (°C) : '); readln (c);
// Celcius to Fahrenheit
f := (c*1.8)+32;
// Celcius to Kelvin
r := c * 4/5;
writeln();
writeln('----------Hasil----------');
writeln('F = (Celsius * 1.8) + 32');
writeln('F = ( ',c:0:2,' * 1.8) + 32');
writeln('F = ', f:0:2, ' °F');
writeln();
writeln('R = Celsius * 4/5');
writeln('R = ',c:0:2,' * 4/5');
writeln('R = ', r:0:2, ' °R');
end.
|
Run Program
Pertemuan#4 (If_Else)
Struktur Kondisi
if (kondisi) then
begin
(kode program 1)
end
else if (kondisi) then
begin
(kode program 2)
end;
else
begin
(kode program 2)
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| program Latihan_Pertemuan4;
uses crt;
var
tahun : integer;
input1, input2 : real;
begin
clrscr;
writeln('=========Latihan1==========');
writeln('Program apakah tahun yang di inputkan termasuk tahun Kabisat!');
write ('Input Tahun : '); readln (tahun);
if (tahun mod 4 = 0) then
begin
writeln('Tahun ', tahun, ' Adalah Tahun Kabisat')
end
else
begin
writeln('Tahun ', tahun, ' Bukan Tahun Kabisat')
end;
writeln('=========Latihan2==========');
writeln('Tentukan angka terbesar dari 2 buah angka yang diinputkan!');
write ('Input angka pertama : '); readln (input1);
write ('Input angka kedua : '); readln (input2);
if (input1 > input2) then
begin
writeln('Angka terbesar adalah : ', input1:0:2)
end
else
begin
writeln('Angka terbesar adalah : ', input2:0:2)
end;
end.
|
Run Program
Pertemuan#5 (If_Else if_Else)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| program Latihan_Pertemuan5;
uses crt;
var
tugas,uts,uas,nilai : real;
lulus,grade : string;
begin
clrscr;
write('Input Nilai Tugas : '); readln (tugas);
write('Input Nilai UTS : '); readln (uts);
write('Input Nilai UAS : '); readln (uas);
nilai := (20/100) * tugas + (30/100) * uts + (50/100) * uas;
if (nilai >= 70) then
lulus := 'LULUS'
else
lulus := 'Tidak Lulus';
if (nilai <= 100) and ( nilai >= 91) then
begin
grade := 'A'
end
else if (nilai <=90) and ( nilai >= 76) then
begin
grade := 'B'
end
else if (nilai <=75) and (nilai >= 61) then
begin
grade := 'C'
end
else if (nilai <=60) and (nilai >= 41) then
begin
grade := 'D'
end
else if (nilai <=40) and (nilai >= 0) then
begin
grade := 'E'
end;
writeln ('Nilai Akhir : ', nilai:0:2);
writeln ('Nilai Huruf : ', grade);
writeln ('Selamat Anda Dinyatakan ', lulus);
end.
|
- Membuat 2 kondisi dalam 1
if
menggunakan operator logika and/or/not
Run Program
Pertemuan#6 (Nested If)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| program Latihan_Pertemuan6;
uses crt;
var
golongan,pendidikan : string;
gapok, tunjangan : int64;
begin
clrscr;
write('Input Golongan Karyawan (A/B) : '); readln (golongan);
write('Input Pendidikan Karyawan (SMA/S1) : '); readln (pendidikan);
if (golongan = 'A') then
begin
if (pendidikan = 'SMA') then
begin
gapok := 3000000;
tunjangan := 2000000;
end
else
begin
gapok := 4000000;
tunjangan := 3000000;
end
end
else
begin
if (pendidikan = 'SMA') then
begin
gapok := 4000000;
tunjangan := 3000000;
end
else
begin
gapok := 6000000;
tunjangan := 5000000;
end
end;
writeln('Gaji yang di dapat adalah : ', gapok+tunjangan);
end.
|
Run Program
Pertemuan#7 (Case_of_else)
Case-of-Else adalah bentuk pemilihan / percabangan yang lebih sederhana daripada IF-THEN-ELSE.
// Perbandingan struktur if dengan case-of
case (expression) of
kondisi 1 : (kode program 1)
kondisi 2 : (kode program 2)
kondisi 3 : (kode program 3)
kondisi 4 : (kode program 4)
else
(kode program)
end
------------------------------------------------
if (kondisi) then
begin
(kode program 1)
end
else if (kondisi) then
begin
(kode program 2)
end;
else
begin
(kode program 2)
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| program Latihan_Pertemuan7;
uses crt;
var
bulan : integer;
begin
clrscr;
write('Input sebuah angka antara 1 - 12 : '); readln (bulan);
case (bulan) of
1 : writeln('Bulan ke ', bulan, ' adalah : Januari');
2 : writeln('Bulan ke ', bulan, ' adalah : Februari');
3 : writeln('Bulan ke ', bulan, ' adalah : Maret');
4 : writeln('Bulan ke ', bulan, ' adalah : April');
5 : writeln('Bulan ke ', bulan, ' adalah : Mei');
6 : writeln('Bulan ke ', bulan, ' adalah : Juni');
7 : writeln('Bulan ke ', bulan, ' adalah : Juli');
8 : writeln('Bulan ke ', bulan, ' adalah : Agustus');
9 : writeln('Bulan ke ', bulan, ' adalah : September');
10 : writeln('Bulan ke ', bulan, ' adalah : Oktober');
11 : writeln('Bulan ke ', bulan, ' adalah : November');
12 : writeln('Bulan ke ', bulan, ' adalah : Desember');
else
writeln('Angka yang anda masukan tidak valid');
end;
end.
|
Run Program
Pertemuan#8 (Tugas_Besar)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| program Tugas_Besar_Pertemuan8;
uses crt;
var
waktu : integer;
jarak, kecepatan : real;
durasi,kalori : integer;
olahraga : string;
usia,langkah : integer;
kategori : string;
olahraga2 : integer;
begin
clrscr;
writeln('=========Soal1==========');
writeln('Menghitung Kecepatan');
write ('Masukan Waktu (menit) : '); readln (waktu);
write ('Masukan Jarak (km) : '); readln (jarak);
kecepatan := jarak/waktu*60;
writeln('Kecepatan rata-rata Anda adalah : ', kecepatan:0:1, ' km/jam');
writeln('=========Soal2==========');
writeln('Menghitung Kalori');
write ('Masukkan durasi olahraga (menit) : '); readln (durasi);
write ('Pilih jenis olahraga (lari/jalan cepat) : '); readln (olahraga);
if (olahraga = 'lari') then
begin
kalori := durasi * 10;
end
else
begin
kalori := durasi * 5;
end;
writeln('Kalori yang terbakar : ', kalori);
writeln('=========Soal3==========');
writeln('Menghitung Kategori kebugaran');
write ('Masukkan usia : '); readln (usia);
write ('Masukkan jumlah langkah harian : '); readln (langkah);
if (usia < 30) then
begin
if (langkah >= 10000 ) then
begin
kategori := 'Sangat Bugar';
end
else if (langkah < 10000) and (langkah >= 5000) then
begin
kategori := 'Cukup Bugar';
end
else
begin
kategori := 'Kurang Bugar';
end
end
else
begin
if (langkah >= 8000 ) then
begin
kategori := 'Sangat Bugar';
end
else if (langkah < 8000) and (langkah >= 4000) then
begin
kategori := 'Cukup Bugar';
end
else
begin
kategori := 'Kurang Bugar';
end
end;
writeln('Kategori kebugaran Anda : ', kategori);
writeln('=========Soal4==========');
writeln('Manfaat Jenis Olahraga');
writeln('Pilih olahraga (1-4)');
writeln('1. Lari');
writeln('2. Bersepeda');
writeln('3. Berenang');
writeln('4. Yoga');
write ('Masukkan pilihan Anda : '); readln (olahraga2);
case (olahraga2) of
1 : writeln('Manfaat : Meningkatkan kesehatan jantung dan stamina.');
2 : writeln('Manfaat : Meningkatkan kekuatan otot kaki dan kebugaran kardio.');
3 : writeln('Manfaat : Melatih seluruh otot tubuh dan meningkatkan daya tahan.');
4 : writeln('Manfaat : Meningkatkan fleksibilitas dan kesehatan mental.');
else
writeln('Pilihan tidak tersedia.');
end;
end.
|
Run Program
Pertemuan#9 (While_do)
While-do (Looping) adalah perulangan yang dilakukan selama kondisi perulangan bernilai true dan pemeriksaan kondisi berada pada awal perulangan baru melakukan action.
Pemrograman Pascal terdapat 3 statement perulangan :
- While-do - Conditional Looping
- Repeat-until - Conditional Looping
- For (for to do & for downto do) - Unconditional Looping
while (condition) do
begin
(kode program yang ingin diulang disini...)
(kode program untuk mengubah condition..)
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| program Latihan_Pertemuan9;
uses crt;
var
kelipatan, batasan, i: integer;
begin
clrscr;
write('Input angka kelipatan yang diinginkan: ');
readln(kelipatan);
write('Input batasan angka yang ingin ditampilkan: ');
readln(batasan);
writeln('Bilangan kelipatan ', kelipatan, ' antara 0 - ', batasan, ':');
i := kelipatan;
while (i <= batasan) do
begin
write(i, ' ');
i := i + kelipatan;
end;
readln;
end.
|
Run Program
Pertemuan#10 (Repeat_Until)
REPEAT UNTIL (Looping) adalah perulangan yang dilakukan selama kondisi perulangan bernilai false, Action terlebih dahulu baru pemeriksaan kondisi berada pada akhir perulangan.
REPEAT
begin
(kode program yang ingin diulang disini...)
(kode program yang untuk mengubah condition..)
end;
UNTIL (condition)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| program Latihan_Pertemuan10;
uses crt;
var
kelipatan, batasan, i: integer;
begin
clrscr;
write('Input angka kelipatan yang diinginkan: ');
readln(kelipatan);
write('Input batasan angka yang ingin ditampilkan: ');
readln(batasan);
writeln('Bilangan kelipatan ', kelipatan, ' antara 0 - ', batasan, ':');
i := kelipatan;
repeat
begin
write(i, ' ');
i := i + kelipatan;
end;
until (i >= batasan) ;
readln;
end.
|
- Program akan diekskusi terlebih dahulu, jika kondisinya true atau berhenti dari looping maka program tetap di ekskusi sekali lalu end.
Run Program
Pertemuan#11 (Contoh_Soal)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| program Latihan_Pertemuan11;
uses crt;
var
tinggi : real;
pantulan : integer;
panjang, lebar, luas : integer;
jawab: char;
begin
clrscr;
writeln('=========Soal1==========');
writeln('Menghitung Pantulan Bola');
pantulan := 0;
write ('Input ketinggian bola : '); readln (tinggi);
while (tinggi > 20) do
begin
pantulan := pantulan + 1;
tinggi := tinggi / 2;
end;
writeln('Jumlah Pantulan : ', pantulan);
writeln;
writeln('=========Soal2==========');
writeln('Menghitung Persegi Panjang');
repeat
writeln;
write ('Input nilai panjang : '); readln (panjang);
write('Input nilai lebar : '); readln (lebar);
luas := panjang * lebar;
writeln('Luas Persegi panjang adalah ', luas);
write ('Apakah anda ingin mengulang program [Y/N] ? '); readln (jawab);
until (jawab = 'N') OR (jawab = 'n');
writeln('Terimakasih');
readln;
end.
|
Run Program
Pertemuan#12 (For)
For adalah perulangan tanpa kondisi (unconditional looping) yang telah diketahui jumlah perulangannya sebelum dieksekusi.
pemrograman pascal terdapat 2 bentuk perulangan for, yaitu:
for to do (For menaik), Perulangan dengan kondisi penghitungan bertambah by default +1.
FOR (variabel_counter) := (nilai_awal) TO (nilai_akhir) DO
begin
(kode program yang ingin diulang disini...)
end;
for downto do (For menurun), Perulangan dengan kondisi penghitungan berkurang by default -1.
FOR (variabel_counter) := (nilai_awal) DOWNTO (nilai_akhir) DO
begin
(kode program yang ingin diulang disini...)
end;
Contoh Soal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| program for_to_do;
uses crt;
var
i: integer;
begin
clrscr;
writeln('Mencatak angka 1 hingga 100');
for i:= 1 to 100 do
begin
write(i, ' ');
end;
readln;
end.
program for_downto_do;
uses crt;
var
i: integer;
begin
clrscr;
for i := 10 downto 0 do
begin
writeln('Hitung mundur: ',i);
end;
readln;
end.
|
Latihan Soal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| program Latihan_Pertemuan12;
uses crt;
var
i, batasan, jumlah: integer;
begin
clrscr;
writeln('=========Soal1==========');
writeln('Angka kelipatan 2 dari 0 - 100 :');
for i := 0 to 100 do
begin
if i mod 2 = 0 then
write(i, ' ');
end;
writeln;
writeln('=========Soal2==========');
writeln('Input angka batasan & jumlahkan hasilnya');
writeln;
write('Input angka batasan : '); readln (batasan);
jumlah := 0 ;
for i := 1 to batasan do
begin
write(i, ' ');
jumlah := jumlah + i;
end;
writeln;
writeln('Jumlah seluruh angka : ', jumlah);
readln;
end.
|
Run Program
Pertemuan#13 (Contoh_Soal)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| program Latihan_Pertemuan13;
uses crt;
var
a, b, counter, hasil : integer;
benar, salah, soal, jawaban, urutan, c, d : integer;
nilai : real;
jawab : char;
begin
clrscr;
writeln('=========Soal1==========');
writeln('Menghitung perpangkatan');
hasil := 1;
write('Input bilangan pertama: '); readln (a);
write('Input bilangan kedua : '); readln (b);
for counter := 1 to b do
begin
hasil := hasil * a;
end;
writeln('Maka nilai ', a, ' pangkat ', b, ' adalah : ', hasil);
writeln;
writeln('=========Soal2==========');
writeln('Menghitung perpangkatan');
repeat
writeln;
randomize;
benar := 0;
salah := 0;
write('Input jumlah soal : '); readln (soal);
for urutan := 1 to soal do
begin
c := random(100);
d := random(100);
write ('Soal ', urutan, ' : ', c, ' + ', d, ' = '); readln (jawaban);
if (jawaban = (c + d)) then
begin
benar := benar + 1;
end
else
begin
salah := salah + 1;
end;
end;
nilai := benar / soal * 100;
writeln('Jumlah Jawaban Benar : ', benar);
writeln('Jumlah Jawaban Salah : ', salah);
writeln('Nilai : ', nilai:0:0);
writeln;
write('Apakah anda ingin mengulang [y/n] ? : '); readln (jawab);
until (jawab = 'N') OR (jawab = 'n');
writeln ('Terima kasih');
readln;
end.
|
Run Program
Pertemuan#14 (Nested_Loop)
Nested Loop (Perulangan bersarang) adalah adalah perulangan di dalam perulangan.
FOR (variabel_counter_1) := (nilai_awal_1) TO (nilai_akhir_1) DO
begin
(kode program yang ingin diulang disini...)
FOR (variabel_counter_2) := (nilai_awal_2) TO (nilai_akhir_2) DO
begin
(kode program yang ingin diulang disini...)
end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
| program Latihan_Pertemuan14;
uses crt;
var
i, b, n, j: integer;
jawab: char;
begin
repeat
clrscr;
write('Masukan Jumlah Baris : ');
readln(n);
writeln('1.');
for i := 1 to n do
begin
for b := n downto i do
begin
write('*', ' ');
end;
writeln;
end;
writeln;
writeln ('2.');
for i:= n downto 1 do
begin
for b := 1 to n do
begin
if (i <= b) then
begin
write('*',' ');
end
else
begin
write(' ',' ');
end;
end;
writeln;
end;
writeln;
writeln ('3.');
for i:= n downto 1 do
begin
for b := 1 to n do
begin
if (i <= b) then
begin
write(b,' ');
end
else
begin
write(' ',' ');
end;
end;
writeln;
end;
writeln;
writeln ('4.');
for i := 1 to n do
begin
for b := 1 to n - i do
begin
write(' ');
end;
for j := 1 to i do
begin
write('*', ' ');
end;
writeln;
end;
writeln;
writeln ('5.');
for i := 1 to n do
begin
for b := 1 to n do
begin
if (i <= b) then
begin
write('*',' ');
end
else
begin
write(' ',' ');
end;
end;
writeln;
end;
write('Apakah anda ingin mengulang [y/n] ? : '); readln (jawab);
until (jawab = 'N') OR (jawab = 'n');
readln;
end.
|
Run Program
Pertemuan#15 (Array)
Array adalah tipe data yang dapat menyimpan sekumpulan element (data) yang bertipe sama.
program array;
type
variabel_type : array[indeks_awal..indeks_akhir] of tipe_data ;
var
variable1: variabel_type;
variable2: array[indeks_awal..indeks_akhir] of tipe_data;
begin
variable1[1] := nilai;
writeln(variable1[1]);
end.
Contoh Soal
Program ArrayKonstan;
uses crt;
Const
Hari : Array [1..7] of string = ('Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu', 'Minggu');
var
NoHari: integer;
Begin
clrscr;
Write('Masukkan No Hari 1-7 : '); readln(NoHari);
Write('Hari ke ',NoHari,' adalah ',Hari[NoHari]);
readln;
End.
Latihan Soal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| program data_array;
uses crt;
type
array_angka = array[1..5] of integer;
var
data_angka : array_angka;
i, jumlah, max, min : integer;
average : real;
begin
clrscr;
jumlah := 0;
// Input data array
for i := 1 to 5 do
begin
write('Input data ke ', i, ' : ');
readln(data_angka[i]);
end;
// Inisialisasi `max` dan `min` dengan elemen pertama array
max := data_angka[1];
min := data_angka[1];
// Cari jumlah, max, dan min
for i := 1 to 5 do
begin
// Tambahkan data ke jumlah
jumlah := jumlah + data_angka[i];
// Cari nilai maksimum
if data_angka[i] > max then
max := data_angka[i];
// Cari nilai minimum
if data_angka[i] < min then
min := data_angka[i];
end;
average := jumlah / 5;
writeln;
write('Data yang dimasukkan: ');
for i := 1 to 5 do
begin
write(data_angka[i], ' ');
end;
writeln;
writeln('Nilai Jumlah : ', jumlah);
writeln('Nilai Tertinggi : ', max);
writeln('Nilai Terendah : ', min);
writeln('Nilai Rata-rata : ', average:0:0);
readln;
end.
|
Run Program
Selesai SMT1