MATA KULIAH
DASAR PEMROGRAMAN KOMPUTER
BAHASA PEMROGRAMAN PASCAL
Penyusun:
Simon Patabang
Dosen Universitas Atma Jaya Makassar
Buku ini ditujukan bagi para siswa SMU dan mahasiswa ingin belajar dasar
bahasa pemrograman khususnya bagi yang punya minat untuk mempelajari
bahasa pemrograman. Diharapkan para pembaca dapat memperoleh materi
tambahan untuk mendalami dasar pemrograman dengan baik.
Dengan menguasai konsep dan logika pemrograman yang baik, maka akan
dapat dengan mudah mempelajari bahasa pemrograman yang berbasis
objek seperti Bahasa C, Java, dan bahasa pemrograman berbasis visual
seperti Delphi, Visual Basic, dll.
Untuk meningkatkan mutu dari materi buku ini, sangat diharapkan adanya
saran dan masukan yang bersifat positip dari para pembaca demi untuk
pengembangan materi dalam buku ini.
Komponen Komputer
Contoh
Perangkat Keras
1. Keyboard
2. Monitor
3. Mouse
4. Speaker
5. System Unit
6. Microphone
Perangkat Lunak
1. Program Sistem Komputer
2. Program Aplikasi Komputer
3. Bahasa Pemrograman
Bagian Input
Adalah komponen yang berfungsi sebagai alat masukan data atau perintah
ke dalam komputer.
Misalnya :
1. Keyboard
2. Mouse
3. Scanner
Bagian PROSES
Adalah komponen yang berfungsi untuk mengolah data yang diterima dari
input.
Memory
Fungsi memory adalah sebagai tempat menyimpan data, program, perintah-
perintah program yang digunakan pada saat proses berlangsung.
Menurut letakknya, memori dibagi 2 yaitu :
1. Memory Internal
2. Memory external.
1. Memory Internal
Adalah memori yang letaknya berada di dalam system komputer.
1. ROM (Read Only Memory)
2. Chace Memory
3. RAM (Random Access Memory)
ROM, adalah memori yang datanya hanya dapat dibaca. Data dalam ROM
sudah diisi oleh pabrik pembuatnya. Misalnya sistem waktu dan konfigurasi
komputer.
Memori RAM, semua data dan program yang dimasukkan lewat alat input akan
disimpan terlebih dahulu di RAM (Random Access Memory). RAM merupakan
memory yang dapat di akses yaitu dapat diisi, diubah, dan diambil datanya. Data
dalam RAM dan akan hilang jika komputer mati (volatile).
Memori Eksternal
External Memory adalah memori yang bersifat nonvolatile dimana data yang
disimpan di dalamnya tidak akan hilang ketika komputer mati. Dikenal juga
dengan nama secondary memory yang berfungsi sebagai media storage dari
program dan data untuk jangka waktu yang panjang,.
Contoh :
floppy disk(disket), hard disk,dan CD-ROM, DVD, Flash Disk.
Bagian Output
Peralatan yang berfungsi untuk menampilkan hasil dari pengolahan data.
Peralatan Output :
Monitor, Printer dan Speaker, LCD (Liquid Cristal Display )
Bentuk output hasil pengolahan data berupa Teks, Gambar, dan Suara
1. Algoritma
Penyajian Algoritma :
Contoh 2.1:
Penyelesaian :
Untuk mendapatkan nilai y, maka nilai a dan b harus diketahui lebih dahulu. Nilai a
dan b diperoleh dengan menginput ke dalam program melalui keyboard. Kemudian
a dikalikan dengan 6 dan b dikalikan dengan 2. Hasil perkaliannya kemudian
dijumlahkan untuk mendapatkan nilai y.
Algoritma :
Mulai
Deklarasikan variabel y, a, dan b
Input Nilai a dan b
Hitung nilai y = 6a + 2b
Cetak nilai y
Selesai
Algoritmanya adalah :
Mulai
Definisikan variabel y, x, a,b
Input nilai x
Hitung nilai a=4x3
Hitung nilai b=8x
Hitung nilai y=a+b-2
Cetak nilai y
Selesai
Contoh 2.3 :
Buatlah algoritma untuk mengkonversi bilangan dalam satuan detik menjadi satu
satuan jam. Misalnya 30 dikonversi menjadi 0:0:30, 70 menjadi 0:1.10, 3665
menjadi 1:1:5.
Penyelesaian :
Algoritma
Mulai
Deklarasikan variabel d,m,j,s
Input d (bilangan satuan detik)
2. Flowchart
Flowchart adalah skema diagram alir dari algoritma yang disusun dalam bentuk
bagan secara berurutan. Jadi flowchart menggambarkan urutan penyelesaian
masalah. Flowchart digambarkan dengan menggunakan simbol-simbol khusus
seperti input, proses, output, dan lain-lain.
Contoh 2.4:
Contoh 2.5
Contoh 2.6
Contoh 2.7
Penyelesaian :
Untuk menggambarkan flowchart, terlebih dahulu kita menuliskan algoritma untuk
menghitung nilai y dari persamaan y = x2 + √x. Dalam persamaan terdapat 2 buah
variabel yaitu x dan y, dimana nilai variabel x diinput dari keyboard dan nilai y
diperoleh dari hasil perhitungan x2 + √x.
Algoritmanya adalah :
Mulai
Definisikan variabel y dan x
input nilai x
Hitung nilai y= x2 + √x
Tuliskan hasilnya y
Selesai
Flowchart:
Contoh 2.8
Algoritma :
Mulai
Definisikan variabel L, p, lb dengan tipe real
Tentukan Nilai p, lb sebagai konstanta dengan nilai p=10 m, lb=5 m
Hitung nilai L = p.lb
Cetak nilai L
Selesai
Flowchart
Contoh 2.9
Buatlah flowchart untuk menentukan apakah Lulus atau Tidak Lulus dengan syarat :
Jika Nilai Lebih besar atau sama dengan 60, maka dinyatakan Lulus. Jika kurang
dari 60, maka dinyatakan Tidak Lulus.
Algoritma :
Deklarasikan variabel Nilai, mis x
Input nilai x
Cek nilai x
Jika x >= 60, cetak “Lulus “
Jika tidak atau x < 60, cetak ”Gagal “
Selesai
Flowchart
Contoh 2.10
Buatlah flowchart untuk menghitung nilai x1 dan x2 dari persamaan kuadrat y = Ax2
+ Bx + C
Penyelesaian :
b b2 – 4ac
x12
2a
Dimana b2 – 4ac disebut Diskriminan (D) , maka :
D = b2 – 4ac
Mulai
Deklarasikan variabel a,b,c,d,x1,x2
Input nilai a,b,c
Hitung nilai d = b2 – 4ac
Cek nilai d sebagai berikut :
o Jika d>0 maka hitung x1 dan x2
b D b D
x1 dan x2
2a 2a
o Jika d=0 maka hitung x1 dan x2
b
x1 x2
2a
o Jika d<0 maka hitung x1 dan x2
Flowchart
Contoh 2.11
Penyelesaian :
Algoritma
1. Definisikan Variabel N
2. Tentukan Nilai N
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 16
3. Cek Nilai N, Jika :
0 <= N <= 50 Tulis Nilai E, Selesai
50 < N < 60 Tulis Nilai D, Selesai
60 <= N < 70 Tulis Nilai C, Selesai
70 <= N <= 85 Tulis Nilai B, Selesai
85 < N <= 100 Tulis Nilai A, Selesai
Flowchart
Contoh 2.12
Analisa kasus :
a= pendapatan tetap
b= pendapatan tambahan
c= pendapatan keluarga
d= a + b + c
Jika
d>=1.000.000 maka mendapat kredit vespa
d<1.000.000 dan d>500.000 maka mendapat kredit Honda
Algoritma :
Mulai
Deklarasikan variabel a,b,c,d
Input nilai a,b, dan c
Hitung jumlah total d = a + 1/2b + 1/3c
Cek nilai d :
Jika d>=1.000.000, mendapatkan kredit Vespa
Jika 500.000<d<1.000.000, mendapatkan kredit Honda
Jika d<=500.000, tidak layak mendapatkan kredit.
Selesai
Flowchart :
Program Pascal ditulis dengan menggunakan aturan penulisan yang harus diikuti
agar program dapat berjalan dengan baik. Penulisan yang tidak sesuai dengan
aturan yang ditentukan akan menyebabkan terjadinya kesalahan.
Nama File :
1. Nama file terdiri dari maksimum 8 karakter. Jika lebih, maka kelebihannya akan
dipotong oleh program secara otomatis.
2. Nama file program mempunyai ekstensi PAS.
3. Nama file tidak boleh menggunakan spasi. Misalnya contoh 1.pas (salah)
4. Nama file boleh menggunakan tanda hubung bawah. Misalnya contoh_1.pas
(benar)
5. Nama file tidak boleh diawali dengan angka. Misalnya 2prog.pas (salah)
6. Tidak boleh mengandung karakter yang tidak lazim, misalnya : * , ! # ^ dst.
1. Komentar/Penjelasan
Diawali dengan tanda kurung buka kurawal { dan diakihiri dengan tanda
kurung tutup kurawal }.
Contoh : {Program Input Data}
2. Penulisan Program
Setiap baris program harus diakhiri dengan tanda titik koma ( ; ). Tujuannya
untuk memberi tanda bahwa baris perintah tersebut sudah berakhir agar
program dapat membacara tiap baris perintah dengan benar. Jika tidak diberi
tanda titik koma, maka program akan memberi pesan kesalahan (error) bahwa
baris tersebut belum menggunakan titik koma.
Kode program dapat ditulis dengan bantuan program notepad dari Windows
tetapi harus disimpan dengan ekstensi .pas. Misalnya contoh.pas. File program
harus disimpan pada folder dimana program pascal dapat membaca program
yang dibuat.
Misalnya :
Y sama dengan y
x sama dengan X
p sama dengan P
N sama dengan n
4. Variabel
Variabel adalah tempat menyimpan data dalam memori dimana nilainya dapat
berubah-ubah. Variabel dapat didefinisikan dengan huruf, kata, dan gabungan
huruf atau kata dengan angka.
5. Tipe Data
Dalam program pascal dikenal beberapa tipe data dimana setiap tipe harus
disesuaikan dengan variabelnya.
Misalnya:
Bilangan bulat dideklarasikan dengan tipe integer.
Bilangan pecahan atau decimal dideklarasikan dengan tipe real
Data berupa huruf dideklarasikan dengan tipe char
Data berupa kata dideklarasikan dengan tipe string
7. Perintah
Perintah adalah koding yang dikenali sebagai bahasa dalam program. Dengan
menggunakan perintah-perintah khusus sebagai kode program, maka program
akan dapat bekerja sesuai dengan masalah yang akan diselesaikan.
Misalnya :
Perintah untuk menginput data, misalnya read, readln
Perintah menghitung atau memproses data, misalnya sqr, sqrt, div, mod
Operator Matematika
Contoh
Operator Simbol
Rumus Program
Penjumlahan + c=a+b c=a+b
Pengurangan - c=b-a c=b-a
Perkalian * c=axb c = a*b
Pembagian / c = a/b c = a/b
Kurung ( ) c = (a + b)/2 c = (a + b)/2
Contoh :
No Contoh Hasil
1 Y = 3*3 + (2 + 4)/2 – 3/6 11.5
2 Y = 2 + 3*4 – 3 11
3 Y = (3 + 2)*2/5 2
4 Y = 2/2*4 + 3*4/2 10
5 Y = ((4-2)/2*3 + 4)/ 2 3.5
Contoh
Operator Nama Operasi
Rumus Program Hasil
Pangkat 2 sqr(x) y=x2 y=sqr(3) 9
Akar Pangkat 2 sqrt(x) y=√x Y=sqrt(25) 5
Sisa Pembagian mod a mod b 8 mod 3 2
Bil bulat Hasil
div a div b 8 div 3 2
Pembagian
1. Judul Program
Jika judul terdiri dari 2 kata atau lebih, maka gunakan tanda hubung bawah
untuk menghubungkannya.
2. Pustaka Program
Program pascal mempunyai pustaka (library) yang berisi kamus atau daftar
perintah-perintah yang akan digunakan dalam program. Kamus tersebut
diaktifkan pada bagian awal program dengan diawali kata kunci uses. Jika
kamus perintah tidak diaktifkan, maka kode program tidak dapat melakukan
tugasnya dengan baik. Kamus yang paling sering digunakan adalah crt yang
berisi perintah dasar program seperti perintah input, proses, dan output.
3. Bagian Deklarasi
1. Deklarasi variabel.
2. Deklarasi Konstanta
Konstanta adalah data yang nilainya tetap. Deklarasi kontanta selalu diawali
dengan kata kunci const.
3. Deklarasi lain adalah label, prosedur, fungsi, dan type. Deklarasi ini akan
dijelaskan pada saat materi tersebut dibahas.
4. Blok Program
Bagian dimana kita akan menuliskan bahasa program atau perintah (koding)
yang diawali dengan kata kunci begin dan diakhiri dengan kata kunci end. (end
titik). Perintah tersebut terdiri dari 3 bagian yaitu perintah masukan, perintah
keluaran, dan perintah perhitungan atau proses.
Perintah Masukan
Read adalah perintah untuk menginput data. Setelah menginput data, kursor
tidak berpindah ke baris berikutnya.
Readln adalah perintah untuk menginput data. Setelah menginput data,
kursor pindah ke baris barikutnya.
Contoh :
Read(x) artinya input data x setelah itu posisi kursor tidak berpidah ke baris
berikutnya.
Readln(x) artinya input data x setelah itu posisi kursor berpidah ke baris
berikutnya.
Perintah Keluaran
Write adalah perintah untuk menuliskan data. Setelah menulis data, kursor
tidak berpindah ke baris baris berikutnya
Writeln adalah perintah untuk menuliskan data. Setelah menulis data, kursor
pindah ke baris berikutnya
Contoh :
Write(„ Teks „) artinya tulis kata Teks, setelah itu kursor tidak berpindah ke
baris berikutnya.
Writeln(„ Teks „) artinya tulis kata Teks, setelah itu kursor berpindah ke baris
berikutnya.
Baris yang kosong sering digunakan untuk membuat jarak antara baris menjadi
lebih jelas. Dalam program ms word dikenal dengan instilah Enter. Perintah
untuk membuat baris kosong dalam program pascal adalah writeln tanpa
diikuti argumen ( writeln; ). Dalam Contoh program, sering ada kata writeln;
tujuannya adalah untuk membuat baris kosong (enter). Jika ada 2 kata writeln;
itu artinya berpindah baris 2 kali.
Untuk dapat melihat tampilan hasil program dengan baik, maka program perlu
dihentikan untuk sementara. Selama berhenti, kita dapat melihat hasil program,
apakah sudah benar, sudah baik, atau sudah rapi.
Dalam contoh program, selalu ada kata readln; untuk menghentikan tampilan
hasil program. Perintah lain yang dapat menghentikan program untuk sementara
adalah readkey tanpa argumen ( readkey;)
Perintah Perhitungan
Sqrt adalah perintah untuk menghitung nilai akar pangkat dua dari sebuah
variabel. Misalnya sqrt(x) artinya menghitung nilai akar pangkat dua dari x.
Sqr adalah perintah untuk menghitung nilai pangkat dua dari sebuah
variabel. Misalnya sqr(x) artinya menghitung nilai pangkat dua dari x.
Div adalah perintah untuk menghitung pembagian 2 buah bilangan bulat
(integer) kemudian mengambil hasil baginya dan membuang sisa
pembagiannya.
Mod adalah perintah untuk menghitung pembagian 2 buah bilangan bulat
(integer) kemudian mengambil sisa pembagiannya dan membuang hasil
baginya.
Rumus atau persamaan matematika. Misalnya y = x2.
Dll.
Penyelesaian
Algoritma :
1. Mulai
2. Deklarasikan variabel x, y, a, b
3. Input nilai a, b
4. Hitung nilai x = a + b
5. Hitung nilai y = a x b
6. Tulis Hasil x dan y (Tampilan-1)
7. Tulis Hasil x dan y (Tampilan-2)
8. Hentikan proses program untuk sementara
9. Selesai
Flowchart :
Program :
writeln;writeln;
writeln('Tekan sembarang tombol untuk melanjutkan');
readkey; (*Hentikan sementara proses program *)
End. (* Akhir program*)
Hasil Program
Contoh 3.2
Program :
Program Dasar;
{File : CNTH32.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
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.
Hasil Program :
Contoh 3.3
Program :
Program Dasar;
{File : CNTH33.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
var a,b, x,y : integer;
Hasil Program :
Contoh 3.4
Program :
Program Dasar;
{File : CNTH34.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
var d,m,j,s: integer;
Begin
clrscr; {Bersihkan layar}
write(' Input detik = ');
readln(d);
Hasil Program :
Catatan :
Variabel yang digunakan untuk perintah div dan mod harus bertipe integer. Tipe
lain tidak akan dapat diproses atau akan terjadi error type mismatch
Contoh 3.5
Program :
Program Dasar;
{File : CNTH35.pas}
{Oleh : Simon Patabang}
uses crt;
var x,y : real;
Begin
clrscr;
writeln;
write('Input nilai x = ');
readln(x);
y := sqr(x) + sqrt(x);
writeln;
writeln('sqr(x)+sqrt(x) = ',y:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
Hasil Program :
Catatan :
Tipe variabel yang berlaku untuk perintah Sqr harus bertipe real.
Nilai y artinya 2,045 x 101 = 20,45
Contoh 3.6
Program :
Program Dasar;
{File : CNTH36.pas}
{Oleh : Simon Patabang}
uses crt;
var L, p, lb: real;
Begin
clrscr;
writeln;writeln;
p:=10; {Nilai panjang p}
lb:=5; {Nilai lebar lb}
L:= p*lb; {Hitung Luas}
writeln('Panjang = ',p:6:2);
writeln('Lebar = ',lb:6:2);
writeln('Luas = ',L:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program :
Contoh 3.7
Algoritma :
1. Mulai
2. Deklarasikan variabel x,y,z
3. Input nilai x dan y
4. Hitung nilai z = x2 + y4
5. Cetak hasil z
6. Tekan sembarang tombol
7. Selesai
Flowchart :
Program :
Program Dasar;
{File : CNTH37.pas }
{Oleh : Simon Patabang}
Begin
clrscr;
write('Input x = '); readln(x); {input nilai x}
writeln; writeln;
writeln(' z = ', z:6:2); {Output, cetak z }
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Program Pascal ditulis dengan menggunakan aturan penulisan yang harus diikuti
agar program dapat berjalan dengan baik. Penulisan yang tidak sesuai dengan
aturan yang ditentukan akan menyebabkan terjadinya kesalahan.
Nama File :
7. Nama file terdiri dari maksimum 8 karakter. Jika lebih, maka kelebihannya akan
dipotong oleh program secara otomatis.
8. Nama file program mempunyai ekstensi PAS.
9. Nama file tidak boleh menggunakan spasi. Misalnya contoh 1.pas (salah)
10. Nama file boleh menggunakan tanda hubung bawah. Misalnya contoh_1.pas
(benar)
11. Nama file tidak boleh diawali dengan angka. Misalnya 2prog.pas (salah)
12. Tidak boleh mengandung karakter yang tidak lazim, misalnya : * , ! # ^ dst.
8. Komentar/Penjelasan
Diawali dengan tanda kurung buka kurawal { dan diakihiri dengan tanda
kurung tutup kurawal }.
Contoh : {Program Input Data}
9. Penulisan Program
Setiap baris program harus diakhiri dengan tanda titik koma ( ; ). Tujuannya
untuk memberi tanda bahwa baris perintah tersebut sudah berakhir agar
program dapat membacara tiap baris perintah dengan benar. Jika tidak diberi
tanda titik koma, maka program akan memberi pesan kesalahan (error) bahwa
baris tersebut belum menggunakan titik koma.
Kode program dapat ditulis dengan bantuan program notepad dari Windows
tetapi harus disimpan dengan ekstensi .pas. Misalnya contoh.pas. File program
harus disimpan pada folder dimana program pascal dapat membaca program
yang dibuat.
Pascal tidak membedakan huruf besar atau kecil dalam penulisan perintah,
Artinya penulisan perintah dengan huruf besar dan huruf kecil dianggap sama.
Misalnya :
Y sama dengan y
x sama dengan X
p sama dengan P
N sama dengan n
11. Variabel
Variabel adalah tempat menyimpan data dalam memori dimana nilainya dapat
berubah-ubah. Variabel dapat didefinisikan dengan huruf, kata, dan gabungan
huruf atau kata dengan angka.
14. Perintah
Perintah adalah koding yang dikenali sebagai bahasa dalam program. Dengan
menggunakan perintah-perintah khusus sebagai kode program, maka program
akan dapat bekerja sesuai dengan masalah yang akan diselesaikan.
Misalnya :
Perintah untuk menginput data, misalnya read, readln
Perintah menghitung atau memproses data, misalnya sqr, sqrt, div, mod
Perintah untuk menulis teks atau hasil perhitungan program, misalnya write,
writeln
Operator Matematika
Contoh
Operator Simbol
Rumus Program
Penjumlahan + c=a+b c=a+b
Pengurangan - c=b-a c=b-a
Perkalian * c=axb c = a*b
Pembagian / c = a/b c = a/b
Kurung ( ) c = (a + b)/2 c = (a + b)/2
Contoh :
No Contoh Hasil
1 Y = 3*3 + (2 + 4)/2 – 3/6 11.5
2 Y = 2 + 3*4 – 3 11
3 Y = (3 + 2)*2/5 2
4 Y = 2/2*4 + 3*4/2 10
Contoh
Operator Nama Operasi
Rumus Program Hasil
Pangkat 2 sqr(x) y=x2 y=sqr(3) 9
Akar Pangkat 2 sqrt(x) y=√x Y=sqrt(25) 5
Sisa Pembagian mod a mod b 8 mod 3 2
Bil bulat Hasil
div a div b 8 div 3 2
Pembagian
5. Judul Program
Bagian awal dari program pascal adalah judul program. Judul program ditulis
dengan diawali kata kunci PROGRAM.
Jika judul terdiri dari 2 kata atau lebih, maka gunakan tanda hubung bawah
untuk menghubungkannya.
6. Pustaka Program
Program pascal mempunyai pustaka (library) yang berisi kamus atau daftar
perintah-perintah yang akan digunakan dalam program. Kamus tersebut
diaktifkan pada bagian awal program dengan diawali kata kunci uses. Jika
kamus perintah tidak diaktifkan, maka kode program tidak dapat melakukan
tugasnya dengan baik. Kamus yang paling sering digunakan adalah crt yang
berisi perintah dasar program seperti perintah input, proses, dan output.
7. Bagian Deklarasi
4. Deklarasi variabel.
5. Deklarasi Konstanta
Konstanta adalah data yang nilainya tetap. Deklarasi kontanta selalu diawali
dengan kata kunci const.
6. Deklarasi lain adalah label, prosedur, fungsi, dan type. Deklarasi ini akan
dijelaskan pada saat materi tersebut dibahas.
8. Blok Program
Bagian dimana kita akan menuliskan bahasa program atau perintah (koding)
yang diawali dengan kata kunci begin dan diakhiri dengan kata kunci end. (end
titik). Perintah tersebut terdiri dari 3 bagian yaitu perintah masukan, perintah
keluaran, dan perintah perhitungan atau proses.
Perintah Masukan
Read adalah perintah untuk menginput data. Setelah menginput data, kursor
tidak berpindah ke baris berikutnya.
Readln adalah perintah untuk menginput data. Setelah menginput data,
kursor pindah ke baris barikutnya.
Contoh :
Read(x) artinya input data x setelah itu posisi kursor tidak berpidah ke baris
berikutnya.
Readln(x) artinya input data x setelah itu posisi kursor berpidah ke baris
berikutnya.
Write adalah perintah untuk menuliskan data. Setelah menulis data, kursor
tidak berpindah ke baris baris berikutnya
Writeln adalah perintah untuk menuliskan data. Setelah menulis data, kursor
pindah ke baris berikutnya
Contoh :
Write(„ Teks „) artinya tulis kata Teks, setelah itu kursor tidak berpindah ke
baris berikutnya.
Writeln(„ Teks „) artinya tulis kata Teks, setelah itu kursor berpindah ke baris
berikutnya.
Perintah write menuliskan keterangan „Input Nilai x :‟ setelah itu kursor tidak
berpindah baris yang sehingga nilai x yang akan diketik/diinput berada pada
baris yang sama. Setelah menginput nilai x, maka kursor kan berpindah ke
baris ke baris berikutnya karena perintah readln(x).
Baris yang kosong sering digunakan untuk membuat jarak antara baris menjadi
lebih jelas. Dalam program ms word dikenal dengan instilah Enter. Perintah
untuk membuat baris kosong dalam program pascal adalah writeln tanpa
diikuti argumen ( writeln; ). Dalam Contoh program, sering ada kata writeln;
tujuannya adalah untuk membuat baris kosong (enter). Jika ada 2 kata writeln;
itu artinya berpindah baris 2 kali.
Untuk dapat melihat tampilan hasil program dengan baik, maka program perlu
dihentikan untuk sementara. Selama berhenti, kita dapat melihat hasil program,
apakah sudah benar, sudah baik, atau sudah rapi.
Dalam contoh program, selalu ada kata readln; untuk menghentikan tampilan
hasil program. Perintah lain yang dapat menghentikan program untuk sementara
adalah readkey tanpa argumen ( readkey;)
Perintah Perhitungan
Sqrt adalah perintah untuk menghitung nilai akar pangkat dua dari sebuah
variabel. Misalnya sqrt(x) artinya menghitung nilai akar pangkat dua dari x.
Sqr adalah perintah untuk menghitung nilai pangkat dua dari sebuah
variabel. Misalnya sqr(x) artinya menghitung nilai pangkat dua dari x.
Div adalah perintah untuk menghitung pembagian 2 buah bilangan bulat
(integer) kemudian mengambil hasil baginya dan membuang sisa
pembagiannya.
Mod adalah perintah untuk menghitung pembagian 2 buah bilangan bulat
(integer) kemudian mengambil sisa pembagiannya dan membuang hasil
baginya.
Rumus atau persamaan matematika. Misalnya y = x2.
Dll.
Contoh 3.1
Penyelesaian
Algoritma :
10. Mulai
11. Deklarasikan variabel x, y, a, b
12. Input nilai a, b
13. Hitung nilai x = a + b
14. Hitung nilai y = a x b
15. Tulis Hasil x dan y (Tampilan-1)
16. Tulis Hasil x dan y (Tampilan-2)
17. Hentikan proses program untuk sementara
18. Selesai
Flowchart :
Program :
writeln;writeln;
writeln('Tekan sembarang tombol untuk melanjutkan');
readkey; (*Hentikan sementara proses program *)
End. (* Akhir program*)
Hasil Program
Contoh 3.2
Program :
Program Dasar;
{File : CNTH32.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
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;
Hasil Program :
Contoh 3.3
Program :
Program Dasar;
{File : CNTH33.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
var a,b, x,y : integer;
Begin
clrscr; {Bersihkan layar}
writeln; {Buat baris kosong}
write('Input nilai x = ');
readln(x); {Input nilai x}
writeln;
a := 4*x*X*x; {Proses}
b := 8*x; {Proses}
y := a + b - 2; {Proses}
writeln('y = 4x^3 + 8x - 2');
writeln('y = ',y); {Output}
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program :
Contoh 3.4
Program :
Program Dasar;
{File : CNTH34.pas }
{Oleh : Simon Patabang }
{=========================}
uses crt;
var d,m,j,s: integer;
Begin
clrscr; {Bersihkan layar}
write(' Input detik = ');
readln(d);
writeln;
writeln(' ',j,' jam');
writeln(' ',m,' menit');
writeln(' ',d,' detik');
writeln;
writeln(' Jam : ',j,':',m,':',d);
writeln;
writeln('Tekan sembarang tombol');
readln;
end.
Hasil Program :
Catatan :
Contoh 3.5
Program :
Program Dasar;
{File : CNTH35.pas}
{Oleh : Simon Patabang}
uses crt;
var x,y : real;
Begin
clrscr;
writeln;
write('Input nilai x = ');
readln(x);
y := sqr(x) + sqrt(x);
writeln;
writeln('sqr(x)+sqrt(x) = ',y:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program :
Catatan :
Tipe variabel yang berlaku untuk perintah Sqr harus bertipe real.
Nilai y artinya 2,045 x 101 = 20,45
Contoh 3.6
Program :
Program Dasar;
{File : CNTH36.pas}
uses crt;
var L, p, lb: real;
Begin
clrscr;
writeln;writeln;
p:=10; {Nilai panjang p}
lb:=5; {Nilai lebar lb}
L:= p*lb; {Hitung Luas}
writeln('Panjang = ',p:6:2);
writeln('Lebar = ',lb:6:2);
writeln('Luas = ',L:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program :
Contoh 3.7
Algoritma :
8. Mulai
9. Deklarasikan variabel x,y,z
10. Input nilai x dan y
11. Hitung nilai z = x2 + y4
12. Cetak hasil z
13. Tekan sembarang tombol
14. Selesai
Flowchart :
Program :
Program Dasar;
{File : CNTH37.pas }
{Oleh : Simon Patabang}
Begin
clrscr;
write('Input x = '); readln(x); {input nilai x}
write('Input y = '); readln(y); { input nilai y}
writeln; writeln;
writeln(' z = ', z:6:2); {Output, cetak z }
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Tipe data adalah jenis data berupa angka, huruf, karakter, kata, dan kalimat
yang akan di-input dan diproses oleh komputer. Agar program dapat menerima
input sesuai dengan jenis datanya, maka ditentukanlah tipe Standart yang terdiri
dari 3 tipe yaitu :
a) Tipe Ordinal
b) Tipe Real
c) Tipe String
Adalah tipe data yang mempunyai nilai yang pasti sesuai dengan data
masukannya. Tipe data ordinal terdiri dari 3 macam yaitu :
1. Integer adalah semua bilangan bulat negatip, nol, dan positip.
2. Char adalah semua huruf, angka, tanda baca, dan simbol lainnya yang ada
pada keyboard. Penulisannya harus diapit oleh tanda pertik satu. Misalnya :
„A‟, „a‟, „3‟, „&‟, „%‟, „+‟, dll.
3. Boolean adalah nilai kebenaran atas suatu pernyataan logika dengan hasil
True (benar) atau False (salah).
Contoh 4.1:
Algoritma :
1. Mulai
2. Deklarasikan variabel a,b (integer),y (char),p,q boolean
3. Input data a,b,y
4. P = a<b
5. Q = a>=b
6. Cetak data a,b,y,p,q
7. Hentikan proses
8. Selesai
Flowchart :
Program :
Program Tipe_Boolean;
{File : CNTH41.pas }
{Oleh : Simon Patabang }
Uses crt;
Var a,b : integer;
y : char;
p,q : boolean;
Begin
Hasil Program
Adalah tipe data untuk bilangan percahan atau desimal. Output tipe data real
berbentuk bilangan desimal maka hasil output perlu diformat “jumlah angka di
belakang koma”.
X = Variabel x
N = Jumlah tempat/karakter yang tersedia
D = Jumlah desimal di belakang koma
Misalnya : x:8:2
Contoh 4.2
Buatlah program dengan 3 buah variabel yang menerima data masukan berupa
tipe data real. Cetak ke-3 data tersebut dengan format dan tanpa format.
Algoritma :
1. Mulai
2. Deklarasikan Variabel a,b,c
3. Input data a,b,c
4. Cetak data a,b,c
5. Selesai
Flowchart
Program :
Program TipeDataReal;
{File : CNTH42.pas }
{Oleh : Simon Patabang }
Uses crt;
Var a,b,c : real;
Begin
clrscr; {Bersihkan layar}
write(‘Input a = ‘); readln(a);
write(‘Input b = ‘); readln(b);
write(‘Input c = ‘); readln(c);
writeln(‘Nilai a = ‘, a);
writeln(‘Nilai b = ‘, b:6:2);
writeln(‘Nilai c = ‘, c:10:3);
Readln;
End.
Hasil Program
Jika output Bilangan Real tidak diformat, mis 25.6 maka akan menghasilkan
tampilan seperti berikut : 2.5600000000E+1 artinya 2.56 x 101
Contoh :
a:= 2; x:= 4;
y:= x;
z:= a;
b:= a;
c:= x;
Hasilnya adalah :
y:= 4.00
z:= 2.00
b:= 2
c:= Type mismatch
Contoh :
a:= 2; x:= 4;
y:= x/a;
z:= a/x;
b:= a*x;
z:= x + a;
c:= x + a;
c:= a*a;
Hasilnya adalah :
y:= 2.00
Adalah kumpulan tipe data yang berbentuk karakter. Panjang maksimum dari
tipe data string adalah 255 karakter.
Contoh : var nama : string[30] artinya variabel nama dapat menerima
maksimum 30 karakter termasuk spasi.
Contoh 4.3
Buatlah program untuk menerima dan mencetak data nama, alamat, dan kota.
Algoritma :
1. Mulai
2. Deklarasikan Variabel nama, alamat, dan kota bertipe data string
3. Input data nama, alamat, dan kota
4. Cetak data nama, alamat, dan kota
5. Selesai
Flowchart :
Program :
Program TipeDataString;
(*File : CNTH43.pas *)
(*Oleh : Simon Patabang*)
Begin
clrscr;
writeln (‘Data Masukan’);
write(‘Nama : ‘); readln(nama);
write(‘Alamat : ‘); readln(alamat);
write(‘Kota : ‘); readln(kota);
writeln;
writeln (‘Data Keluaran’);
writeln(‘Nama : ‘, nama);
writeln(‘Alamat : ‘, alamat);
writeln(‘Kota : ‘, kota);
readln;
End.
Hasil Program
Fungsi standart merupakan perintah yang telah disediakan oleh Pascal untuk
melakukan perhitungan untuk tujuan tertentu. Perintah tersebut siap digunakan oleh
programmer untuk membuat program. Yang perlu diperhatikan adalah masalah tipe
data dari hasil setiap perintah, ada yang bertipe real dan ada juga yang bertipe
integer.
1. Abs digunakan untuk mengubah bilangan negatip menjadi bilangan positip atau
absolut sebuah bilangan, baik untuk bilangan bulat (integer) maupun desimal
(real).
Argumen x dapat bertipe real atau integer. Hasilnya dapat bertipe real jika
diterima oleh variabel bertipe real dan dapat bertipe integer jika x bertipe integer
dan hasilnya diterima oleh variabel bertipe integer. Misalnya a,b,c bertipe real
dan x,y bertipe integer maka pernyataan :
x:=abs(y) dan b:=abs(y) adalah benar karena argumen y bertipe integer
y:=abs(b) adalah salah karena y bertipe integer sedangkan b bertipe real
Contoh :
Hasilnya adalah :
a = 4.00
c = 9.00
y=9
x =Type mismatch
Argumen x dapat bertipe real atau integer dan hasilnya selalu bertipe real.
Misalnya variabel a, b dan c bertipe real sedangkan x dan y bertipe integer,
maka pernyataan :
a:=exp(b) dan a:=exp(x) adalah benar karena a bertipe real dan dapat
menerima hasil yang bertipe real.
y:=exp(b) atau y:=exp(x) adalah salah karena y bertipe integer dan tidak
dapat menerima hasil yang bertipe real.
Contoh :
b:= 4; x := 9;
a := exp(b);
c:= exp(x);
y:= exp(b);
Hasilnya adalah :
a = 54.60
c = 8103.08
y = Type mismatch
ln( x)
Log x
ln(10)
Argumen x dapat bertipe real atau integer tetapi hasilnya selalu bertipe real.
Misalnya variabel a, b dan c bertipe real sedangkan x dan y bertipe integer,
maka pernyataan:
Contoh :
b:= 4; x := 9;
a := ln(b);
c:= ln (x)/ln(10);
y:= ln(b);
Hasilnya adalah :
a = 1.39
c = 0.95
y = Type mismatch
4. Int digunakan untuk mengambil mengambil bilangan bulat dari data bertipe real
dan sisanya dibuang.
Argumen x dapat bertipe real atau integer tetapi hasilnya selalu bertipe real.
Misalnya variabel a, b dan c bertipe real sedangkan x dan y bertipe integer,
maka pernyataan:
a:=int(b) atau a:=int(x) adalah benar karena a bertipe real dan dapat
menerima hasil yang bertipe real.
y:=int(b) atau y:=int(x) adalah salah karena y bertipe integer dan tidak dapat
menerima hasil yang bertipe real.
Contoh :
b:= 4.32; x := 9;
a:=int(b);
c:=int(x);
y:=int(x);
Hasilnya adalah :
a = 4.00
c = 9.00
y = Type mismatch
5. Frac digunakan untuk mencari nilai pecahan dalam bentuk desimal dari sebuah
variabel bertipe integer atau pun real. Hasilnya adalah bilangan real.
Contoh :
b:= 4.32; x := 9;
a:=frac(b);
c:=frac(x);
y:=frac(x);
Hasilnya adalah :
a = 0.32
c = 0.00
y = Type mismatch
Argumen x dapat bertipe real atau integer dan hasilnya dapat bertipe real atau
integer. Misalnya variabel a dan b bertipe real sedangkan x dan y bertipe
integer, maka pernyataan:
a:=sqr(b) dan a:=sqr(x) adalah benar karena a bertipe real dan dapat
menerima hasil yang bertipe real ataupun integer. Hasilnya bertipe real.
y:=sqr(x) adalah benar karena x dan y bertipe integer dan dan hasilnya
bertipe integer.
x:=sqr(b) adalah salah karena x bertipe integer sedangkan b bertipe real.
Contoh :
b:= 4; x := 9;
a:=sqr(b);
c:=sqr(x);
y:=sqt(x);
x:=sqr(b);
Hasilnya adalah :
a = 2.00
c = 3.00
y=3
x = Type mismatch
Argumen x dapat bertipe real atau integer tetapi hasilnya selalu bertipe real.
Misalnya variabel a, b dan c bertipe real sedangkan x dan y bertipe integer,
maka pernyataan:
a:=sqrt(b) atau a:= sqrt(x) adalah benar karena a bertipe real dan dapat
menerima hasil yang bertipe real.
y:=sqrt(b) atau y:= sqrt(x) adalah salah karena y bertipe integer dan tidak
dapat menerima hasil yang bertipe real.
Contoh :
b:= 4; x := 9;
a:=sqrt(b);
c:=sqrt(x);
y:=sqrt(b)
Hasilnya adalah :
a = 2.00
c = 9.00
y = Type mismatch
Argumen x selalu bertipe real atau integer dan hasilnya dapat bertipe integer
atau real.
Contoh :
Hasilnya adalah :
a = 5.00
c = 9.00
y=5
z=9
Contoh 4.4
Penyelesaian
Algoritma
Mulai
Deklarasikan variabel real a,b,c,d, p,q,r dan integer x,y, w, z
Input nilai a, b, x, y
Hitunglah c = a + b; a=x/y, d=abs(b), p=frac(d), q=int(d), b=sqr(x), r=sqrt(x)
Cetak hasil perhitungan
Hentikan proses
Selesai
Program
Program Tipe_Varibel;
(*File : CNTH44.pas *)
(*Oleh : Simon Patabang*)
uses crt;
var a,b,c,d,p,q,r : real;
x,y,w,z : Integer;
Begin
clrscr;
write(' Integer x = ');readln(x);
write(' Integer y = ');readln(y);
write(' Real a = ');readln(a);
write(' Real b = ');readln(b);
c:= a + b; d:=x/y;
a:=abs(b); p:=frac(d); q:=int(d);
b:=sqr(x); r:=sqrt(x);
z:= x + y;
w:= sqr(y);
writeln;writeln;
writeln(' a + b = ',c:6:2);
writeln(' x / y = ',d:6:2);
writeln(' abs(b) = ',a:6:2);
writeln(' frac(x/y) = ',p:6:2);
writeln(' int(x/y) = ',q:6:2);
writeln(' sqr(x) = ',b:6:2);
writeln(' sqrt(x) = ',r:6:2);
writeln(' x + y = ',z);
writeln(' sqr(y) = ',w);
writeln;writeln;
writeln('Tekan sembarang tombol');
Hasil Program
9. Pi digunakan sebagai pengganti bilangan π atau 22/7. Hasil selalu bertipe real.
Umumnya digunakan dalam perhitungan matematika yang menggunakan
bilangan π. Misalnya luas lingkaran πr 2 dengan pernyataan L:=pi*sqr(r).
Variabel L harus bertipe real sedangkan r dapat bertipe real atau integer.
Contoh 4.5
Buatlah program untuk menghitung luas dan keliling lingkaran dimana nilai
masukan adalah jari-jari lingkaran.
Penyelesaian
Rumus :
Luas lingkaran = πr2 dan Keliling lingkaran = 2πr
Algoritma
Mulai
Deklarasikan variabel L, K, dan R dengan tipe real
Input nilai R
Hitung L dan K
Cetak Hasil L dan K
Hentikan proses sementara
Selesai
Program
Program Tipe_Varibel;
(*File : CNTH45.pas *)
(*Oleh : Simon Patabang*)
uses crt;
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 59
var L,K,r : real;
Begin
clrscr;
write(' Input Nilai r = ');readln(r);
L:=pi*sqr(r);
K:=2*pi*r;
writeln;writeln;
writeln(' Luas Lingkaran = ',l:6:2);
writeln(' Keliling Lingkaran = ',k:6:2);
writeln;writeln;
writeln('Tekan sembarang tombol');
readkey;
End.
Hasil Program
10. Mod digunakan untuk mengambil nilai sisa dari hasil pembangian dua buah
bilangan bertipe integer.
Argumen x dan y hanya dapat bertipe integer tetapi hasilnya dapat bertipe real
atau integer. Misalnya variabel a, b, dan c bertipe real sedangkan x, y dan z
bertipe integer, maka pernyataan:
z:= x mod y atau a:= x mod y adalah benar karena x dan y bertipe integer.
z:= b mod c atau a:= b mod c adalah salah karena b dan c bertipe real.
Contoh :
x:= 14; y := 3;
z:= x mod y
a:= x mod y
Hasilnya adalah :
z=2
a = 2.00
Argumen x dan y hanya dapat bertipe integer tetapi hasilnya dapat bertipe real
atau integer. Misalnya variabel a, b, dan c bertipe real sedangkan x, y dan z
bertipe integer, maka pernyataan:
z:= x div y atau a:= x div y adalah benar karena x dan y bertipe integer.
z:= b div c atau a:= b div c adalah salah karena b dan c bertipe real.
Contoh :
x:= 14; y := 3;
z:= x div y
a:= x div y
Hasilnya adalah :
z=4
a = 4.00
Contoh 4.6
Buatlah program untuk mencari bilangan bulat dan sisa dari hasil pembagian
antara 2 buah bilangan bulat atau integer.
Penyelesaian
Algoritma
Mulai
Deklarasikan variabel a,b,c, dan d
Input a dan b
Hitung sisa hasil bagi a dan b
Hitung bil bulat hasil bagi a dan b
Cetak hasilnya
Hentikan sementara
Selesai
Program
uses crt;
var a,b,c,d : integer;
c:= a mod b;
d:= a div b;
writeln;writeln;
writeln(' Hasil bagi a/b = ',d);
writeln(' Sisa Hasil bagi a/b = ',c);
writeln;writeln;
writeln('Tekan sembarang tombol');
readkey;
End.
Hasil Program
12. Chr digunakan untuk mengkonversi kode ASCII menjadi karakter. Kode ASCII
terdiri dari bilangan bulat mulai dari 0 hingga 255.
Argumen x bertipe byte dan hasilnya bertipe karater. Misalkan x bertipe byte dan
a bertipe char, maka pernyataan yang benar adalah a:=chr(x)
Contoh :
x:=66;
a:=chr(x)
Hasilnya adalah :
a=B
13. Ord digunakan untuk mengkonversi nilai karakter menjadi kode ASCII.
Argumen x harus bertipe karakter dan hasilnya bertipe byte. Misalnya variabel a
dan b bertipe byte sedangkan x dan y bertipe char.
Contoh :
Hasilnya adalah :
b=d
y:= 80
Contoh 4.7
Buatlah program untuk mengkonversi sebuah karakter menjadi kode ASCII dan
kode ASCII menjadi sebuah karakter.
Algoritma
Mulai
Deklarasikan variabel a, d dengan tipe byte dan x, y dengan tipe char
Input kode ASCII a dan karakter x
Cari karakter dari kode ASCII input
Cari kode ASCII dari karakter input
Tampilkan hasilnya
Hentikan sementara
Selesai
Program
Program Kode_ASCII;
(*File : CNTH47.pas *)
(*Oleh : Simon Patabang*)
uses crt;
var a,b : byte;
x,y : char;
Begin
clrscr;
write(' Kode ASCII = ');readln(a);
write(' Karakter = ');readln(x);
b:= ord(x);
y:= chr(a);
writeln;writeln;
writeln(a,' adalah karakter ',y);
writeln(x,' kode ASCIInya adalah ',b);
writeln;writeln;
writeln('Tekan sembarang tombol');
readkey;
End.
14. Random digunakan untuk membangkit bilangan acak antara 0 dan 1 atau
antara 0 dan n.
15. Ziseof
16. Upcase
17. Trunc
V. ALGORITMA SELEKSI
Bentuk Perintah If
:
Jika kondisi/syarat bernilai benar (True), maka kerjakan pernyataan-1 dalam blok
begin-end. Jika bernilai salah (False), maka pernyataan-2 di bawah blok begin-
end akan dikerjakan.
Contoh :
Dalam diagram alir, simbol dari algoritma seleksi digambarkan dengan bela ketupat
seperti pada gambar berikut.
Operator Relasi
Operator Relasi digunakan untuk memeriksa satu kondisi/syarat dalam perintah if.
Operator relasi terdiri dari 6 macam yaitu :
Bentuk Perintah IF
1. If – Then
Bentuk If-then :
Catatan Penting!!!
Jika pernyataan dalam blok Begin-End hanya terdiri dari 1 pernyataan, maka
kata Begin-end, boleh dihilangkan.
Jika pernyataan dalam blok Begin-End terdiri dari beberapa baris
pernyataan (lebih dari 1), maka kata Begin-end, tidak boleh dihilangkan (kata
begin-end harus digunakan)
Misalnya :
Flowchart
Contoh 5.1
Penyelesaian :
Ciri khas dari bilangan genap adalah jika dibagi dengan 2, maka sisanya 0.
Sedangkan ciri khas bilangan ganjil adalah jika dibagi dengan2, maka
Algoritma :
1. Mulai
2. Definisikan variabel n
3. Input bil bulat
4. Hitung sisa hasil bagi : a = n mod 2
5. Cek nilai a, jika a = 0, cetak “N bilangan bulat”
6. Cek nilai a, jika a = 1, cetak “N bilangan ganjil”
7. Hentikan sementara proses program
8. Selesai
Flowchart
Program
Program Ganjil_Genap;
{File : CNTH51.pas }
{Oleh : Simon Patabang}
Uses crt;
Var n,a : integer;
Begin
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 67
Writeln; clrscr;
Write('Input n = '); Readln(n);
Writeln;
a := n mod 2; {Cari sisa hasil bagi n dengan 2}
If a=0 then writeln('N adalah bilangan genap');
If a=1 then writeln('N adalah bilangan ganjil');
Writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
2. If - Then – Else
Adalah bentuk pilihan dimana ada dua pilihan “pernyataan” yang harus
dipilih salah satunya untuk dikerjakan.
Catatan Penting!!!
Pada setiap baris pernyataan yang mendahului pernyataan kata ELSE tidak
boleh diakhiri dengan tanda titik koma.
Flowchart
Misalnya :
If n>10 then
Wrilteln(‘n lebih besar dari 10’)
Else
Begin
Wrilteln(‘n lebih kecil dari 10’);
Wrilteln(‘atau n sama dengan 10’);
End;
Contoh 5.2
Penyelesaian
Sisa hasil bagi sebuah bilangan asli dengan 2 hanya ada 2 kemungkinan
yaitu 0 atau 1. Hasilnya 0 untuk bilangan genap dan 1 untuk bilangan ganjil.
Dalam hal ini, jika kondisi a=1 tidak memenuhi syarat, maka pasti nilai a=0.
Demikian juga sebaliknya.
Algoritma :
1. Mulai
2. Definisikan variabel n
3. Input bil bulat n
4. Hitung sisa hasil bagi : a = n mod 2
5. Cek nilai a, jika a = 0, cetak “N bilangan bulat”
6. Jika tidak, maka cetak “N bilangan ganjil”
7. Selesai
Flowchart
Program
Program Ganjil_Genap;
{File : CNTH52.pas }
{Oleh : Simon Patabang}
Uses crt;
Var n,a : integer;
Begin
Writeln; clrscr;
Write('Input n = '); Readln(n);
Writeln;
a := n mod 2; {Cari sisa hasil bagi n dengan 2}
If a=0 then
writeln('N adalah bilangan genap')
else
writeln('N adalah bilangan ganjil');
Writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 5.3
Buatlah program dari algoritma dan flowchart penentuan Lulus atau Gagal
pada contoh 3.6
Penyelesaian :
Program akan meminta masukan nilai x kemudian di cek, apakah lebih besar
atau sama dengan 60. Jika benar, maka dinyatakan “Lulus”. Jika salah,
maka dinyatakan “Gagal‟.
Algoritama
1. Mulai
2. Definisikan variabel n
3. Input bil bulat n
4. Cek nilai n, jika n >= 60, cetak “Lulus”
5. Jika tidak, maka cetak “Gagal”
6. Selesai
Flowchart
Program :
Program Lulus_Gagal;
{File : CNTH53.pas }
{Oleh : Simon Patabang}
uses crt;
var n : integer;
Begin
clrscr;
write('Input nilai n = ');
readln(n);
if (n>=60) then
writeln('Lulus')
else
writeln('Gagal');
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program :
Adalah bentuk pilihan dimana ada lebih dari 2 pilihan “pernyataan” yang
harus dipilih salah satunya untuk dikerjakan dengan menyeleksi beberapa
kondisi dari sebuah variabel. Pernyataan yang dipilih adalah pernyataan
yang memenuhi syarat atau pernyataan yang bernilai benar.
Bentuk Perintah :
Flowchart
Contoh 5.4
Program
Program PersamaanKuadrad;
{File : CNTH53.pas }
{Oleh : Simon Patabang}
uses crt;
Begin
if d>0 then
Begin
x1:= (-b + d)/(2*a);
x2:= (-b - d)/(2*a);
writeln('x1 = ', x1:6:2);
writeln('x2 = ', x2:6:2);
End
else if d=0 then
Begin
x1:= (-b)/(2*a);
x2:= (-b)/(2*a);
writeln('x1 = ', x1:6:2);
writeln('x2 = ', x2:6:2);
End
else
Begin
p:= (-b)/(2*a);
q:= (d)/(2*a);
writeln('x1 = ', p:6:2,' + j ',q:6:2);
writeln('x2 = ', p:6:2,' - j ',q:6:2);
End;
writeln;
writeln('Tekan sembarang tombol untuk keluar');
writeln;
readln;
End.
Hasil Program
4. Nested If
Adalah bentuk algoritma seleksi, dimana dalam sebuah If terdapat If lain yang
akan menyeleksi kondisi dari sebuah variabel yang berbeda.
Bentuk Perintah :
Penjelasan :
Flowchart
Contoh 5.5
Seorang siswa dapat diterima menjadi Polisi jika memenuhi syarat sebagai
berikut :
• Umur minimum 19 Tahun dan Maksimum 25 Tahun
• Tinggi badan minimal 165 cm
• Nilai Test masuk minimal 70
Algoritma
1. Mulai
2. Definisikan var umur, tinggi, nilai
3. Input umur, tinggi badan, dan nilai test
4. Cek syarat sebagai berikut :
Cek umur (19 s/d 25 tahun)
Jika syarat umur benar maka
Cek tinggi badan (minimum 165 cm)
Jika syarat tinggi badan benar maka
Cek nilai ujian (minimum 70)
Jika syarat Nilai ujian benar
Maka cetak “Lulus
Jika salah satu syarat tidak memenuhi maka Cetak “Gagal”
5. Selesai
Flowchart
Program
program Nested_IF;
{File : CNTH55.pas }
{Oleh : Simon Patabang}
uses crt;
var u,t,n : integer;
begin
writeln;writeln;
clrscr;
write('Input Umur = ');
readln(u);
write('Input Tinggi Badan = ');
readln(t);
write('Input Nilai Test = ');
readln(n);
writeln;writeln;
write('Hasil test adalah : ');
If (u>=19) and (u<=25) then
Hasil Program
Operator Logika
Operator Not
Operator Not digunakan untuk menyangkal nilai logika dari suatu pernyataan
kondiri.
Operator And
Contoh :
Hasil Nilai
Kondisi A And B Jika n = A B Operasi Hasil
Logika
90 T T A and B T Benar
((n<=100) And 70 T F A and B F Salah
(n>80)) 50 T F A and B F Salah
30 T F A and B F Salah
Contoh 5.6
Program
Program Nilai;
Uses crt;
Var n : real;
Begin
{clrscr;}
write('Input Nilai Angka = ');readln(n);
if (n>85) and (n<=100) then
writeln('Anda mendapat nilai A')
else
if (n >= 70) and (n <= 85) then
writeln('Anda mendapat Nilai B')
else
if (n>= 60) and ( n< 70) then
writeln('Anda mendapat Nilai C')
else
if (n>50) and (n<60) then
writeln('Anda mendapat Nilai D')
else
End.
Hasil Program
Operator Or
Tabel Kebenaran OR
A B Operasi Hasil
T T A OR B T
F T A OR B T
T F A OR B T
F F A OR B F
Contoh :
Contoh 5.7.
Buatlah program untuk menjelaskan arti dari nilai huruf yang diinput sebagai
berikut :
Algoritma
Mulai
Deklarasikan variabel n dengan tipe karakter
Input nilai huruf
Cek nilai n:
Jika n=A atau n=a, maka cetak „Nilai Anda Sangat Baik‟
Jika n=B atau n=C, maka cetak „Nilai Anda Cukup Baik‟
Jika n=D atau n=E, maka cetak „Nilai Anda Sangat Buruk‟
Selesai
Flowchart
Program
Program Nilai;
Uses crt;
Var n : char;
Begin
write('Input Nilai Huruf = ');readln(n);
if (n='A') or (n ='a') then
writeln('Nilai Anda Sangat Baik')
else if (n ='B') or (n ='C') then
writeln('Nilai Anda Cukup Baik')
else if (n='D') or ( n='E') then
writeln('Nilai Anda Sangat Buruk')
else
writeln('Data input salah, ulangi!!!');
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
writeln;
Hasil Program
Case-of adalah kontrol seleksi yang digunakan untuk memilih salah satu pilihan
dari daftar pilihan yang ada. Dengan Case-of, kita tidak perlu membuat beberapa
kondisi seperti pada kontrol If ... Then .... Else. Case-of hanya memeriksa satu
variabel kontrol, kemudian memilih salah satu pilihan dari daftar pilihan yang
nilainya sama dengan nilai variabel kontrol. Daftar pilihan dalam Case-of selalu
diakhiri dengan kata kunci end; (end titik koma) sebagai penutup dari daftar pilihan
(Case-of-end)
Bentuk Perintah:
Flowchart
Catatan Penting!!! :
Catatan Penting!!!
Contoh 5.8
Buatlah program untuk menghitung Luas, Volume, dan Keliling sebuah Balok
dengan tampilan Daftar Pilihan sebagai berikut :
Menu Program
1. Hitung Luas Balok
2. Hitung Volume Balok
3. Hitung Keliling Balok
4. Keluar
Pilihan Anda (1/2/3/4)
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 84
Jika anda menginput data panjang, lebar, dan tinggi balok, maka program akan
menampilkan Daftar Pilihan seperti di atas. Jika anda menjawab Pilihan Anda
dengan :
1 artinya program akan menghitung Luas Balok
2 artinya program akan menghitung Volume Balok
3 artinya program akan menghitung Keliling Balok
4 artinya anda keluar dari program.
Algoritma
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 kontrol, vk
Cek nilai variabel kontrol
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
Flowchart
Program
Program Menu_Pilihan;
Uses crt;
Var p,l,t,v,ls,k : real;
vk : char;
Begin
{ clrscr;}
write('Input Panjang Balok = ');readln(p);
write('Input Lebar Balok = ');readln(l);
write('Input Tinggi Balok = ');readln(t);
writeln; writeln;
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
writeln;
End.
Hasil Program
Contoh 5.9
A = Sangat Baik
B = Baik
C = Cukup
D = Kurang
E = Gagal
Algoritma
Mulai
Deklarasikan variabel nilai dan ket
Input nilai
Cek variabel nilai
Jika nilai=A, kerjakan pernyataan pada pilihan A
Jika nilai=B, kerjakan pernyataan pada pilihan B
Jika nilai=C, kerjakan pernyataan pada pilihan C
Jika nilai=D, kerjakan pernyataan pada pilihan D
Jika nilai=E, kerjakan pernyataan pada pilihan E
Cetak keterangan nilai
Selesai
Flowchart
Program
Program Contoh5.2;
uses crt;
Var
Nilai : Char;
Ket : String [12];
Begin
Write ('Masukkan Nilai Huruf (A/B/C/D/E) = ');
Readln(Nilai) ;
Case Nilai Of
'A' : Ket := ' Sangat Baik ' ;
'B' : Ket := ' Baik ' ;
'C' : Ket := ' Cukup ' ;
'D' : Ket := ' Kurang ' ;
'E' : Ket := ' Gagal ' ;
End;
Catatan
Pernyataan pada setiap pilihan (A,B,C,D, dan E) tidak perlu menggunakan blok
Begin-end karena hanya terdiri dari satu baris pernyataan.
Contoh 5.3
Buatlah program dengan menggunakan Case-of untuk menentukan nilai Huruf dan
keterangannya dengan aturan sebagai berikut :
Nama : Amir
Nilai : A
Keterangan : Sangat Baik
Algoritma
Mulai
Deklarasikan variabel nilai angka n (integer), nilai huruf h (char), nama(string),
ket(string)
Input nama dan nilai angka
Cek nilai angka. Jika :
0 .. 50 mendapat Nilai E (Buruk)
51 ..59 mendapat Nilai D (Kurang)
60 .. 69 mendapat Nilai C (Cukup)
70.. 85 mendapat Nilai B (Baik)
86 ..100 mendapat Nilai A (Sangat Baik)
Cetak hasil keluaran
Selesai
Flowchart
Program
Program Nilai;
uses crt;
var n : integer;
h : char;
ket,nama : string[25];
Begin
{ clrscr;}
write('Nama : ');readln(nama);
write('Nilai angka : ');readln(n);
case n of
0..50 : Begin
h := 'E';
ket:= 'Buruk'
End;
51..59 : Begin
h := 'D';
ket:= 'Kurang'
End;
60..69 : Begin
h := 'C';
ket:= 'Cukup'
End;
writeln;
writeln('Nama : ',nama);
writeln('Nilai : ',h);
writeln('Keterangan : ',ket);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
end.
Hasil Program
Data masukan adalah Total Belanja (TB). Tampilkan keterangan “Maaf anda
belum beruntung” jika tidak memenuhi syarat di atas.
Penyelesaian:
Algoritma
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 91
Mulai
Deklarasikan variabel TB, dan H
Input data total belanja TB
Cek nilai TB, Jika :
1 Juta <=Total Belanja<=5 Juta : Televisi
700 ribu <=Total Belanja< 1 juta : Kamera
500 ribu <=Total Belanja< 700 ribu : Printer
200 ribu <Total Belanja< 500 ribu : VCD Player
50 ribu <=Total Belanja<= 200 ribu : Baju Kaos
Cetak info hadiah :
JIka Total Belanja< 1 juta atau Total Belanja>5 juta, maka tidak
mendapatkan hadiah
Jika memenuhi salah satu pilihan di atas, maka mendapatkan hadiah
Selesai
Flowchart
Program Nilai;
uses crt;
var tb : integer;
h : string[20];
Begin
clrscr;
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 92
write('Jumlah Total Belanja (x1000) = ');readln(tb);
case tb of
500..699 : h := 'Printer';
700..999 : h := 'Kamera';
1000..5000:h := 'Televisi';
end;
if (tb<50) or (tb>5000) then
Begin
writeln;
writeln('Maaf, Anda tidak beruntung');
End
else
Begin
writeln;
writeln('Anda mendapatkan hadiah ',h);
End;
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
end.
Hasil Program
Buatlah program untuk menginput harga pembelian kebutuhan dapur pada sebuah
toko Makmur Jaya. Jika harga barang lebih dari Rp. 150.000,- maka akan
Tampilkan informasi Harga Jual, Diskon, dan Harga Bayar, kemudian input Jumlah
uang pembeli dengan tampilan sbb:
Penyelesaian
Algoritma
Mulai
Deklarasikan variabel harga, diskon, bayar
Input Harga Barang, harga
Cek harga. Jika :
Harga > Rp. 150.000 maka hitung diskon = harga x 2%
Harga > Rp. 250.000 maka hitung diskon = harga x 5%
Harga > Rp. 500.000 maka hitung diskon = harga x 10%
Tampilkan informasi harga pembayaran
Input Jumlah uang pembayaran
Cetak Struk Belanja
Selesai
Flowchart
Program
Program Belanja;
Uses crt;
Var harga,uang : real;
diskon,bayar,sisa : real;
nama_barang : string[20];
Begin
clrscr;
writeln('Struk Belanja Anda');
writeln('===================================');
writeln('Nama Barang : ',nama_barang);
writeln('Harga : Rp.',harga:12:2);
writeln('Diskon : Rp.',diskon:12:2);
writeln('Bayar : Rp.',bayar:12:2);
writeln('===================================');
writeln('Jumlah Uang : Rp.',uang:12:2);
writeln('Sisa Kembalian : Rp.',sisa:12:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
writeln;
End.
Hasil Program
1. For-to-do
2. For-downto-do
3. While-do
4. Repeat-until
1. For-To-Do
Bentuk Perintah :
Keterangan
i = variabel kontrol
n1 = nilai awal
n2 = nilai batas, dimana n1<n2
Nilai variabel kontrol i secara otomatis akan bertambah satu mulai dari i=n1 hingga
i=n2. Selama nilai benar, maka pernyataan-1 akan dikerjakan. Jika i bernilai salah
atau i>n2, maka pernyataan-2 akan dikerjakan. Variabel kontrol pada For-to-do
hanya dapat bertipe Integer.
Flowchart
Misalnya :
n:=0;
for i:=1 to 5 do
Begin
n:=n + i;
End;
m:=n+5;
Contoh 6.1
Buatlah program untuk mencetak angka 1 hingga n. Nilai n adalah data masukan.
Bentuk tampilan adalah 1 2 3 4 5 … n
Algoritma
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
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 99
5. Cetak nilai i
6. Ulangi langkah 4
7. Selesai
Flowchart
Program :
Program CetakAngka;
uses crt;
Begin
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.
Hasil Program
Contoh 6.2
Penyelesaian
Proses penjumlahan angka mulai sari 1 hingga n dilakulan dalam loop dengan
pernyataan j := j + i. Setelah perulangan selesai, maka hasil penjumlahan j akan
dicetak.
Algoritma
1. Mulai
2. Deklarasikan variabel i,n, dan j dengan tipe integer.
3. Input nilai n.
4. Definisikan nilai awal jumlah data j = 0.
5. Buat perulangan mulai i=1 s/d i=n
6. Cetak nilai i
7. Hitung j = j + i
8. Ulangi langkah 4
9. Cetak jumlah j
10. Selesai
Flowchart
Program
Program Jumlah_Angka;
uses crt;
Begin
clrscr;
j:=0;
write('Input nilai n = '); readln(n);
for i:=1 to n do
Begin
write(' ',i);
j:= j + i;
End;
writeln;
writeln('Jumlah Data = ',j);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
Hasil Program
Contoh 6.3
Buatlah program untuk mencari dan mencetak bilangan Ganjil dari bilangan bulat
antara 1 hingga n. N adalah data masukan. Hitunglah Jumlah dari bilangan ganjil
tersebut.
Penyelesaian
Bilangan ganjil antara 1 hingga n diperoleh dengan cara membagi bilangan tersebut
dengan 2, kemudian ambil sisa pembagiannya. Gunakan perintah mod untuk
mencari sisa pembagian. Jika sisanya satu, maka bilangan tersebut adalah
bilangan ganjil. Jumlahkan bilangan ganjil tersebut dengan bilangan ganjil
sebelumnya.
Algoritma
1. Mulai
2. Deklarasikan variabel i, n, s,j
3. Buat perulangan mulai nilai i=1 hingga n
4. Bagi bilangan i dengan 2 dan ambil sisanya, s= I mod 2
5. Cek sisa nilai variabel s.
6. Jika s=1, maka cetak i
7. Jumlahkan bilangan ganjil, j = j + i
8. Ulangi langkah 3
9. Cetak Jumlah data j
10. Selesai
Flowchart
Program
Program Bilangan_Ganjil;
uses crt;
var i,n,s,j : integer;
Begin
clrscr;
write('Input nilai n = '); readln(n);
writeln;
writeln('Jumlah Bilangan Ganjil = ',j);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.4
Buatlah program untuk mencari dan mencetak bilangan Genap dari bilangan bulat
antara 1 hingga n. N adalah data masukan. Hitunglah Jumlah dari bilangan genap
tersebut.
Penyelesaian :
Contoh ini hampir sama dengan contoh 6.3. Perbedaannya adalah jika sisanya nol,
maka bilangan tersebut adalah bilangan genap.
Algoritma
1. Mulai
2. Deklarasikan variabel i, n, s
3. Buat perulangan mulai nilai i=1 hingga n
4. Bagi bilangan i dengan 2 dan ambil sisanya, s= I mod 2
5. Cek sisa nilai variabel s.
6. Jika s=0, maka cetak i
7. Jumlahkan bilangan genap, j = j + i
8. Ulangi langkah 3
9. Cetak Jumlah data j
Flowchart
Program
Program Bilangan_Genap;
uses crt;
Begin
clrscr;
write('Input nilai n = '); readln(n);
for i:=1 to n do
Begin
s:= i mod 2;
if s=0 then
Begin
writeln; writeln;
writeln('Jumlah Bilangan Genap = ',j);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.5
Buatlah program untuk menghitung nilai rata-rata dari bilangan bulat sebanyak n
Penyelesaian
Algoritma
1. Mulai
2. Deklarasikan variabel i, n, j, dan r
3. Tentukan nilai awal untuk jumlah data j=0
4. Input banyaknya data
5. Buat perulangan dari i=1 s/d i=n
6. Cetak nilai i
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 107
7. Jumlahkan nilai variabel ke-i dengan j, j = j + i
8. Ulangi langkah 5
9. Hitung nilai rata-rata, r
10. Cetak nilai rata-rata r dan jumlah data j
11. Selesai
Flowchart
Program
Program Ratarata;
uses crt;
Begin
clrscr;
j:=0;
write('Input nilai n = '); readln(n);
Hasil Program
Contoh 6.6
1 1 1 1
Jika diketahui persamaan y 1 .... . Buatlah program untuk
2 3 4 n
menghitung jumlah dan nilai rata-rata dari bilangan pecahan tersebut. N adalah
data masukan.
Penyelesaian
Flowchart
Program
Program Ratarata;
uses crt;
Begin
clrscr;
j:=0;
write('Input nilai n = '); readln(n);
writeln;
for i:=1 to n do
Begin
write(' 1/',i);
k:=1/i;
j:= j + k;
End;
r:=j/n;
writeln;writeln;
writeln('Banyak Data = ',n);
writeln('Jumlah Data = ',j:6:2);
writeln('Rata-rata = ',r:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.7
1 dibagi 3 = 0 sisa 3
2 dibagi 3 = 0 sisa 3
3 dibagi 3 = 1 sisa 0
4 dibagi 3 = 1 sisa 1
Penyelesaian
Syarat untuk kasus pembagian bilangan bulat dengan mengambil hasil bagi dan
sisanya, adalah semua variabel yang digunakan harus bertipe integer.
Algoritma
1. Mulai
2. Deklarasikan variabel k,m,n,b,s,p dengan tipe integer
3. Input nilai awal m
4. Input nilai akhir n
5. Input bilangan pembagi
6. Buat perulangan dari k=m hingga k-n
7. Bagi nilai k dengan bilangan pembagi p dan ambil hasil bilangan bulatnya
8. Bagi nilai k dengan bilangan pembagi p dan ambil sisa hasil pembagian
9. Cetak hasil dengan format yang ditentukan
10. Hentikan proses program dan tampilkan informasi
11. Selesai
Flowchart
Program
uses crt;
var k,m,n,b,s,p : integer;
Begin
clrscr;
write('Nilai awal m =');readln(m);
write('Nilai akhir n =');readln(n);
write('Bil Pembagi =');readln(p);
for k:=m to n do
Begin
b:=k div p;
s:=k mod p;
writeln(k,' dibagi ',p,' = ',b,' sisa ',s);
End;
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.8
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Bentuk keluaran terdiri dari 3 baris dan 5 kolom. Jika bentuk output seperti itu,
maka kita akan membuat 2 buah perulangan (loop) for-to-do. Perulangan pertama
menyatakan baris dan perulangan kedua menyatakan kolom. Dengan demikian
maka perulangan baris mulai 1 hingga 3 sedangkan perulangan kolom mulai dari 1
hingga 5. Pada setiap baris, nilai variabel kontrol kolom akan dicetak.
Algoritma
1. Mulai
2. Deklarasikan variabel i, j
3. Buat perulangan baris mulai dari i=1 hingga i=3
4. Buat perulangan kolom mulai dari j=1 hingga j=5
5. Cetak nilai j =1 hingga j=5
6. Ulangi langkah 4
7. Ulangi langkah 3
8. Selesai
Flowchart
Program Baris_Kolom;
{File : CNTH68.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Hasil Program
Contoh 6.9
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Penyelesaian:
Bentuk keluaran terdiri dari 5 baris dan 5 kolom. Kita akan membuat 2 buah
perulangan (loop) for-to-do. Perulangan pertama menyatakan baris dan perulangan
kedua menyatakan kolom. Perulangan baris mulai 1 hingga 5 karena terdiri dari 5
baris sedangkan perulangan kolom mulai dari 1 hingga 1 untuk baris pertama
sedangkan baris berikutnya bertambah 1 kolom ketika berpindah baris. Pada setiap
baris, nilai variabel kontrol kolom akan dicetak.
Misalnya :
ketika baris i=1, maka kolom j akan berulang dari j=1 hingga j=1
ketika baris i=2, maka kolom j akan berulang dari j=1 hingga j=2
ketika baris i=3, maka kolom j akan berulang dari j=1 hingga j=3
ketika baris i=4, maka kolom j akan berulang dari j=1 hingga j=4
ketika baris i=5, maka kolom j akan berulang dari j=1 hingga j=5
Nilai i selalu sama dengan dengan nilai akhir j, sehingga perulangan baris adalah
For i:=1 to 5 dan perulangan kolom For j:=1 to i do
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
Flowchart
Program Baris_Kolom;
{File : CNTH69.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
for i:= 1 to 5 do
Begin
for j:=1 to i do
Begin
Hasil Program
2. For-Downto-Do
Bentuk Perintah :
Keterangan
k = variabel kontrol
n1 = nilai awal
n2 = nilai batas, dimana n1>n2
Nilai variabel k secara otomatis akan berkurang satu mulai dari k=n1 hingga k=n2.
Selama nilai k benar, maka pernyataan-1 akan dikerjakan. Jika k bernilai salah atau
k<n2, maka pernyataan-2 akan dikerjakan.
Flowchart
n:=0;
for i:=5 Downto 1 do
Begin
n:=n + i;
End;
m:=n+5;
Perulangan
n=n+i Nilai n m = n+5 Nilai m
ke-i
5 n := 0 + 5 5
4 n := 5 + 4 9
3 n := 9 + 3 12
2 n := 12 + 2 14
1 n := 14 + 1 15
Selesai m:=15+5 20
Contoh 6.10
Penyelesaian:
Hasil keluaran yang diminta berupa urutan angka mulai dari 15 hingga 8 dimana
nilai berikutnya berkurang satu dari nilai di depannya. Untuk menyelesaikan, maka
kita misalkan variabel muntuk menyimpan nilai awal, m=15 dan nilai akhir disimpan
oleh variabel n, n = 8. Kedua variabel bertipe integer.
Algoritma
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 118
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
Selesai
Flowchart
Program downtodo;
{File : CNTH610.pas}
{Oleh : Simon Patabang}
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');
readln;
End.
Contoh 6.11
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
Penyelesaian:
Dengan cara yang sama pada contoh 6.9, maka Nilai awal baris i=5 dan nilai akhir
baris i=1, Dengan demikian maka nilai baris i akan selalu sama dengan dengan
nilai akhir kolom j, sehingga perulangan baris adalah For j:=5 downto 1 do dan
perulangan kolom adalah For j:=1 to i do
Perulangan baris mulai i=5 hingga i=1 sedangkan perulangan kolom j mulai dari j=1
hingga j=i..
Ketika baris i=5, maka kolom j akan berulang dari j=1 hingga j = i =5
Ketika baris i=4, maka kolom j akan berulang dari j=1 hingga j = i =4
Ketika baris i=3, maka kolom j akan berulang dari j=1 hingga j = i =3
Ketika baris i=2, maka kolom j akan berulang dari j=1 hingga j = i =2
Ketika baris i=1, maka kolom j akan berulang dari j=1 hingga j = i =1
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
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
Flowchart
Program
Program Baris_Kolom;
{File : CNTH611.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Contoh 6.12
5
5 4
5 4 3
5 4 3 2
5 4 3 2 1
Penyelesaian:
Bentuk keluaran terdiri dari 5 baris dan 5 kolom. Karena outputnya mulai dari angka
besar ke kecil, maka menggunakan fo-down-to. Perulangan baris mulai 5 hingga 1
sedangkan perulangan kolom mulai dari 5 hingga 5 untuk baris pertama sedangkan
baris berikutnya, kolomnya bertambah 1.
Nilai i selalu sama dengan dengan nilai akhir j, sehingga perulangan baris adalah
For i:=5 Downto 1 Do dan perulangan kolom For j:=5 Downto i Do
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
4. Buat perulangan kolom dari j=5 hingga j=i
5. Cetak nilai j
6. Ulangi langkah 4
7. Pindah baris
8. Ulangi langkah 3
9. Press any key
10. Selesai
Program
Program Baris_Kolom;
{File : CNTH612.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Contoh 6.13
*
* *
* * *
* * * *
* * * * *
Penyelesaian
Kasus ini dapat diselesaikan dengan menggunakan algoritma dari Contoh 6.9 dan
Contoh 6.12. dengan mencetak karakter *. Hanya mengganti j menjadi * pada
algoritma langkah ke-5. Untuk jawaban ini, menggunakan algoritma dari Contoh
6.12.
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
4. Buat perulangan kolom dari j=5 hingga j=i
5. Cetak nilai karakter *
6. Ulangi langkah 4
7. Pindah baris
8. Ulangi langkah 3
9. Press any key
10. Selesai
Flowchart
Hasil Program
Contoh 6.14
* * * * *
* * * *
* * *
* *
*
Penyelesaian
Kasus ini dapat diselesaikan dengan menggunakan algoritma dari Contoh 6.11.
dengan mencetak karakter *. Hanya mengganti j menjadi * pada algoritma langkah
ke-5. Untuk jawaban ini, menggunakan algoritma dari Contoh 6.12.
Algoritma
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 125
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
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
Flowchart
Program
Program Baris_Kolom;
{File : Cnth614.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Hasil Program
Contoh 6.15
1 2 3 4 5
1 2 3 4 *
1 2 3 * *
1 2 * * *
1 * * * *
1 * * * *
Penyelesaian
Kasus ini dapat diselesaikan dengan menggunakan algoritma dari Contoh 6.11.
Pengembangannya adalah pada langkah ke-5 dilakukan pengecekan, apakah nilai
i>=j. Jika i>= j, maka cetak j, jika tidak maka cetak karakter *.
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
4. Buat perulangan kolom dari j=1 hingga j=5
5. Cek apakah i>=j.
6. Jika Ya, cetak j
7. Jika Tidak, cetak *
8. Ulangi langkah 4
9. Pindah baris
10. Ulangi langkah 3
11. Press any key
12. Selesai
Program
Program Baris_Kolom;
{File : Cnth615.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Hasil Program
Contoh 6.16
* * * * 5
* * * 4
* * 3
* 2
1
Penyelesaian
Kasus ini dapat diselesaikan dengan menggunakan algoritma dari Contoh 6.15.
Pengembangannya adalah pada langkah ke-5 dilakukan pengecekan nilai i dan j.
Jika i>j, maka cetak karakter *., jika i=j maka cetak nilai j.
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
4. Buat perulangan kolom dari j=1 hingga j=5
5. Cek apakah i>j. Jika ya, cetak karakter *
6. Cek apakah i=j, jika Ya, cetak nilai j
7. Ulangi langkah 4
8. Pindah baris
9. Ulangi langkah 3
10. Press any key
11. Selesai
Flowchart
Program
Program Baris_Kolom;
{File : Cnth616.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
Hasil Program
Contoh 6.17
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
Penyelesaian:
Algoritma
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=5 hingga j=1
5. Cek apakah i<j.
6. Jika ya, cetak karakter spasi („ „)
7. Jika, Tidak, maka cetak nilai j
8. Ulangi langkah 4
9. Pindah baris
10. Ulangi langkah 3
11. Press any key
12. Selesai
Flowchart
Program
Program Baris_Kolom;
{File : Cnth617.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
for i:= 1 to 5 do
Begin
for j:=5 Downto 1 do
Begin
if i<j then
write (' ')
else
write(' ',j);
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
Hasil Program
Contoh 6.18
5
4 5
3 4 5
2 3 4 5
1 2 3 4 5
Penyelesaian
Kasus ini dapat diselesaikan dengan menggunakan algoritma dari Contoh 6.16.
Pengembangannya adalah pada langkah ke-5 dilakukan pengecekan nilai i dan j.
Jika i<=j, maka cetak nilai j, jika tidak maka cetak karakter spasi („ „). Agar
hasilnya tampak seperti di atas, maka jarak spasinya perlu diatur. Dalam contoh ini,
spasi pada penulisan j, ada 5 spasi dan ada 3 spasi penulisan spasi.
Algoritma
1. Mulai
2. Deklarasikan variabel kontrol i dan j
3. Buat perulangan baris dari i=5 hingga i=1
4. Buat perulangan kolom dari j=1 hingga j=5
5. Cek apakah i<=j. Jika ya, cetak nilai j
6. Jika Tidak, cetak karakter spasi.
7. Ulangi langkah 4
8. Pindah baris
9. Ulangi langkah 3
10. Press any key
11. Selesai
Flowchart
Program
Program Baris_Kolom;
{File : Cnth618.pas}
{Oleh : Simon Patabang}
uses crt;
var i,j : integer;
Begin
clrscr;
Hasil Program
Bentuk Perintah :
Flowchart
Contoh 6.19
20 21 22 23 24 25 26 27
Penyelesaian
Tampilan output yang diminta menunjukkan bawah nilai awal 20 dan nilai akhir 27
dengan pertambahan 1. TIpe variabel yang digunakan adalah integer. Dengan
demikian, maka kita menentukan nilai awal misalnya a=20 dan nilai akhir a=27.
Untuk menampilkan urutan bilangan 20 s/d 27, maka kondisi pada while adalah
a<=27 dengan pernyataan WHILE a<=27 DO.
Algoritma
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
8. Press any key
9. Selesai
Flowchart
Program While_DO;
{File : Cnth619.pas}
{Oleh : Simon Patabang}
uses crt;
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;
End.
Hasil Program
Contoh 6.20
Buatlah program untuk menghitung y = x2 dimana nilai x mulai dari a hingga b. Nilai
masukan adalah a dan b dengan output dengan contoh tampilan sebagai berikut :
=================
x y
=================
1 2
3 9
5 25
7 49
…. …..
….. …..
b b2
================
Jumlah ……
Penyelesaian
Dari tampilan di atas memperlihatkan bahwa nilai x mulai a=1 hingga b dengan
pertambahan nilai x adalah 2. Setiap perulangan akan menghitung nilai y:=sqr(a)
dan jumlah total dari nilai y hingga kondisi while (a<=b.) tidak terpenuhi.
Flowchart
1. Mulai
2. Deklarasikan variabel a,b,y,j
3. Input nila a dan b
4. Tampilkan Judul
5. Buat perulangan x mulai dari a hingga a<=6
6. Hitung y = x2
7. Hitung Jumlah nilai y, j = j + y;
8. Ulangi langkah 5
9. Cetak nilai j
10. Selesai
Flowchart
Program
Program While_DO;
{File : Cnth620.pas}
{Oleh : Simon Patabang}
uses crt;
var a,b,y,j : integer;
Begin
clrscr;
j:=0;
writeln;
write('Input Nilai awal x = ');readln(a);
write('Input Nilai akhir x = ');readln(b);
writeln('==========================');
writeln(' x y=x^2 ');
writeln('==========================');
While a<=b Do
Begin
y:=sqr(a);
writeln(' ',a,' ',y);
Hasil Program
Contoh 6.21
Penyelesaian
Algoritma
1. Mulai
2. Deklarasikan variabel a,b,n
3. Input nilai b dan n
4. Tentukan nilai awal a=1
Flowchart
Program
Program While_DO;
{File : Cnth621.pas}
{Oleh : Simon Patabang}
uses crt;
var a,b,n,u : integer;
Begin
clrscr;
writeln;
writeln('Barisan Bilangan Un = 2n + b');
writeln('============================');
writeln;
write('Beda suku b = ');readln(b);
write('Jumlah suku n = ');readln(n);
a:=1;
writeln;
While a<=n Do
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.22
Penyelesaian
Banyaknya perulangan ditentukan oleh banyaknya suku yaitu n. Namun tidak perlu
tambahan variabel kontrol untuk mengetahui perulangan, karena outputnya mulai
dari nilai terbesar ke nilai terkecil. Dalam hal ini, nilai n berkurang 1 setiap kali
terjadi proses perulangan. Dalam perulangan While-Do, nilai paling akhir adalah 1
sehingga kondisi pada while adalah n>=1.
Algoritma
1. Mulai
2. Deklarasikan variabel b,n
3. Input nilai b dan n
4. Buat perulangan dari n hingga 1
5. Hitung U = 2n + b
6. Kurangi nilai n, n = n-1
7. Cetak U
8. Ulangi langkah 4
9. Press any key
10. Selesai
Program
Program While_DO;
{File : Cnth622.pas}
{Oleh : Simon Patabang}
uses crt;
var b,n,u : integer;
Begin
clrscr;
writeln;
writeln('Barisan Bilangan Un = 2n + b');
writeln('============================');
writeln;
write('Beda suku b = ');readln(b);
write('Jumlah suku n = ');readln(n);
writeln;
While n>=1 Do
Begin
u:= 2*n + b;
n:= n - 1;
write(' ',u);
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
Hasil Program
Contoh 6.23
Penyelesaian
Untuk perhitungan sudut trigonometri sinus, cosinus, dan tangen dapat diperoleh
dengan perintah sin, cos, tan=sin/cos. Yang perlu diketahui adalah, nilai sudut
harus dikonversi menjadi nilai radian lebih dahulu, kemudian dihitung dengan
perintah sin dan cos. Dalam ilmu matematika dipelajari bahwa π radian = 180 o .
Kalau dibalik dari dejarat ke radian, maka 1 = π/180 radian/o. Jadi nilai ao dalam
radian adalah π/180 x a
b = π/180 x a radian
Untuk menghitung nilai trigonometri, maka kita menggunakan variabel dengan tipe
real karena nilainya berupa bilangan desimal. Misalnya c, d, dan r.
Algoritma
1. Mulai
2. Definisikan variabel a,b,c,d,r,ulang
Flowchart
Program
Program Trigonometri;
{File : Cnth623.pas}
{Oleh : Simon Patabang}
uses crt;
var
a : integer;
b,c,d,r : real;
Begin
ulang:='y';
while (ulang='y') do
begin
clrscr;
writeln('PROGRAM TRIGONOMETRI');
writeln('======================');
Write('Input Nilai Sudut = ');readln(a);
writeln; {mecetak baris kosong}
r:=pi/180*a;
b:=sin(r); c:=cos(r); d:=b/c;
writeln('Sin ',a,' Derajat = ',b:6:2);
writeln('Cos ',a,' Derajat = ',c:6:2);
writeln('Tan ',a,' Derajat = ',d:6:2);
writeln('=======================');
writeln;
write('Mau Mencoba Lagi (y/t) ? ');
Readln(ulang);
writeln;
writeln;
end;
End.
Hasil Program
Contoh 6.24
Menu Pilihan
1. Hitung Luas
2. Hitung Keliling
3. Hitung Volume
4. Selesai
Pilihan Anda (1/2/3/4)?
Penyelesaian
Algoritma :
1. Mulai
2. Deklarasikan variabel p,l,t,ls, vl, kl dengan tipe real, ulang dengan tipe char,
dan pilihan dengan tipe integer.
3. Deklarasikan label Selesai.
4. Definisikan nilai awal var kontrol, ulang = „y‟
5. Buat perulangan, dan cek apakah ulang=‟y‟, Jika ya, lanjutkan ke langkah 5
6. Tampilkan menu pilihan
7. Input pilihan (1/2/3/4)
8. Input nilai panjang, lebar, dan tinggi balok
9. Cek pilihan, Jika pilihan>=4, lanjutkan ke langkah 24
10. Cek nilai variabel kontrol
11. Jika 1, maka kerjakan pilihan-1
12. Hitung Luas balok
13. Cetak Luas
14. Lanjutkan ke langkah 22
15. Jika 2, maka kerjakan pilihan-2
16. Hitung Keliling balok
17. Cetak Keliling
18. Lanjutkan ke langkah 22
19. Jika 3, maka kerjakan pilihan-3
20. Hitung Volume balok
21. Cetak Volume
22. Lanjutkan ke langkah 22
23. Press any key
24. Ulangi langkah 4
25. Selesai
Flowchart
Program
{File : Cnth624.pas}
{Oleh : Simon Patabang}
uses crt;
var p,l,t,Ls,kl,vl : real;
ulang : char;
pilihan : integer;
Label Selesai;
begin
clrscr;
ulang := 'y';
while ulang = 'y' do
Begin
clrscr;
writeln('---MENU---');
writeln('1.Hitung Luas');
writeln('2.Hitung Keliling');
writeln('3. Hitung Volume');
writeln('4. Selesai');
write('PILIHAN [1-4]:') ;readln(pilihan);
writeln;writeln;
write('Panjang = ');readln(p);
write('Lebar = ');readln(l);
write('Tinggi = ');readln(t);
case pilihan of
1 : begin
ls:=p*l;
writeln('Luas = ',ls:6:2);
end;
2 : begin
kl:=4*(p + l + t);
writeln('Keliling = ',kl:6:2);
end;
3 : begin
vl:=p*l*t;
writeln('Volume = ',vl:6:2);
end;
end;
writeln;writeln('Tekan sembarang tombol untuk melanjutkan');
readkey;
end;
Selesai:
end.
Hasil Program
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 149
Gambar 6.51. Hasil Program Contoh 6.24
4. Repeat Until
Bentuk Perintah :
Dalam perulangan repeat-until, pernyataan-1 pasti dikerjakan satu kali lebih dahulu,
kemudian nilai variabel kontrol dicek 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.
Flowchart
Contoh 6.25
Penyelesaian
Tampilan output berupa urutan bilangan genap positip dengan nilai awal 2 dan nilai
akhir 12 pertambahan 2. Jadi nilai awal variabel kontrol I=2, kemudian I mengalami
perubahan nilai dengan pernyataan I = I + 2. Untuk mengecek nilai I, maka
pernyataan kondisi pada until adalah I>12.
Algoritma
1. Mulai
2. Deklarasi variabel kontrol i
3. Tentukan nilai awal I, i=2;
4. Perulangan dengan repeat
5. Cetak nilai i
6. I = I + 2;
7. Cek nila I, apakah i>12
8. Jika Tidak, ulangi langkah 4
9. Jika ya lanjutkan ke langkah 10
10. Press any key
11. selesai
Flowchart
Program
program Repeat_Until;
{File : Cnth625.pas}
{Oleh : Simon Patabang}
uses crt;
var i : integer;
Begin
clrscr;
i:=2;
writeln;writeln;
repeat
write(' ',i);
i:= i +2;
Until I > 12;
writeln;writeln;
writeln('Tekan sembarang tombol untuk melanjutkan');
readkey;
end.
Hasil Program
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 152
Gambar 6.54. Gambar Contoh 6.25
Contoh 6.26
Penyelesaian
Banyaknya perulangan ditentukan oleh banyaknya suku yaitu n. Jadi nilai n mulai
dari n hingga 1, maka pernyataan kondisi perulangan Repeat-Until adalah apakah
n<1. Dalam hal ini, nilai n berkurang 1 setiap kali terjadi proses perulangan.
Algoritma
1. Mulai
2. Deklarasikan variabel b,n
3. Input nilai b dan n
4. Mulai perulangan repeat
5. Hitung U = 2n + b
6. Kurangi nilai n, n = n-1
7. Cetak U
8. Cek nilai n, apakah n<1
9. Jika Tidak, ulangi langkah 4
10. Jika Ya, lanjutkan ke langkah 11
11. Press any key
12. Selesai
Flowchart
Program
Program Repeat_Until;
{File : Cnth626.pas}
{Oleh : Simon Patabang}
uses crt;
var b,n,u : integer;
Begin
clrscr;
writeln;
writeln('Barisan Bilangan Un = 2n + b');
writeln('============================');
writeln;
write('Beda suku b = ');readln(b);
write('Jumlah suku n = ');readln(n);
writeln;
Repeat
u:= 2*n + b;
n:= n - 1;
write(' ',u);
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.27
Penyelesaian
Celcius :
Reamur :
Titik beku pada suhu 0⁰R
Titik didih Air pada suhu 80⁰R
Nilai skala antara titik beku dengan titik didih adalah 80 derajat
Fahrenheit :
Titik beku pada suhu 32⁰F
Titik didih Air pada suhu 212⁰F
Nilai skala antara titik beku dengan titik didih adalah 180 derajat
Kelvin :
Titik beku pada suhu 273 K
Titik didih Air pada suhu 373 K
Konversi
No. Rumus
Dari Ke
4
Reamur t°C = ( x t ) °R
5
1 Celsius 9
Fahrenheit t°C = ( x t ) + 32 °F
5
Kelvin t °C = ( t + 273,15) K
5
Celsius t°R = ( x t ) °C
4
9
2 Reamur Fahrenheit t°R = ( x t ) + 32°F
4
t
Kelvin t°R = + 273.15 K
4/5
5
Celsius t°F = x ( t - 32)°C
9
4
3 Fahrenheit Reamur t°F = x ( t - 32)°R
9
( t + 459,67)
Kelvin t°F = K
9/5
Celsius tK = t − 273,15°C
9
Fahrenheit tK = (t x ) - 459.67°R
4 Kelvin 5
4
Reamur tK = ( t -273,15) x °R
5
Algoritma
1. Mulai
2. Deklarasikan variabel c,r,f,k dengan tipe real
3. Tentukan nilai awal suhu Celcius, c=10
4. Cetak judul tabel
5. Mulai perulangan repeat
6. Hitung konversi suhu C ke R, F, dan K
7. Cetak nilai c, r, f, dan k
8. Tambahkan nilai c dengan 5, c = c + 5
9. Cek nilai c, apakah c>50
10. Jika ya, lanjutkan ke langkah 12
11. Jika tidak, ulangi langkah 5
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 156
12. Cetak garis
13. Press any key
14. Selesai
Flowchart
Program
Program Repeat_Until;
{File : Cnth627.pas}
{Oleh : Simon Patabang}
uses crt;
var c,r,f,k : real;
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 157
Begin
clrscr;
writeln;
c:=10.0;
writeln('Konversi Suhu Celcius ke R, F, dan K ');
writeln('==========================================');
writeln('Celcius Reumer Fahrenheit Kelvin');
writeln('==========================================');
writeln;
Repeat
R := (4/5*c);
F := (9/5*c ) + 32;
K := ( c + 273.15);
c:= c + 5;
writeln(' ',c:6:2,' ',r:6:2,' ',f:6:2,' ',k:6:2);
Until c>50;
writeln('==========================================');
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.
Hasil Program
Contoh 6.28
Penyelesaian
Algoritma
1. Mulai
2. Deklarasikan variabel c1,c2,r,f,k dengan tipe real, ulang dengan tipe char
3. Tentukan nilai awal ulang, ulang=y
4. Masuk perulangan repeat
5. Input nilai c1 dan c2
6. Buat judul tabel
7. Masuk perulangan while dengan kondisi apakah c1<=c2
8. Jika ya, lanjutkan ke langkah 9
9. Hitung konversi suhu C ke R, F, dan K
10. Cetak nilai c, r, f, dan k
11. Tambahkan nilai c dengan 5, c1 = c1+ 5
12. Ulangi langkah 7
13. Buat garis
14. Buat pertanyaan “ Ulangi lagi (y/t)?”
15. Jika jawab y, ulangi langkah 4
16. Jika jawab t, lanjutkan ke langkah 17
17. Selesai
Flowchart
Program
Program Repeat_Until;
{File : Cnth628.pas}
{Oleh : Simon Patabang}
Begin
writeln;
ulang:= 't';
repeat
clrscr;
writeln;
write(' Suhu Celcius awal = ');readln(c1);
write(' Suhu Celcius akhir = ');readln(c2);
writeln;
writeln('Konversi Suhu Celcius ke R, F, dan K ');
writeln('==========================================');
writeln('Celcius Reumer Fahrenheit Kelvin');
writeln('==========================================');
writeln;
while c1<=c2 do
Begin
R := (4/5*c1);
F := (9/5*c1 ) + 32;
K := ( c1 + 273.15);
writeln(' ',c1:6:2,' ',r:6:2,' ',f:6:2,'
',k:6:2);
c1:= c1 + 5;
end;
writeln('==========================================');
writeln; writeln;
write('Ulang lagi (y/t)?'); readln(ulang);
Until ulang='t';
End.
Hasil Program
Buatlah program dengan mengubah Contoh 6.28 dimana loop pertama adalah
while-do dan loop kedua adalah repeat-until.
Program
Program Repeat_Until;
{File : Cnth629.pas}
{Oleh : Simon Patabang}
uses crt;
var c1,c2,r,f,k : real;
ulang : char;
Begin
writeln;
ulang:= 'y';
while ulang='y'do
Begin
clrscr;
writeln;
write(' Suhu Celcius awal = ');readln(c1);
write(' Suhu Celcius akhir = ');readln(c2);
writeln;
writeln('Konversi Suhu Celcius ke R, F, dan K ');
writeln('==========================================');
writeln('Celcius Reumer Fahrenheit Kelvin');
writeln('==========================================');
writeln;
repeat
R := (4/5*c1);
F := (9/5*c1 ) + 32;
K := ( c1 + 273.15);
writeln('==========================================');
writeln; writeln;
write('Ulang lagi (y/t)?'); readln(ulang);
end;
End.
Definisi
Array adalah tipe data terstruktur yang terdiri dari sejumlah data. Array
merupakan variabel berindeks dan membentuk sekelompok data yang memiliki
tipe yang sama. Variabel Array dapat bertipe integer, real, char, string, dll.
Variabel Array yang akan dipergunakan harus di deklarasikan terlebih dahulu.
Dalam program, indeks variabel array pada umumnya ditentukan dengan
menggunakan nilai variabel kontrol pada perulangan for. Dalam program Pascal,
indeks array dimulai dari angka 1, bukan 0.
Data array pada umumnya berbentuk matriks dimana indeksnya terdiri dari
indeks baris dan indeks kolom. Jika matriks hanya terdiri dari satu baris atau
satu kolom saja, maka hanya ada satu perulangan for. Namun jika matriks terdiri
dari banyak baris atau banyak kolom, maka ada dua perulangan for yang akan
digunakan. Perulangan for yang pertama untuk menyatakan indeks baris dan
yang kedua menyatakan indeks kolom.
Data 2 dimensi :
1 2 3 4 5
2 6 7 8 2
3 5 4 9 5
4 7 4 2 8
5 1 3 6 1
Contoh :
Artinya data[1] berisi data 12, data[2] berisi 20, dan seterusnya. Pehatikan
bahwa penulisan indeks array diletakkan dalam tanda kurus siku yaitu [ ].
Contoh :
Contoh 1
Buatlah program untuk menampilkan data array 1 dimensi yang terdiri dari satu
baris dengan bentuk : 1 2 3 4 ….. 10
Penyelesaian
Algoritma
1. Mulai
2. Deklarasikan variabel array dengan tipe integer, variabel kontrol j untuk
perulangan for
3. Mulai perulangan j, dimana j=1 hingga j=10
4. Tentukan nilai n[j]:=j
5. Cetak nilai n[j]
6. Ulangi langkah 3
7. Hentikan proses sementara
8. Selesai
Flowchart
Program
Program ARRAY_DASAR;
{FIle : CNTH81.pas }
{Oleh : Simon Patabang }
uses crt;
var j : integer;
n : array[1..10] of integer;
for j:=1 to 10 do
Begin
n[j]:=j;
write(n[j],' ');
End;
writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.
Hasil Program
Contoh 2
Buatlah program untuk menampilkan data array 1 dimensi yang terdiri dari satu
baris dengan bentuk barisan bilangan : 2 5 8 11 ….. 2n + (n-
1)
Penyelesaian
Datanya terdiri dari bilangan bulat (integer) mulai dari 2 hingga n. Data tersebut
menunjukkan bahwa ada n data dan data pertama adalah 2. Beda antar data
adalah 3 dimana suku ke-n diperoleh dengan rumus 2n + (n-1). N adalah
banyaknya data atau data ke n. Dalam program, nilai mulai 1 hingga n dalam
variabel kontrol j. Karena itu, rumus perhitungan pada suku ke-n berubah menjadi 2j
+ (j-1). Variabel dapat dialokasikan sebanyak 50 dengan deklarasikan misalnya
data : array[1..50] of integer.
Algoritma
1. Mulai
2. Deklarasikan variabel a, variabel array dengan tipe integer, variabel kontrol
perulangan j untuk perulangan for
3. Input banyaknya data n
4. Mulai perulangan j, dimana j=1 hingga j=n
5. Tentukan nilai data[j]:= 2j + (j-1)
6. Cetak nilai data[j]
7. Ulangi langkah 4
8. Hentikan proses sementara
Flowchart
Program
Program ARRAY_DASAR;
{FIle : CNTH82.pas }
{Oleh : Simon Patabang }
uses crt;
var j,n : integer;
data : array[1..50] of integer;
Begin
clrscr;
writeln;
write('Banyaknya data = ');
readln(n);
writeln;
for j:=1 to n do
Begin
data[j]:=2*j + (j-1);
write(data[j],' ');
Hasil Program
Contoh 8.3
A = [ 8 7 9 5]
Penyelesaian
Matrik di atas adalah matriks 1 dimensi. Datanya ada 4, maka dapat dialokasikan
dalam var array sbb : var A : array[1..4] of integer
Algoritma
1. Mulai
2. Deklarasikan var j, array A dengan tipe integer
3. Mulai perulangan untuk j=1 hingga j=4
4. Input data matrik A
5. Ulangi langkah 3
6. Mulai perulangan untuk j=1 hingga j=4
7. Tampilkan data matrik A
8. Ulangi langkah 6
9. Hentikan tampilan
10. Selesai
Flowchart
Program
Program ARRAY_DASAR;
{FIle : CNTH83.pas }
{Oleh : Simon Patabang }
uses crt;
var j : integer;
A : array[1..4] of integer;
Begin
clrscr;
writeln;
for j:=1 to 4 do
Begin
write('Input data matrik A[',j,']= ');
readln(A[j]);
End;
writeln;writeln;
for j:=1 to 4 do
write(A[j],' ');
Hasil Program
Contoh 8.4
Buatlah program untuk menginput dan menampilkan data matriks di bawah ini.
4 7 2
A 1 0 9
3 6 8
Penyelesaian
Matriksnya adalah 2 dimensi yang terdiir dari 3 baris dan 3 kolom. Untuk 2 dimensi,
harus menggunakan 2 buah perulangan untuk setiap proses input dan output untuk
menentukan indeks baris dan indeks kolom. Loop pertamya menyatakan indeks
baris dan loop kedua menyatakan indeks kolom. Variabel arraynya adalah A[j,k]
dengan deklarasi var A : array[1..3,1..3] of integer.
Algoritma
1. Mulai
2. Deklarasikan var j, array A dengan tipe integer
3. Mulai perulangan untuk j=1 hingga j=3, setelah selesai lanjutkan ke langkah 8
4. Mulai perulangan untuk k=1 hingga k=3, setelah selesai lanjutkan ke langkah 7
5. Input data matrik A[j,k]
6. Ulangi langkah 4
7. Ulangi langkah 3
8. Mulai perulangan untuk j=1 hingga j=3, setelah selesai lanjutkan ke langkah 13
9. Mulai perulangan untuk k=1 hingga k=3, setelah selesai lanjutkan ke langkah
12
10. Tampilkan data matrik A[j,k]
11. Ulangi langkah 9
12. Ulangi langkah 8
Flowchart
Program
Program ARRAY_DASAR;
{FIle : CNTH84.pas }
{Oleh : Simon Patabang }
uses crt;
var j,k : integer;
A : array[1..3,1..3] of integer;
Begin
clrscr;
writeln;
for j:=1 to 3 do
for k:=1 to 3 do
Begin
write('Input data matrik A[',j,',',k,']= ');
readln(A[j,k]);
End;
writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.
Hasil Program
Contoh 8.5
Buatlah program untuk menginput nama dan nilai ujian mahasiswa sebanyak 5
siswa. Hitung nilai rata-ratanya.
Penyelesaian
Ada 2 variabel yaitu nama dan nilai. Nama bertipe string dan nilai bertipe integer.
Karena ada 5 siswa, maka kedua variabel dialokasikan 15 tempat yaitu dengan
deklarasi sebagai berikut nama : array[1..5] of string[20] dan nilai : array[1..5] of
integer. string[20] artinya panjang nama maksimum 20 karakter. Untuk menghitung
nilai rata-rata, perlu menghitung jumlah data yang didefinisikan dengan variabel
jumlah. Nilai jumlah harus diberi nilai awal sama dengan 0.
Algoritma:
1. Mulai
2. Deklarasikan variabel I,nama,nilai, jumlah
3. Tentukan nilai awal jumlah=0.
4. Mulai Perulangan i=1 hingga i=5
5. Input nama[i] dan nilai[i].
Flowchat
Program
Program Array_Dasar;
{File : CNTH85.pas }
{Oleh : Simon Patabang }
Uses crt;
Var I,jumlah : integer;
nilai : array[1..5] of integer;
nama : array[1..5] of string[20];
rata : real;
Begin
clrscr;
{Bagian Input Data}
for i:=1 to 5 do
Begin
write('Nama : ');readln(nama[i]);
write('Nilai : ');readln(nilai[i]);
{Bagian Judul}
writeln('Nama Nilai');
writeln('==========================');
{Bagian Output}
for i:=1 to 5 do
Begin
write(nama[i]); write(' ');
writeln(nilai[i]);
jumlah:=jumlah + nilai[i];
End;
writeln('=========================');
rata:=jumlah/5;
writeln('Jumlah Nilai = ',jumlah);
writeln('Nilai rata-rata = ',rata:6:2);
writeln;writeln;
Writeln('Tekan sembarang tombol');
readln;
End.
Hasil Program
Contoh 8.6
Buatlah program untuk membuat Hasil Studi Mahasiswa per semester dengan
format tampilan di bawah ini. Data masukan adalah Nama mahasiswa, NIM, Mata
kuliah, sks, nilai
Algoritma
1. Mulai
2. Deklarasikan var I, n, k, nama, nilai, jumlah,rata
3. Input jumlah mahasiswa, n
4. Cek, i<=n? Jika ya, lanjutkan ke langkah 5, jika tidak lanjutkan ke langkah 8
5. Input nama[i], nilai[i]
6. Hitung jumlah = jumlah + nilai[i]
7. Kembali ke langkah 4
8. Hitung Nilai Rata-rata, rata = jumlah/n
9. Cetak Hasil
10. Selesai
Flowchart
Program
Bilangan Prima
Bilangan prima p adalah bil bulat yang hanya dapat habis dibagi oleh bilangan p
dan 1. Jadi bilangan prima tidak mempunyai pembagi selain dari 1 dan dirinya
sendiri.
Contoh 4:
Buatlah program untuk mencari bilangan prima di antara 2 dan 100 dengan output
sbb:
Bilangan Prima antara 2 sampai 100 adalah :
2 3 5 7 11 13 17 .......
Jawab :
• Bilangan Prima (p) yang dicari adalah bilangan yg lebih besar dari 1, yaitu
2,3,4,5,….dst atau N >1,
• Bilangan N harus diperiksa dengan cara membagi N dengan semua
bilangan mulai dari 2 hingga N-1.
• Misalnya bila n= 5 harus dibagi dengan bilangan 2,3,dan 4. Bila n= 6 harus
dibagi dengan 2,3,4,dan 5.
• Periksa setiap hasil bagi, apakah sisa hasil bagi sama dengan Nol?
Algoritma
1. Mulai
2. Deklarasikan Variabel i, j, n, bil, prima,
3. Cek i dalam loop, apakah I<=100. Jika ya lanjutkan ke langkah 4. Jika tidak
lanjutkan ke langkah 11
4. Tentukan bil Prima bahwa Prima[i] = i
5. Tentukan bilangan pembagi dalam loop. Apakah i j= <= ( i-1)?. Jika Ya,
lanjutkan ke langkah 6. Jika tidak lanjutkan ke langkah 3
6. Bagi bilangan I dengan bilangan j, bil = I mod j
7. Cek sisa hasil bagi . Apakah bil = 0 ?
8. Jika YA, maka i bukan bilangan Prima.
9. Ganti Prima[i] = i menjadi Prima[i]=0
10. Ulangi langkah 3
11. Cetak bil. Prima yang tidak sama dengan Nol.
12. Selesai
Flowchart
Program
Deret Fibonacci
1. Mulai
2. Deklarasikan Variabel n, i, a, p
3. Definisikan nilai awal p=„Y‟
4. Lakukan perulangan selama p=„Y‟, jika p<>‟Y‟ lanjutkan ke 11
5. Cetak Judul
6. Tentukan jumlah data (n)
7. Cek apakah i<= n-1, jika ya lanjutkan ke langkah 8, jika tidak lanjutkan ke
langkah 11
8. Cek nilai I,Jika i=0, a[i]=0 dan jika i=1, maka a[i]= 1
9. Jika i>1 maka a[i]= a[i-1]+a[i-2]
10. Cetak output
11. Selesai
Program
Latihan/ Tugas.
1. Buatlah program untuk menentukan bilangan antara 1 s.d 100 yang habis dibagi
3 dan 5.
2. Buatlah program dengan output sbb:
===================================================
No Nama Alamat Pekerjaan Status
===================================================
1 Budi Jl. Merapi 20 Guru Kawin
2 ……. ……… ……….. ……..
.
.
n ……. ……… ……….. ……..
Contoh-2:
Buatlah program untuk mengubah sebuah Kalimat menjadi huruf besar semua.
Penyelesaian
Kalimat adalah string, dimana data string merupakan data array yg datanya adalah
sekumpulan karakter. Banyaknya karakter dari string dapat dihitung dengan fungsi
length(). Dgn demikian, maka banyaknya karakter ini akan digunakan untuk
menentukan banyaknya perulangan untuk membaca setiap karakter dan
mengubanya menjadi huruf besar.
Program Contoh2;
Uses crt;
Var I,n : integer;
kalimat : string;
Begin
clrscr;
write(‘Ketik sebuah kalimat : ‘);
readln(kalimat);
n := length(kalimat);
for i:=1 to n do
write(upcase(kalima[i])
readln;
End.