Anda di halaman 1dari 183

DIKTAT

MATA KULIAH
DASAR PEMROGRAMAN KOMPUTER
BAHASA PEMROGRAMAN PASCAL

Penyusun:
Simon Patabang
Dosen Universitas Atma Jaya Makassar

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS ATMA JAYA MAKASSAR

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 1


Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 2
Kata Pengantar

Bahasa pemrograman sudah semakin diminati seiring dengan


perkembangan masyarakat yang semakin mengerti tentang pentingnya
teknologi informasi. Dengan menguasai konsep dan logika dasar-dasar
bahasa pemrograman maka semakin muda untuk mempelajari bahasa
pemrograman yang lain.

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.

Bahasa program Pascal dapat diperoleh dengan gratis dengan mendownload


dari Internet. Bahasa Pascal merupakan bahasa pemrograman yang paling
mudah dipelajari karena bersifat terstruktur. Karena itu sangat banyak
digunakan sebagai konsep dasar pemrograman di tingkat SMU dan
Perguruan Tinggi.

Bahasa pemrograman Pascal juga sudah dijadikan materi pelajaran di


beberapa SMU dan dalam lomba Olimpiade Matematika dan komputer
tingkat SMU. Selain itu, bahasa pemrograman juga menjadi materi kuliah di
beberapa fakultas di perguruan tinggi, seperti fakultas Teknik, MIPA,
Informatika, dan ada sebagian jurusan di fakultas Ekonomi.

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 3


DAFTAR ISI

BAB I : Pengenalan Komputer


BAB II : Algoritma
BAB III : Flowchart
BAB IV : Dasar Pemrograman
BAB V : Tipe Data Standart
BAB VI : Algoritma Penyelesaian Matematika
BAB VII : Algoritma Seleksi Data
BAB VIII : Algoritma Perulangan
BAB IX : Algoritma Sorting Data
BAB X : Array/ Larik

Tipe Data dan Statement I/O


Operator Aritmatika

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 4


I. Pengenalan Komputer

Apakah itu Komputer?


Komputer adalah alat bantu yang berfungsi untuk mengolah data berupa angka dan
teks menjadi sebuah informasi.

Komponen Komputer

Perangkat Keras (Hardware)


Adalah komponen elektronik dan fisik yang membentuk sebuah komputer.

Perangkat lunak (Software)


Adalah komponen komputer berupa program yang berfungsi untuk mengendalikan
system kerja dari sebuah komputer, memproses data, dan juga merancang
program aplikasi.

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

CARA KERJA SISTEM KOMPUTER

Gambar 1.1. Sistem Komputer

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 5


 Bagian Proses data ini disebut Central Processing Unit (CPU).
 Komponen utama dari CPU terdiri dari :
1. Prosesor
2. Memory

Prosesor terdiri dari :

1. Control Unit (CU)


Bagian yang mengatur atau mengontrol semua lalu lintas data dan perhitungan
yang dilakukan selama komputer bekerja.

2. Arithmetic And Logic Unit (ALU)


Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang
terjadi sesuai dengan instruksi program.

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.

Chace Memory, merupakan media penyimpanan dengan berkecepatan tinggi


untuk membantu prosesor mengirim dan menerima data dari memori.

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).

Fungsi Cache Memory

 Mempercepat Akses data pada komputer


 Meringankan kerja prosessor
 Menjembatani perbedaan kecepatan antara Prosesor dan memory utama.
 Mempercepat kinerja memory

Proses Pengolahan Data

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 6


Gambar 1.2. Proses Komputer

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 7


II. Konsep Pemrograman

1. Algoritma

Algoritma adalah langkah-langkah proses yang disusun secara logis dan


berurutan untuk menyelesaikan suatu masalah dengan tepat. Algoritma digunakan
sebagai panduan langkah demi langkah untuk menuliskan program. Jika algoritma
yang dibuat salah, maka penulisan programnya akan salah juga. Karena itu,
algoritma sangat penting untuk dipelajari dan dikuasai dengan baik. Jika sudah
terbiasa menggunakan algoritma untuk menulis program, maka semakin lama, kita
dapat dengan mudah menulis progam, karena konsep algoritma sudah dikuasai
dengan baik.

Kriteria algoritma adalah sebagai berikut :


 Setiap langkah harus jelas dan pasti
 Jumlah langkah harus berhingga atau harus selesai.
 Ditulis dengan kalimat yang mudah dipahami sehingga tidak menimbulkan
arti ganda.
 Tuliskan dengan logika yang benar dan terstruktur
 Semua operasi atau proses disebutkan dengan jelas.

Penyajian Algoritma :

Algoritma dapat disajikan dengan dua cara :

 Secara Tulisan, yaitu menuliskan deskripsi urutan langkah-langkah


penyelesaian masalah
 Flowchart, yaitu menggambarkan algoritma dengan simbol-simbol menurut
urutan proses

Contoh 2.1:

Buatlah Algoritma untuk mencari nilai y dari persamaan y = 6a + 2b

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 8


Contoh 2.2:

Buatlah algoritma untuk menghitung nilai y dari persamaan y = 4x3 + 8x – 2


Penyelesaian :

Untuk mendapatkan nilai y, maka kita dapat menyelesaikan secara bertahap


dengan menghitung 4x3 dan 8x secara terpisah. Untuk itu diperlukan variabel
tambahan misalnya a dan b untuk menyimpan hasil perhitungan tersebut, dimana a
menyimpan hasil perhitungan 4x3 dan b menyimpan hasil perhitungan 8x.

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 :

Yang harus diperhatikan adalah konversi sbb :


60 detik = 1 menit
60 menit = 1 jam
1 jam = 60 x 60 detik = 3600 detik

Konversi satuan Detik (d) menjadi Jam (j)

1. Hitung satuan jam dari nilai d


j = d div 3600, hasilnya adalah satuan jam
2. Hitung sisa detik
s = d mod 3600, hasilnya adalah sisa satuan detik
3. Hitung satuan menit dari nilai s
m = s div 60, hasilnya adalah satuan menit
4. Hitung sisa detik dari nilai s
d = s mod 60

Algoritma

 Mulai
 Deklarasikan variabel d,m,j,s
 Input d (bilangan satuan detik)

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 9


 Hitung j = d div 3600
 Hitung s = d mod 3600
 Hitung m = s div 60
 Hitung d = s mod 60
 Cetak hasilnya J:M:D
 Tekan sembarang tombol
 Selesai

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.

Tabel Simbol-Simbol Flowchart


Digunakan untuk simbol awal dan akhir
flowchart

Digunakan untuk menyatakan proses


masukan dan keluaran

Digunakan untuk menyatakan proses


perhitungan

Digunakan untuk menyatakan proses


seleksi atau pengambilan keputusan

Digunakan untuk menyatakan proses


persiapan program

Digunakan untuk menyatakan arah aliran


proses

Digunakan untuk menyatakan sambungan


flowchart pada halaman yang sama

Digunakan untuk menyatakan sambungan


flowchart pada halaman yang berbeda

Digunakan untuk menyatakan output akan


ditampilkan lewat monitor

Contoh 2.4:

Buatlah flowchart dari algoritma pada Contoh 2.1

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 10


Gambar 2.2. Flowchart Contoh 2.1

Contoh 2.5

Buatlah flowchart dari algoritma pada Contoh 2.2

Gambar 2.3. Flowchart Contoh 2.2

Contoh 2.6

Buatlah flowchart dari algoritma pada Contoh 2.3

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 11


Gambar 2.4. Flowchart Contoh 2.3

Contoh 2.7

Buatlah flowchart untuk menghitung nilai y dari persamaan y = 2x + 6

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:

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 12


Gambar 2.5. Flowchart Contoh 2.7

Contoh 2.8

Buatlah flowchart untuk menghitung luas persegipanjang dengan rumus L = p.lb


dalam satuan m.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 13


Gambar 2.6. Flowchart Contoh 2.8

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

Gambar 2.7. Flowchart Contoh 2.9

Contoh 2.10

Buatlah flowchart untuk menghitung nilai x1 dan x2 dari persamaan kuadrat y = Ax2
+ Bx + C

Penyelesaian :

Persamaan kuadrat didefinisikan sebagai berikut y = Ax2 + Bx + C yang


mempunyai 2 buah akar penyelesaian yaitu x1 dan x2.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 14


Rumus untuk mencari x1 dan x2 :

b  b2 – 4ac
x12 
2a
Dimana b2 – 4ac disebut Diskriminan (D) , maka :

D = b2 – 4ac

Nilai x1 dan x2 ditentukan oleh nilai D sebagai berikut :

1. Jika D > 0 artinya nilai D adalah bilangan positip


b  D
x12  , maka x1 dan x2 adalah bilangan real
2a
2. Jika D = 0, artinya nilai D sama dengan 0
b
x1  x2  , maka x1 dan x2 adalah bilangan real
2a
3. Jika D < 0, artinya nilai D adalah bilangan negatip
b  ( D)
x12  , x1 dan x2 adalah bilangan imaginer dimana 1  j
2a
maka :
b  j D
x12 
2a
Berdasarkan analisa di atas, maka dapat disusun algoritma sebagai berikut :

 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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 15


b  j D b  j D
x1  dan x2 
2a 2a
 Cetak nilail x1 dan x2
 Selesai

Flowchart

Gambar 2.8. Flowchart Contoh 2.10

Contoh 2.11

Buatlah flowchart untuk menentukan nilai sebagai berikut :


0 <= N <= 50 mendapat Nilai E
50 < N < 60 mendapat Nilai D
60 <= N < 70 mendapat Nilai C
70 <= N <= 85 mendapat Nilai B
85 < N <= 100 mendapat Nilai A

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

Gambar 2.9. Flowchart Contoh 2.11

Contoh 2.12

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 17


Dealer Motor Sahabat menawarkan kredit Motor kepada para pegawai dan guru
dengan syarat memiliki pendapatan tetap, pendapatan tambahan, dan pendapatan
keluarga. Untuk mendapatkan kredit motor, maka harus memenuhi syarat bahwa :
 Pendapatan tetap dihitung penuh, pendapatan tambahan dihitung setengah dan
pendapatan keluarga (suami atau istri) dihitung sepertiga.
 Apabila jumlah total pendapatan tersebut lebih besar atau sama dengan Rp
1.000.000 ,0- maka akan mendapat kredit VESPA.
 Jika kurang dari Rp 1.000.000 tetapi masih lebih besar dari Rp 500.000,00-,
maka akan mendapat kredit HONDA, selain itu tak layak mendapat kredit. Di
akhir laporan total berapa yang mendapatkan kredit HONDA dan berapa yang
mendapatkan kredit VESPA.

Buatlah flowchart atas kasus Kredit Motor tersebut di atas.

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 18


Gambar 2.10. Flowchart Contoh 2.12

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 19


III. Dasar Pemrograman

Aturan Bahasa Pascal

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.

Dasar Bahasa Pemrograman Pascal

Dasar bahasa pemrograman pascal ditulis dengan menggunakan beberapa aturan


yang terdiri dari 4 komponen utama yaitu :

1. Komentar/Penjelasan

Komentar atau penjelasan tambahan dalam program ditulis dalam tanda


kurung. Ada 2 bentuk tanda kurung yang dapat digunakan yaitu :
 Diawali dengan simbol (* (buka kurung bintang) dan diakhiri dengan tanda *)
(bintang tutup kurung)
Contoh : (*Program Input Data*)

 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.

3. Huruf Besar dan Kecil

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 20


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

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.

Misalnya : a, b, c, x, y, a1, a2, nama, nama1, nama2, dst

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

6. Operator Sama Dengan

Operator tanda sama dengan dalam program Pascal ada 2 yaitu :


 Operator = (sama dengan), digunakan untuk memberi nilai tetapan kepada
sebuah variabel pada deklarasi konstanta.
Misalnya :
const
x = 3, y = „P‟, menentukan nilai tetapan untuk variabel x dan y.

 Operator := (Titik dua sama dengan), digunakan untuk menentukan nilai


awal variabel dalam program dan menerima hasil perhitungan.
Misalnya :
a:= 3; b:= 5, memberi nilai awal untuk variabel a dan b
y := 5*a + 2*b, variabel y menerima hasil perhitungan

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 21


 Perintah untuk menulis teks atau hasil perhitungan program, misalnya write,
writeln

Operator Matematika

Operator matematika digunakan untuk melakukan proses perhitungan


matematika dalam program. Operator tersebut adalah :

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

Hirarki Urutan Operator :


1. Tanda kurung
2. Perkalian dan pembagian
3. Perjumlahan dan pengurangan

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

Operator Fungsi matematika

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

Struktur Program Pascal

Bahasa pemrograman pascal ditulis secara terstruktur artinya perintah-perintah


dalam program ditulis secara berurutan mulai dari bagian awal hingga bagian akhir.
Urutan bagian tersebut adalah sebagai berikut :

1. Judul Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 22


Bagian awal dari program pascal adalah judul program. Judul program ditulis
dengan diawali kata kunci PROGRAM.

Misalnya : Program Rumus_ABC

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.

Contoh : uses crt;

3. Bagian Deklarasi

Bagian deklarasi sebagai tempat untuk menyebutkan semua variabel,


konstanta, fungsi, prosedur yang akan digunakan dalam program.

1. Deklarasi variabel.

Variabel yang digunakan dalam program harus dideklarasikan lebih dahulu


sebelum digunakan dalam program. Jika tidak dideklarasikan, maka akan
terjadi kesalahan (error). Deklarasi variabel selalu diawali dengan kata kunci
var. Setiap variabel akan menerima dan menyimpan data sesuai dengan
tipe datanya. Antara nama variabel dengan tipe datanya dipisahkan oleh
tanda titik dua (:).

Contoh deklarasi variabel:


VAR nama : String[25];
a,b,c : Integer;
x,y : real;

2. Deklarasi Konstanta

Konstanta adalah data yang nilainya tetap. Deklarasi kontanta selalu diawali
dengan kata kunci const.

const Nama = ‟BUDI‟;


gaji = 1500000;
pajak = 0.1 {10%}

3. Deklarasi lain adalah label, prosedur, fungsi, dan type. Deklarasi ini akan
dijelaskan pada saat materi tersebut dibahas.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 23


Aturan Nama Variabel

 Tidak boleh dimulai dengan angka, misalnya 2x.


 Tidak boleh mengandung simbol operator aritmatika, dan simbol–simbol lain
yang dipergunakan sebagai operator dalam pascal, seperti : koma # @ ^ ! &
titik dll.
 Tidak boleh mengandung spasi atau blank, misalnya nilai x
 Tidak boleh sama dengan nama fungsi dan keyword bahasa pascal,
misalnya read.

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.

Perintah write umumnya digunakan untuk :


 Menuliskan keterangan/informasi kemudian dikuikuti oleh perintah readln
untuk melakukan input data. Keterangan harus diapit oleh tanda petik satu.
Misalnya:

Write(‘Input Nilai x : ‘);


Readln(x);

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 24


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).

 Menuliskan nilai variabel baik input maupun output. Misalnya :

Write(‘Input Nilai x : ‘);


Readln(x);
y:= 2*x;
writeln(‘Nilai y = ‘,y);

Membuat Baris Kosong

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.

Menghentikan Proses Program Untuk sementara

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.

Perintah untuk menghentikan proses program untuk sementara adalah readln


tanpa argumen ( readln; ) Setelah berhenti, maka proses program dapat
dilanjutkan lagi dengan menekan sembarang tombol dari keyboard.

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 25


Contoh 3.1

Buatlah program sederhana untuk menampilkan hasil perhitungan dari


persamaan x = a + b dan y = a x b

Penyelesaian

Untuk menyelesaikan persamaan di atas, maka kita akan mendeklarasikan 4


buah variabel yaitu a, b, x, dan y. Tampilkan nilai x dan y dengan 2 bentuk yaitu
x dan y berada pada satu baris dan x dan y berada pada baris yang berbeda.

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 :

Gambar 3.1 Flowchart Contoh 3.1.

Program :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 26


Program Dasar; { Judul Program }
{File : CNTH31.pas }
{Oleh : Simon Patabang }
{=========================}

Uses crt; { Aktifkan kamus crt }


var x , y, a, b : integer; {Deklarasi variabel}
Begin (* Awal program*)
clrscr; {bersihkan layar}
writeln; {pindah baris 1 kali}
writeln ('Contoh Perintah Input output');
writeln('Input nilai a = '); {kursor pindah baris
setelah menulis}
readln(a);
write('Input nilai b = '); {kursor tidak pindah baris
setelah menulis}
readln(b);
x := a + b; {Hitung nilai x}
y := a * b; {Hitung nilai y}

writeln;writeln;{pindah baris 2 kali}


writeln('Hasil tampilan 1 ');
write(' x = ',x); (* Tulis nilai x *)
writeln(' y = ',y); (* Tulis nilai y *)

writeln;writeln; {pindah baris 2 kali}


writeln('Hasil tampilan 2 ');
writeln(' x = ',x); (* Tulis nilai x *)
write(' y = ',y); (* Tulis nilai y *)

writeln;writeln;
writeln('Tekan sembarang tombol untuk melanjutkan');
readkey; (*Hentikan sementara proses program *)
End. (* Akhir program*)

Hasil Program

Gambar 3.2 Hasil Program Contoh 3.1

Contoh 3.2

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 27


Buatlah program untuk menyelesaikan persamaan matematika berdasarkan
algoritma dan flowchart pada Contoh 3.1

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 :

Gambar 3.3 Hasil Program Contoh 3.2

Contoh 3.3

Buatlah program dari algoritma dan flowchart pada Contoh 3.2

Program :

Program Dasar;
{File : CNTH33.pas }
{Oleh : Simon Patabang }
{=========================}

uses crt;
var a,b, x,y : integer;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 28


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 :

Gambar 3.4 Hasil Program Contoh 3.3

Contoh 3.4

Buatlah program dari algoritma dan flowchart pada Contoh 3.3

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

j:= d div 3600;


s:= d mod 3600;
m:= s div 60;
d:= s mod 60;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 29


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 :

Gambar 3.5 Hasil Program Contoh 3.4

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

Buatlah program dari algoritma dan flowchart pada Contoh 3.3

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 30


End.

Hasil Program :

Gambar 3.6 Hasil Program Contoh 3.5

Catatan :
 Tipe variabel yang berlaku untuk perintah Sqr harus bertipe real.
 Nilai y artinya 2,045 x 101 = 20,45

Contoh 3.6

Buatlah program dari algoritma dan flowchart pada Contoh 3.5

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 31


Gambar 3.7. Hasil Program Contoh 3.6

Contoh 3.7

Buatlah program untuk menghitung z = x2 + y4

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 :

Gambar 3.8. Flowchart Contoh 3.7

Program :

Program Dasar;
{File : CNTH37.pas }
{Oleh : Simon Patabang}

Uses crt; (* Aktifkan kamus crt *)


Var x,y,z : real; {Deklarasikan variabel}

Begin
clrscr;
write('Input x = '); readln(x); {input nilai x}

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 32


write('Input y = '); readln(y); { input nilai y}

z := sqr(x) + sqr(y); {Proses, hitung nilai z}

writeln; writeln;
writeln(' z = ', z:6:2); {Output, cetak z }
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 3.9. Hasil Program Contoh 3.7

IV. Dasar Pemrograman

Aturan Bahasa Pascal

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.

Dasar Bahasa Pemrograman Pascal

Dasar bahasa pemrograman pascal ditulis dengan menggunakan beberapa aturan


yang terdiri dari 4 komponen utama yaitu :

8. Komentar/Penjelasan

Komentar atau penjelasan tambahan dalam program ditulis dalam tanda


kurung. Ada 2 bentuk tanda kurung yang dapat digunakan yaitu :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 33


 Diawali dengan simbol (* (buka kurung bintang) dan diakhiri dengan tanda *)
(bintang tutup kurung)
Contoh : (*Program Input Data*)

 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.

10. Huruf Besar dan Kecil

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.

Misalnya : a, b, c, x, y, a1, a2, nama, nama1, nama2, dst

12. 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

13. Operator Sama Dengan

Operator tanda sama dengan dalam program Pascal ada 2 yaitu :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 34


 Operator = (sama dengan), digunakan untuk memberi nilai tetapan kepada
sebuah variabel pada deklarasi konstanta.
Misalnya :
const
x = 3, y = „P‟, menentukan nilai tetapan untuk variabel x dan y.

 Operator := (Titik dua sama dengan), digunakan untuk menentukan nilai


awal variabel dalam program dan menerima hasil perhitungan.
Misalnya :
a:= 3; b:= 5, memberi nilai awal untuk variabel a dan b
y := 5*a + 2*b, variabel y menerima hasil perhitungan

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

Operator matematika digunakan untuk melakukan proses perhitungan


matematika dalam program. Operator tersebut adalah :

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

Hirarki Urutan Operator :


4. Tanda kurung
5. Perkalian dan pembagian
6. Perjumlahan dan pengurangan

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 35


5 Y = ((4-2)/2*3 + 4)/ 2 3.5

Operator Fungsi matematika

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

Struktur Program Pascal

Bahasa pemrograman pascal ditulis secara terstruktur artinya perintah-perintah


dalam program ditulis secara berurutan mulai dari bagian awal hingga bagian akhir.
Urutan bagian tersebut adalah sebagai berikut :

5. Judul Program

Bagian awal dari program pascal adalah judul program. Judul program ditulis
dengan diawali kata kunci PROGRAM.

Misalnya : Program Rumus_ABC

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.

Contoh : uses crt;

7. Bagian Deklarasi

Bagian deklarasi sebagai tempat untuk menyebutkan semua variabel,


konstanta, fungsi, prosedur yang akan digunakan dalam program.

4. Deklarasi variabel.

Variabel yang digunakan dalam program harus dideklarasikan lebih dahulu


sebelum digunakan dalam program. Jika tidak dideklarasikan, maka akan
terjadi kesalahan (error). Deklarasi variabel selalu diawali dengan kata kunci
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 36
var. Setiap variabel akan menerima dan menyimpan data sesuai dengan
tipe datanya. Antara nama variabel dengan tipe datanya dipisahkan oleh
tanda titik dua (:).

Contoh deklarasi variabel:


VAR nama : String[25];
a,b,c : Integer;
x,y : real;

5. Deklarasi Konstanta

Konstanta adalah data yang nilainya tetap. Deklarasi kontanta selalu diawali
dengan kata kunci const.

const Nama = ‟BUDI‟;


gaji = 1500000;
pajak = 0.1 {10%}

6. Deklarasi lain adalah label, prosedur, fungsi, dan type. Deklarasi ini akan
dijelaskan pada saat materi tersebut dibahas.

Aturan Nama Variabel

 Tidak boleh dimulai dengan angka, misalnya 2x.


 Tidak boleh mengandung simbol operator aritmatika, dan simbol–simbol lain
yang dipergunakan sebagai operator dalam pascal, seperti : koma # @ ^ ! &
titik dll.
 Tidak boleh mengandung spasi atau blank, misalnya nilai x
 Tidak boleh sama dengan nama fungsi dan keyword bahasa pascal,
misalnya read.

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 37


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.

Perintah write umumnya digunakan untuk :


 Menuliskan keterangan/informasi kemudian dikuikuti oleh perintah readln
untuk melakukan input data. Keterangan harus diapit oleh tanda petik satu.
Misalnya:

Write(‘Input Nilai x : ‘);


Readln(x);

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).

 Menuliskan nilai variabel baik input maupun output. Misalnya :

Write(‘Input Nilai x : ‘);


Readln(x);
y:= 2*x;
writeln(‘Nilai y = ‘,y);

Membuat Baris Kosong

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.

Menghentikan Proses Program Untuk sementara

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 38


Perintah untuk menghentikan proses program untuk sementara adalah readln
tanpa argumen ( readln; ) Setelah berhenti, maka proses program dapat
dilanjutkan lagi dengan menekan sembarang tombol dari keyboard.

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

Buatlah program sederhana untuk menampilkan hasil perhitungan dari


persamaan x = a + b dan y = a x b

Penyelesaian

Untuk menyelesaikan persamaan di atas, maka kita akan mendeklarasikan 4


buah variabel yaitu a, b, x, dan y. Tampilkan nilai x dan y dengan 2 bentuk yaitu
x dan y berada pada satu baris dan x dan y berada pada baris yang berbeda.

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 39


Gambar 3.1 Flowchart Contoh 3.1.

Program :

Program Dasar; { Judul Program }


{File : CNTH31.pas }
{Oleh : Simon Patabang }
{=========================}

Uses crt; { Aktifkan kamus crt }


var x , y, a, b : integer; {Deklarasi variabel}
Begin (* Awal program*)
clrscr; {bersihkan layar}
writeln; {pindah baris 1 kali}
writeln ('Contoh Perintah Input output');
writeln('Input nilai a = '); {kursor pindah baris
setelah menulis}
readln(a);
write('Input nilai b = '); {kursor tidak pindah baris
setelah menulis}
readln(b);
x := a + b; {Hitung nilai x}
y := a * b; {Hitung nilai y}

writeln;writeln;{pindah baris 2 kali}


writeln('Hasil tampilan 1 ');
write(' x = ',x); (* Tulis nilai x *)
writeln(' y = ',y); (* Tulis nilai y *)

writeln;writeln; {pindah baris 2 kali}

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 40


writeln('Hasil tampilan 2 ');
writeln(' x = ',x); (* Tulis nilai x *)
write(' y = ',y); (* Tulis nilai y *)

writeln;writeln;
writeln('Tekan sembarang tombol untuk melanjutkan');
readkey; (*Hentikan sementara proses program *)
End. (* Akhir program*)

Hasil Program

Gambar 3.2 Hasil Program Contoh 3.1

Contoh 3.2

Buatlah program untuk menyelesaikan persamaan matematika berdasarkan


algoritma dan flowchart pada Contoh 3.1

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 41


writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program :

Gambar 3.3 Hasil Program Contoh 3.2

Contoh 3.3

Buatlah program dari algoritma dan flowchart pada Contoh 3.2

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 42


Gambar 3.4 Hasil Program Contoh 3.3

Contoh 3.4

Buatlah program dari algoritma dan flowchart pada Contoh 3.3

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

j:= d div 3600;


s:= d mod 3600;
m:= s div 60;
d:= s mod 60;

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 :

Gambar 3.5 Hasil Program Contoh 3.4

Catatan :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 43


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

Buatlah program dari algoritma dan flowchart pada Contoh 3.3

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 :

Gambar 3.6 Hasil Program Contoh 3.5

Catatan :
 Tipe variabel yang berlaku untuk perintah Sqr harus bertipe real.
 Nilai y artinya 2,045 x 101 = 20,45

Contoh 3.6

Buatlah program dari algoritma dan flowchart pada Contoh 3.5

Program :

Program Dasar;
{File : CNTH36.pas}

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 44


{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 :

Gambar 3.7. Hasil Program Contoh 3.6

Contoh 3.7

Buatlah program untuk menghitung z = x2 + y4

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 45


Gambar 3.8. Flowchart Contoh 3.7

Program :

Program Dasar;
{File : CNTH37.pas }
{Oleh : Simon Patabang}

Uses crt; (* Aktifkan kamus crt *)


Var x,y,z : real; {Deklarasikan variabel}

Begin
clrscr;
write('Input x = '); readln(x); {input nilai x}
write('Input y = '); readln(y); { input nilai y}

z := sqr(x) + sqr(y); {Proses, hitung nilai z}

writeln; writeln;
writeln(' z = ', z:6:2); {Output, cetak z }
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 46


Gambar 3.9. Hasil Program Contoh 3.7

II. Tipe Data Standart

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

A. Tipe Data Ordinal

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:

Buatlah program dengan 2 buah variabel a, b bertipe integer, 2 buah


variabel p, q bertipe boolean, satu variabel y bertipe char. Nilai p dan q diperoleh
dengan membandingkan variabel a dan b yaitu p = a<b dan q = a>= b
sedangkan a, b, dan y merupakan data masukan.

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 47


Gambar 4.1 Flowchart Contoh 4.1

Program :
Program Tipe_Boolean;
{File : CNTH41.pas }
{Oleh : Simon Patabang }

Uses crt;
Var a,b : integer;
y : char;
p,q : boolean;
Begin

clrscr; {Bersihkan layar}


write('Input bil Integer a = ');
readln(a); {Tentukan nilai a}
write('Input bil Integer b = ');
readln(b); {Tentukan nilai b}
write('Input karakter = ');
readln(y); {Tentukan nilai y}
p:=a<b;
q:=a>=b;
writeln;writeln;
writeln('Apakah a < b = ',p);
writeln('Apakah a >= b = ',q);
writeln('Nilai karakter = ',y);
writeln('Bil integer = ',a,' dan ', b);
Readln;
End.

Hasil Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 48


Gambar 4.2 Hasil Program Contoh 4.1

B. Tipe Data Real

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”.

Bentuk perintah format : X:N:D

X = Variabel x
N = Jumlah tempat/karakter yang tersedia
D = Jumlah desimal di belakang koma

Misalnya : x:8:2

artinya tersedia 8 tempat untuk mencetak nilai variabel x dengan 2 angka di


belakang koma.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 49


Gambar 4.3 Flowchart Contoh 4.2

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

Gambar 4.4 Hasil Program Contoh 4.2

Jika output Bilangan Real tidak diformat, mis 25.6 maka akan menghasilkan
tampilan seperti berikut : 2.5600000000E+1 artinya 2.56 x 101

Aturan Penggunaan Tipe Real dan Integer

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 50


Aturan penggunaan variabel integer dan real dalam operasi matematika seperti
perkalian, pembagian, penjumlahan atau pengurangan perlu diperhatikan dan
diketahui dengan baik karena akan menyebabkan terjadinya kesalahan.
Program akan menampilkan informasi kesalahan atau error dengan pesan
“Type mismatch” pada layar jika tidak memenuhi aturan.

Aturan tersebut adalah :


 Tipe variabel integer tidak dapat menerima data bertipe real tetapi variabel
bertipe real dapat menerima data bertipe real maupun integer. Misalnya var
a, b, dan c bertipe integer sedangkan x, y, dan z real, maka
z := a dan y:= x adalah benar
b := x adalah salah.

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

 Operasi pembagian, perkalian, pejumlahan atau pengurangan antara 2 buah


var bertipe integer dapat diterima oleh variabel bertipe real tetapi pembagian
2 buah var bertipe real tidak dapat diterima oleh variabel bertipe integer.
Misalnya a,b, dan c bertipe integer sedangkan x,y, dan z bertipe real, maka :
x:=a/b atau y:= a*b adalah benar
a:= x/y atau b:= x*y adalah salah
x:= a + b atau y := a – b adalah benar
a:= x + y atau b:= x - y adalah salah
z:= x + a adalah benar
c:= x + a adalah salah

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 51


z:= 0.50
b:= Type mismatch
z:= 6.00
c:= Type mismatch
c:= 4

C. Tipe Data String

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 :

Gambar 4.5 Flowchart Contoh 4.3

Program :

Program TipeDataString;
(*File : CNTH43.pas *)
(*Oleh : Simon Patabang*)

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 52


Uses crt;
Var nama, alamat, kota : string[30];

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

Gambar 4.6 Hasil Program Contoh 4.3

Fungsi Standart Arimatika

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).

Bentuk Perintah : abs(x)

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 53


b:= -4; x := -9;
a := abs(b);
c:= abs(x);
y:= abs(x);
x:=abs(b);

Hasilnya adalah :
a = 4.00
c = 9.00
y=9
x =Type mismatch

2. Exp digunakan untuk menghitung nilai pangkat bilangan e atau e x

Bentuk Perintah : exp(x)

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

3. Ln digunakan untuk menghitung nilai logaritma dengan basis e.

Bentuk Perintah : ln(x)

Sedangkan logaritma berbasis 10 dapat dihitung rumus :

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:

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 54


 a:=ln(b) atau a:=ln(x) adalah benar karena a bertipe real dan dapat
menerima hasil yang bertipe real.
 a:=ln(b)/ln(10) atau a:=ln(x)/ln(10) adalah benar karena a bertipe real dan
dapat menerima hasil yang bertipe real.
 y:=ln(b) atau y:=ln(x) adalah salah karena y bertipe integer dan tidak dapat
menerima hasil yang bertipe real.
 y:=ln(b)/ln(10) atau y:=ln(x/ln(10) adalah salah karena y bertipe integer dan
tidak dapat menerima hasil yang bertipe real.

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.

Bentuk Perintah : int(x)

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.

Bentuk Perintah : frac(x)


Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 55
Argumen x hanya dapat bertipe real atau integer dan hasilnya selalau bertipe
real. Misalnya variabel a, b dan c bertipe real sedangkan x bertipe integer,
maka pernyataan:
 a:=frac(b) adalah benar karena a bertipe real dan dapat menerima hasil
yang bertipe real.
 x:= frac(b) adalah salah karena x bertipe integer dan tidak dapat menerima
hasil yang bertipe 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

6. Sqr digunakan untuk menghitung nilau kuadrat dari sebuah argumen.

Bentuk Perintah : sqr(x)

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 56


7. Sqrt digunakan untuk menghitung nilai akar pangkat dua dari sebuah argumen.

Bentuk Perinntah : sqrt(x)

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

8. Round digunakan untuk membulatkan nilai bertipe real ke nilai pembulatan


terdekat.

Bentuk Perintah : round(x)

Argumen x selalu bertipe real atau integer dan hasilnya dapat bertipe integer
atau real.

Contoh :

Var a,b,c : real; x,y,z : integer;


b:= 4.6; x := 9;
a:= round(b);
c:= round(x);
y:= round(b);
z:= round(x);

Hasilnya adalah :
a = 5.00
c = 9.00
y=5
z=9

Contoh 4.4

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 57


Buatlah prorgram untuk dengan menggunakan perintah pada no 1 sampai 8 di atas.

Penyelesaian

Dalam program kita akan mencari nilai absolut, eksposnesial, logaritma,


pembulatan dengan int dan round, mengambil nilai pecahan atau desimal dari
bilangan real, dan menghitung nilai akar kuadrat dan akar pangkat dua.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 58


readkey;
End.

Hasil Program

Gambar 4.7 Hasil Program Contoh 4.4

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

Gambar 4.8 Hasil Program Contoh 4.5

10. Mod digunakan untuk mengambil nilai sisa dari hasil pembangian dua buah
bilangan bertipe integer.

Bentuk Perintah : x mod y

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 60


11. Div digunakan untuk mengambil bilangan bulat dari hasil pembangian dua buah
bilangan bertipe integer

Bentuk Perintah : x div y

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

Variabel yang digunakan harus integer. Misalkan a, b, c, dan d adalah tipe


integer.

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

Program Program Mod_Div;


(*File : CNTH46.pas *)
(*Oleh : Simon Patabang*)

uses crt;
var a,b,c,d : integer;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 61


Begin
clrscr;
write(' Input Nilai a = ');readln(a);
write(' Input Nilai b = ');readln(b);

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

Gambar 4.9 Hasil Program Contoh 4.6

12. Chr digunakan untuk mengkonversi kode ASCII menjadi karakter. Kode ASCII
terdiri dari bilangan bulat mulai dari 0 hingga 255.

Bentuk Perintah : chr(x)

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.

Bentuk Perintah : ord(x)

Argumen x harus bertipe karakter dan hasilnya bertipe byte. Misalnya variabel a
dan b bertipe byte sedangkan x dan y bertipe char.

Contoh :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 62


a:= 100
x:= „P‟;
y:=chr(a);
b:=ord(x);

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 63


Hasil Program

Gambar 4.10 Hasil Program Contoh 4.7

14. Random digunakan untuk membangkit bilangan acak antara 0 dan 1 atau
antara 0 dan n.

Bentuk Perintah : random(n)

Argumen n bertipe integer, dimana n menyatakan nilai maksimum. Jika n


disebutkan, maka nilai bilangan random antara 0 dan n. Jika n tidak disebutkan
maka bilangan randomnya antara 0 dan 1.

15. Ziseof

16. Upcase

17. Trunc

V. ALGORITMA SELEKSI

IF adalah kontrol seleksi yang digunakan untuk melakukan pengecekan


terhadap sebuah kondisi, apakah benar atau salah. Kontrol seleksi akan memilih
salah satu pilihan dari 2 atau lebih pilihan yang ada. Kontrol seleksi akan
mengambil keputusan ketika melakukan pengecekan terhadap kondisi dari sebuah
variabel.
Jika kondisi variabel tersebut memenuhi syarat yang ditentukan atau bernilai
benar maka program akan memilih suatu bagian pernyataan untuk dikerjakan. Jika
nilai variabel tidak memenuhi syarat yang ditentukan atau bernilai salah, maka
program akan memilih suatu bagian pernyataan yang lain untuk dikerjakan. Cara
kerja seperti itu disebut Algoritma Seleksi, biasa disebut juga algoritma
percabangan.

1. ALGORITMA SELEKSI DENGAN IF

Perintah untuk menyatakan pengambilan keputusan dalam program adalah IF.


Jadi IF digunakan untuk memeriksa suatu kondisi sebagai syarat untuk memilih dan
mengerjakan pilihan yang ada.

Bentuk Perintah If

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 64


if (syarat/kondisi) then
Begin
<pernyataan-1>;
End;
<pernyataan-2>;

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

Pernyataan Kondisi Jika n = Nilai Logika


7 True
If(n<=10) 10 True
15 False

Dalam diagram alir, simbol dari algoritma seleksi digambarkan dengan bela ketupat
seperti pada gambar berikut.

Gambar 5.1. Diagram Alir Algoritma Seleksi

Operator Relasi

Operator Relasi digunakan untuk memeriksa satu kondisi/syarat dalam perintah if.
Operator relasi terdiri dari 6 macam yaitu :

Operator Operasi Contoh


Relasi
= Sama dengan if (n=10) then …..
< Lebih kecil dari if (n<10) then …..
> Lebih besar dari if (n>10) then …..
<> Tidak sama dengan if (n<>10) then …..
<= Lebih kecil sama dengan if (n<=10) then …..
=> Lebih besar sama dengan if (n=>10) then …..

Bentuk Perintah IF

1. If – Then

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 65


Adalah bentuk pilihan dimana hanya ada satu pilihan “pernyataan” yang
harus dikerjakan pada saat kondisi pada If bernilai benar.

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 :

If n>10 then writeln (‘Nilai n lebih besar dari 10’);


If n<=10 then
Begin
writeln (‘Nilai n lebih besar dari 10’);
writeln (‘atau Nilai n sama dengan 10’);
End;

Flowchart

Gambar. 5.2. Flowchart If-then

Contoh 5.1

Buatlah program untuk menentukan, apakah masukan bilangan bulat n


adalah bilangan genap atau ganjil dengan menggunakan if - then.

Penyelesaian :

Ciri khas dari bilangan genap adalah jika dibagi dengan 2, maka sisanya 0.
Sedangkan ciri khas bilangan ganjil adalah jika dibagi dengan2, maka

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 66


sisanya 1. Program meminta sebuah masukan bilangan bulat n. Kemudian n
akan dibagi dengan 2 oleh operator mod, misalnya a = n mod 2. Jika a=0,
maka n adalah bilangan bulat. Kemudian a kita cek lagi, apakah nilai a=1.
Jika benar, maka n adalah bilangan ganjil.

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

Gambar. 5.3 Flowchart Contoh 5.1

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

Gambar 5.4 Hasil Program Contoh 5.1

2. If - Then – Else

Adalah bentuk pilihan dimana ada dua pilihan “pernyataan” yang harus
dipilih salah satunya untuk dikerjakan.

Bentuk If - Then – Else :

 Jika kondisi benar, maka kerjakan blok pernyataan 1.


 Jika kondisi salah, maka kerjakan blok pernyataan 2.

Catatan Penting!!!

Pada setiap baris pernyataan yang mendahului pernyataan kata ELSE tidak
boleh diakhiri dengan tanda titik koma.

Flowchart

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 68


Gambar 5.5 Flowchart If - Then - Else

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

Buatlah program untuk kasus Contoh 5.1. dengan menggunakan if - then -


else.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 69


Gambar 5.6 Flowchart Contoh 5.2

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 70


Gambar 5.7 Hasil Program Contoh 5.2

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 71


Gambar 5.8 Flowchart Contoh 5.3

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 :

Gambar 5.9 Hasil Program Contoh 5.3

3. IF - Then – Else If - Else

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 :

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 72


 Jika kondisi1 benar, maka “pernyataan1” akan dikerjakan dan pilihan lain
akan diabaikan (tidak dibaca).
 Jika kondisi1 Salah, maka kondisi2 akan diperiksa. Jika kondisi2 benar,
maka “pernyataan2” akan dikerjakan dan pilihan lain akan diabaikan
(tidak dibaca).
 Jika kondisi2 Salah, maka kondisi berikutnya akan diperiksa. dan
seterusnya.
 Jika kondisi(n-1) Salah, maka pernyataan n akan dikerjakan.

Flowchart

Gambar 5.10 Flowchart If – Then – Else If – Else

Contoh 5.4

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 73


Buatlah program dari algoritma dan flowchart persamaan kuadrad pada
contoh 3.6 dengan menyeleksi kondisi dari variabel d.

Program

Program PersamaanKuadrad;
{File : CNTH53.pas }
{Oleh : Simon Patabang}

uses crt;

var a,b,c,d,x1,x2,p,q : real;

Begin

write('Input nilai a = ');readln(a);


write('Input nilai b = ');readln(b);
write('Input nilai c = ');readln(c);
d:=sqr(b)-4*a*c;
writeln;
writeln('d =',d:6:0);
writeln;

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 74


Gambar 5.11 Hasil Program Contoh 5.4

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 :

 Jika kondisi variabel A benar, maka pernyataan A-1 akan dikerjakan


 Kemudian Cek kondisi dari variabel B.
 ika kondisi variabel B benar, maka pernyataan B-1 akan dikerjakan.
 Jika kondisi variabel B salah, maka pernyataan B-2 akan dikerjakan.
 Jika kondisi variabel A salah, maka pernyataan A-2 akan dikerjakan.

Flowchart

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 75


Gambar 5.12 Flowchart Nested If

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

Buatlah program menentukan seorang siswa “Lulus” atau “Gagal”

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 76


Gambar 5.13 Flowchart Contoh 5.5

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 77


Begin
if (t>=165) then
begin
if n>=70 then
write('LULUS')
else
write('GAGAL');
end
else
write('GAGAL');
end
else
write('GAGAL');
writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
end.

Hasil Program

Gambar 5.14 Hasil Program Contoh 5.5

Operator Logika

Operator Logika, digunakan untuk membandingkan 2 buah kondisi. Operator logika


bekerja berdasarkan nilai logika true (benar) atau false (salah).

Operator Operasi Contoh


Not Tidak Benar (Bukan) If not (n=100) then …
Dan (keduanya benar
And if ((n<100) and (n>80)) then ….
maka hasilnya benar)
Atau (salah satu benar
Or if ((n<100) or (n>80)) then ….
maka hasilnya benar)

Operator Not

Operator Not digunakan untuk menyangkal nilai logika dari suatu pernyataan
kondiri.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 78


Tabel Kebenaran Not
A Operasi Hasil
True Not A False
False Not A True

Operator And

Digunakan untuk membandingkan 2 buah kondisi logika. Hasilnya akan benar


bila keduanya benar. Hasilnya akan salah bila salah satu dari pernyataan salah.

Tabel Kebenaran AND


A B Operasi Hasil
True True A and B True
True False A and B False
False True A and B False
False False A and B False

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

Buatlah program untuk menentukan nilai A, B, C, D, dan E berdasarkan


algoritma dan flowchart pada contoh 3.8.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 79


if (n>=0) and (n<=50) then
writeln('Anda mendapat Nilai E')
else
writeln('Input Anda Salah');
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
writeln;

End.

Hasil Program

Gambar 5.15 Hasil Program Contoh 5.6

Operator Or

Digunakan untuk membandingkan 2 buah kondisi logika. Hasilnya akan benar


bila salah satu bernilai benar atau keduanya benar. Hasilnya akan salah bila
keduanya salah.

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 :

Jika n Hasil Nilai


Kondisi A or B A B Operasi Hasil
= Logika
((n<=85) or 90 F T A OR B T Benar

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 80


(n>70)) 80 T T A OR B T Benar
60 T F A OR B T Benar
30 T F A OR B T Benar

Contoh 5.7.

Buatlah program untuk menjelaskan arti dari nilai huruf yang diinput sebagai
berikut :

Nilai A : artinya sangat baik


Nilai B dan C artinya cukup baik
Nilai D dan E artinya sangat buruk

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 81


Gambar 5.16 Flowchart Contoh 5.7

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 82


End.

Hasil Program

Gambar 5.17 Hasil Program Contoh 5.7

2. ALGORITMA SELEKSI DENGAN CASE – OF

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 83


Gambar 5.18 Flowchart Algoritma Case-of

Catatan Penting!!! :

 Case...Of tidak menggunakan BEGIN tetapi mengunakan END ;


 Variabel kontrol hanya dapat bertipe Integer atau Char.
 Daftar Data Pilihan dapat berupa sebuah konstanta, atau range dari konstanta
yang bertipe Integer atau Char.

Contoh Daftar Data Pilihan tipe integer:

2 : Pilihan dengan satu bilangan bulat


1,3,5 : Pilihan berupa daftar bilangan tertentu
1..5 : Pilihan berupa range bilangan bulat 1 s/d 5

Contoh Daftar Data Pilihan tipe Char (karakter):

‟A‟ : Pilihan berupa satu huruf, mis A


‟C‟,‟F‟ : Pilihan berupa daftar huruf tertentu, mis C, F
‟A‟..‟D‟ : Pilihan berupa range nilai huruf, mis A s/d D
‟*‟ : Pilihan berupa simbol karakter , mis *

Catatan Penting!!!

 Data tipe karakter harus diapit oleh tanda petik satu.


 Nilai range hanya menggunakan 2 buah titik diantara nilai awal dan akhir.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 85


Gambar 5.19 Flowchart Contoh 5.8

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(' Menu Program ');


writeln('====================');
writeln('1.Hitung Luas Balok');
writeln('2.Hitung Volume Balok');
writeln('3.Hitung Keliling Balok');
writeln('4.Keluar');
write('Pilihan Anda (1/2/3/4)');readln(vk);
writeln; writeln;
case vk of
'1' : Begin
ls:=p*l;
writeln('Luas = ',ls:6:2);
End;
'2' : Begin
v:=p*l*t;
writeln('Volume = ',v:6:2);
End;
'3' : Begin
k:=2*(P+l+t);
writeln('Keliling = ',k:6:2);
End;
'4' : Begin
Exit; {Keluar dari program}
End;
End;

writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
writeln;
End.

Hasil Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 86


Gambar 5.20 Hasil Program Contoh 5.8

Contoh 5.9

Buatlah program untuk mencetak keterangan Nilai Huruf sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 87


Gambar 5.21 Folwchart Contoh 5.9

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;

Write (' Nilai Anda = ', Ket) ;


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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 88


0 <= N <= 50 mendapat Nilai E (Buruk)
50 < N < 60 mendapat Nilai D (Kurang)
60 <= N < 70 mendapat Nilai C (Cukup)
70 <= N <= 85 mendapat Nilai B (Baik)
85 < N <= 100 mendapat Nilai A (Sangat Baik)

Tampilan hasil keluaran adalah :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 89


Gambar 5.21 Flowchart Contoh 5.3

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 90


70..85 : Begin
h := 'B';
ket:= 'Baik'
End;
86..100:Begin
h := 'A';
ket:= 'Sangat Baik';
End;
end;

writeln;
writeln('Nama : ',nama);
writeln('Nilai : ',h);
writeln('Keterangan : ',ket);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
end.

Hasil Program

Gambar 5.22 Hasil Program Contoh 5.3


Contoh 5.4

Buatlah program dengan menggunakan IF dan Case-of untuk menentukan Hadiah


(H) dari total belanja di Supermarket sebagai berikut :

1 Juta <=Total Belanja<=5 Juta : Televisi


700 ribu <=Total Belanja< 1 juta : Camera
500 ribu <=Total Belanja< 700 ribu : Printer
200 ribu <Total Belanja< 500 ribu : VCD Player
50 ribu <=Total Belanja<= 200 ribu : Baju Kaos

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

Gambar 5.23 Flowchart Contoh 5.4


Program

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

50..200 : h := 'Baju Kaos';

201..499 : h := 'VCD Player';

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

Gambar 5.24Hasil Program Contoh 5.4


Contoh 5.5

Buatlah program untuk menginput harga pembelian kebutuhan dapur pada sebuah
toko Makmur Jaya. Jika harga barang lebih dari Rp. 150.000,- maka akan

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 93


mendapatkan diskon 2%. Jika harga barang lebih dari Rp. 250.000,- maka akan
mendapatkan diskon 5%. Jika harga barang lebih dari Rp. 500.000,- maka akan
mendapatkan diskon 10%. Di luar ketentuan tersebut, tidak mendapatkan diskon.

Tampilkan informasi Harga Jual, Diskon, dan Harga Bayar, kemudian input Jumlah
uang pembeli dengan tampilan sbb:

Nama Barang : Rice Cooker


Harga : Rp. 500000
Diskon (5%) : Rp. 25000
Bayar : Rp. 475000

Jumlah Uang : 500000

Kemudian cetak Struk Belanja dengan bentuk sbb:

Nama Barang : Rice Cooker


Harga : Rp. 500000
Diskon (5%) : Rp. 25000
Bayar : Rp. 475000

Jumlah Uang : Rp. 500000


Kembalian : Rp. 25000

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 94


Gambar 5.25 Flowchart Contoh 5.5

Program

Program Belanja;
Uses crt;
Var harga,uang : real;
diskon,bayar,sisa : real;
nama_barang : string[20];

Begin

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 95


clrscr;
write('Nama Barang = ');readln(nama_barang);
write('Harga = ');readln(harga);

if (harga>500000) then diskon:=harga*0.1


else if (harga>250000) then diskon:=harga*0.05
else if (harga>150000) then diskon:=harga*0.02
else diskon:=0.0;
clrscr;

bayar := harga - diskon;

writeln('Nama Barang : ',nama_barang);


writeln('Harga : Rp.',harga:12:2);
writeln('Diskon : Rp.',diskon:12:2);
writeln('Bayar : Rp.',bayar:12:2);
writeln;
write('Jumlah Uang : Rp.');readln(uang);
sisa:=uang-bayar;

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 96


Gambar 5.26 Hasil Program Contoh 5.5

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 97


VI. ALGORITMA PERULANGAN

Algoritma perulangan atau loop adalah suatu proses yang mengerjakan


pernyataan yang sama secara berulang kali hingga memenuhi syarat batas yang
ditentukan. Perulangan pada umumnya digunakan untuk menyelesaian masalah
dengan metode atau rumus yang sama tetapi datanya selalu berubah-ubah.
Dengan menggunakan algoritam perulangan, maka penulisan kode program yang
panjang akan menjadi efisian dan semakin sederhana.
Dalam program Pascal, algoritma perulangan menggunakan 4 buah perintah
yaitu :

1. For-to-do
2. For-downto-do
3. While-do
4. Repeat-until

1. For-To-Do

For-To-Do adalah perintah perulangan yang digunakan untuk mengerjakan suatu


blok pernyataan secara berulang kali selama kondisi/syarat pada for-to-do bernilai
benar atau memenuhi syarat. Jika kondisi tidak memenuhi syarat, maka blok
pernyataan tidak akan dikerjakan dan program akan mengerjakan pernyataan
setelah kata kunci end dari blok pernyataan.

Bentuk Perintah :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 98


Gambar 6.1. Flowchart For-To-Do

Misalnya :

n:=0;
for i:=1 to 5 do
Begin
n:=n + i;
End;
m:=n+5;

Perulangan di atas akan mengerjakan pernyataan-1 n = n + i sebanyak 5 kali


karena nilai i dalam for dimulai dari 1 hingga 5. Dalam tiap perulangan, nilai n akan
berubah hingga nilai n=5. Jika n> 5, maka perulangan selesai. Setelah selesai,
maka akan mengerjakan pernyataan-2, m = n + 5.

Hasil proses perulangan adalah sebagai berikut :

Perulangan Hasil Hasil


n=n+i m = n+5
ke-i Nilai n Nilai m
1 n := 0 + 1 1
2 n := 1 + 2 3
3 n := 3 + 3 6
4 n := 6 + 4 10
5 n := 10 + 5 15
Selesai m:=15+5 20

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

Gambar 6.2. Flowchart Contoh 6.1

Program :

Program CetakAngka;

{Nama File : CNTH61.prg}


{Oleh : Simon Patabang}

uses crt;

var i,n : integer;

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 100


Gambar 6.3. Hasil Program Contoh 6.1

Contoh 6.2

Buatlah program untuk menjumlahkan angka 1 hingga n dengan mengembangkan


program pada contoh 6.1.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 101


Gambar 6.4. Flowchart Contoh 6.2

Program

Program Jumlah_Angka;

{Nama File : CNTH62.prg}


{Oleh : Simon Patabang}

uses crt;

var i,n,j : integer;

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 102


End.

Hasil Program

Gambar 6. 5. Hasil Program Contoh 6.2

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 103


Gambar 6.6. Flowchart Contoh 6.3

Program

Program Bilangan_Ganjil;

{Nama File : CNTH63.prg}


{Oleh : Simon Patabang}

uses crt;
var i,n,s,j : integer;

Begin
clrscr;
write('Input nilai n = '); readln(n);

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 104


for i:=1 to n do
Begin
s:= i mod 2;
if s=1 then
Begin
write(' ',i);
j:= j + i;
End;
End;

writeln;
writeln('Jumlah Bilangan Ganjil = ',j);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6. 7. Hasil Program Contoh 6.3

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 105


10. Selesai

Flowchart

Gambar 6. 8. Flowchart Contoh 6.4

Program

Program Bilangan_Genap;

{Nama File : CNTH64.prg}


{Oleh : Simon Patabang}

uses crt;

var i,n,s,j : integer;

Begin
clrscr;
write('Input nilai n = '); readln(n);

for i:=1 to n do
Begin
s:= i mod 2;
if s=0 then
Begin

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 106


write(' ',i);
j:= j + i;
End;
End;

writeln; writeln;
writeln('Jumlah Bilangan Genap = ',j);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6. 9. Hasil Program Contoh 6.4

Contoh 6.5

Buatlah program untuk menghitung nilai rata-rata dari bilangan bulat sebanyak n

Penyelesaian

Nilai rata-rata diperoleh dengan rumus :

R = Jumlah Data / Banyaknya Data

Program akan menggunakan beberapa variabel yaitu :


 I adalah variabel kontrol perulangan
 N adalah variabel untuk menyimpan banyaknya data
 J adalah variabel untuk menyimpan jumlah data
 R adalah variabel untuk menyimpan nilai rata-rata, harus bertipa real karena
akan menyimpan data berupa bilangan desimal.

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

Gambar 6.10. Flowchart Contoh 6.5

Program

Program Ratarata;

{Nama File : CNTH65.prg}


{Oleh : Simon Patabang}

uses crt;

var i,n,j : integer;


r : real;

Begin
clrscr;
j:=0;
write('Input nilai n = '); readln(n);

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 108


for i:=1 to n do
Begin
write(' ',i);
j:= j + i;
End;
r:=j/n;
writeln;writeln;
writeln('Banyak Data = ',n);
writeln('Jumlah Data = ',j);
writeln('Rata-rata = ',r:6:2);
writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.11. Hasil Program Contoh 6.5

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

Program akan menggunakan beberapa variabel yaitu :


 i adalah variabel kontrol perulangan
 n adalah variabel untuk menyimpan banyaknya data
 k adalah variabel untuk menyimpan bilangan pecahan 1/n bertipe real
 j adalah variabel untuk menyimpan jumlah data, j = j + k. Variabel j harus bertipe
real karena akan dijumlahkan variabel k yang bertipe real. Tidak boleh tipe
integer + tipe real. Akan ada error type mitmatch jika tidak sama-sama real.
 r adalah variabel untuk menyimpan nilai rata-rata, harus bertipa real karena
akan menyimpan data bilangan desimal.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 109


Algoritma
1. Mulai
2. Deklarasikan variabel i, n, j, k,dan r
3. Tentukan nilai awal untuk jumlah data j=0
4. Input banyaknya data n
5. Buat perulangan dari i=1 s/d i=n
6. Cetak nilai 1/i
7. Hitung data ke-i, k=1/i
8. Jumlahkan nilai variabel ke-i dengan j, j = j + k
9. Ulangi langkah 5
10. Hitung nilai rata-rata, r
11. Cetak nilai rata-rata r dan jumlah data j
12. Selesai

Flowchart

Gambar 6.12. Flowchart Contoh 6.6

Program

Program Ratarata;

{Nama File : CNTH66.prg}


{Oleh : Simon Patabang}

uses crt;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 110


var i,n : integer;
k,r,j : real;

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

Gambar 6.13. Hasil Program Contoh 6.6

Contoh 6.7

Buatlah program untuk menghitung pembagian bilangan bulat k dari m hingga n


dengan format keluaran sebagai berikut :

1 dibagi 3 = 0 sisa 3
2 dibagi 3 = 0 sisa 3
3 dibagi 3 = 1 sisa 0
4 dibagi 3 = 1 sisa 1

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 111


5 dibagi 3 = 1 sisa 2 dan seterusnya

Data masukan adalah n dan bilangan pembagi p.

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

Gambar 6.14. Flowchart Contoh 6.7

Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 112


Program Bagi;
{File : CNTH67.pas}
{Oleh : Simon Patabang}

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

Gambar 6.16. Hasil Program Contoh 6.7

Contoh 6.8

Buatlah program dengan format hasil keluaran sebagai berikut :

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 113


Penyelesaian:

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

Gambar 6.16 Flowchart Contoh 6.8


Program

Program Baris_Kolom;

{File : CNTH68.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 114


for i:=1 to 3 do
Begin
for j:=1 to 5 do
Begin
write(' ',j);
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.18 Hasil Program Contoh 6.8

Contoh 6.9

Buatlah program dengan format hasil keluaran sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 115


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

Gambar 6.19. Flowchart Contoh 6.9


Program

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 116


write(' ',j);
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.20. Hasil Program Contoh 6.9

2. For-Downto-Do

For-Downto-Do adalah perintah untuk algoritma perulangan dimana nilai dari


variabel kontrolnya secara otomatis berkurang satu.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 117


Gambar 6.21. Flowchart For-Downto-Do
Misalnya :

n:=0;
for i:=5 Downto 1 do
Begin
n:=n + i;
End;
m:=n+5;

Perulangan di atas akan mengerjakan pernyataan-1, n = n + i sebanyak 5 kali


karena nilai i dalam for dimulai dari 5 hingga 1. Setelah selesai, maka akan
mengerjakan pernyataan-2, m = n + 5.

Hasil proses perulangan adalah sebagai berikut :

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

Buatlah program untuk menampilkan output sebagai berikut :


15 14 13 12 11 10 9 8

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

Gambar 8.22. Flowchart Contoh 6.10


Program

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 119


Hasil Program

Gambar 6.23. Hasil Program Contoh 6.10

Contoh 6.11

Buatlah program dengan format hasil keluaran sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 120


Gambar 6.24. Flowchart Contoh 6.11

Program

Program Baris_Kolom;

{File : CNTH611.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=1 to i do
Begin
write(' ',j);
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 121


Hasil Program

Gambar 6.25 Hasil Program Contoh 6.11

Contoh 6.12

Buatlah program dengan format hasil keluaran sebagai berikut :

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.

Cara kerjanya adalah sebagai berikut :


ketika baris i=5, maka kolom j akan berulang dari j=5 hingga j=5
ketika baris i=4, maka kolom j akan berulang dari j=5 hingga j=4
ketika baris i=3, maka kolom j akan berulang dari j=5 hingga j=3
ketika baris i=2, maka kolom j akan berulang dari j=5 hingga j=2
ketika baris i=1, maka kolom j akan berulang dari j=5 hingga j=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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 122


Flowchart

Gambar 6.26 Flowchart Contoh 6.12

Program

Program Baris_Kolom;

{File : CNTH612.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=5 downto i do
Begin
write(' ',j);
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 123


Hasil Program

Gambar 6.27 Hasil Program Contoh 6.12

Contoh 6.13

Buatlah program dengan format hasil keluaran sebagai berikut :

*
* *
* * *
* * * *
* * * * *

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 124


Gambar 6.28 Flowchart Contoh 6.13

Hasil Program

Gambar 6.29 Hasil Program Contoh 6.13

Contoh 6.14

Buatlah program dengan format hasil keluaran sebagai berikut :

* * * * *
* * * *
* * *
* *
*

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

Gambar 6.30. Flowchart Contoh 6.14

Program

Program Baris_Kolom;
{File : Cnth614.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=1 to i do
Begin
write(' ','*');

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 126


End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.31 Hasil Program Contoh 6.14

Contoh 6.15

Buatlah program dengan format hasil keluaran sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 127


Flowchart

Gambar 6.32. Flowchart Contoh 6.15

Program

Program Baris_Kolom;
{File : Cnth615.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=1 to 5 do
Begin
if i>=j then
write (' ',j)
else
write(' ', '*');
End;
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 128
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.33. Hasil Program Contoh 6.15

Contoh 6.16

Buatlah program dengan format hasil keluaran sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 129


Gambar 6.33. Flowchart Contoh 6.16

Program

Program Baris_Kolom;
{File : Cnth616.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=1 to 5 do
Begin
if i>j then write (' ','*');
if i=j then write(' ', j);

End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 130


readln;
End.

Hasil Program

Gambar 6.34. Hasil Program Contoh 6.16

Contoh 6.17

Buatlah program dengan format hasil keluaran sebagai berikut :

1
2 1
3 2 1
4 3 2 1
5 4 3 2 1

Penyelesaian:

Hasil keluaran memperlihatkan bahwa indeks baris mulai dari 1 hingga 5


sedangkan indeks kolom mulai dari 5 hingga 1 dimana ketika indeks baris i lebih
kecil dari indeks kolom j, maka cetak spasi (karakter kosong), selain itu cetak nilai j.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 131


Gambar 6.35 Flowchart Contoh 6.17

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 132


End.

Hasil Program

Gambar 6.36 Hasil Program Contoh 6.17

Contoh 6.18

Buatlah program dengan format hasil keluaran sebagai berikut :

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 133


Gambar 6.37. Flowchart Contoh 6.18

Program

Program Baris_Kolom;

{File : Cnth618.pas}
{Oleh : Simon Patabang}

uses crt;
var i,j : integer;

Begin
clrscr;

for i:= 5 downto 1 do


Begin
for j:=1 to 5 do
Begin
if i<=j then write (' ',j)
else write(' ');
End;
writeln; {kursor pindah baris}
End;
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 134


Gambar 6.38 Hasil Program Contoh 6.18

3. ALGORITMA PERULANGAN DENGAN WHILE-DO

WHILE-DO digunakan untuk melakukan proses perulangan dengan


mengerjakan suatu blok pernyataan selama kondisi pada WHILE bernilai BENAR.
Variabel kontrol pada kondisi while dapat bertipe integer, real, atau char.

Bentuk Perintah :

 Jika Kondisi bernilai benar, maka pernyataan-1 akan dikerjakan


 Jika Kondisi bernilai salah, maka pernyataan-2 akan dikerjakan

Flowchart

Gambar 6.39. Flowchart While-Do


Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 135
Pada perulangan While-Do, nilai awal dari Variabel kontrol selalu didefinisikan
lebih dahulu mis x :=0. Kemudian perubahan nilai variabel kontrol harus dinyatakan
dalam blok Begin-End. Perubahan nilai x dapat bertambah atau berkurang dan
dapat ditentukan berdasarkan kebutuhan program.

Perubahan nilai variabel kontrol bertipe integer dengan perubahan nilai 1


dapat menggunakan perintah :

 inc (x) untuk pertambahan nilai 1


 dec (x) pengurangan nilai 1

Pertambahan atau pengurangan nilai selain 1 dinyatakan dengan persamaan


linier. Mis var kontrol x dengan pertambahan 4 dinyatakan dengan x := x + 4.

Contoh 6.19

Buatlah program seperti tampilan di bawah ini dengan penggunakan perulangan


While-Do.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 136


Gambar 6.40. Flowchart Contoh 6.19
Program

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 137


Gambar 6.41. Hasil Program Contoh 6.19

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 138


Gambar 6.42. Flowchart Contoh 6.20

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 139


a:=a+2;
j:= j + y;
End;
writeln('==========================');
writeln('Jumlah : ',j);
writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.43. Hasil Program Contoh 6.20

Contoh 6.21

Buatlah program untuk menampilkan barisan bilangan dengan rumus Un = 2n + b.


Data masukan adalah jumlah suku n dan beda suku b. Barisan bilangan mulai dari
suku pertama hingga suku terakhir. Contoh hasil program untuk b=1 dan n= 5
adalah : 3 5 7 9 11

Penyelesaian

Banyaknya perulangan ditentukan oleh banyaknya suku yaitu n. jadi perlu


tambahan variabel kontrol untuk mengetahui perulangan. Misalnya variabel
kontrolnya adalah a, maka perulangan akan dilakukan mulaia dari nilai a=1 hingga
a=n. Dalam perulangan While-Do, nilai awal a ditentukan sebelum while, yaitu a=1,
kemudian kondisi pada while adalah a<=n dengan pernyataan while a<=n. Do.

Algoritma

1. Mulai
2. Deklarasikan variabel a,b,n
3. Input nilai b dan n
4. Tentukan nilai awal a=1

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 140


5. Buat perulangan dari a=1 hingga a=n
6. Hitung U = 2a + b
7. Cetak U
8. Tambahkan nilai a, a = a + 1
9. Ulangi langkah 5
10. Press any key
11. Selesai

Flowchart

Gambar 6.44. Flowchart Contoh 6.21

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 141


Begin
u:= 2*a + b;
a:= a + 1;
write(' ',u);
End;

writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.45. Hasil Program Contoh 6.21

Contoh 6.22

Buatlah program untuk menampilkan barisan bilangan dengan rumus Un = 2n + b.


Data masukan adalah jumlah suku n dan beda suku b. Barisan bilangan mulai dari
suku terakhir hingga suku pertama. Contoh hasil program untuk b=1 dan n= 5
adalah : 11 9 7 5 3

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 142


Flowchart

Gambar 6.46. Flowchart Contoh 6.22

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 143


readln;
End.

Hasil Program

Gambar 6.47. Hasil Program Contoh 6.22

Contoh 6.23

Buatlah program perulangan while-do untuk menghitung nilai sudut trigonometri


sebuah sudut. Program meminta konfirmasi dengan pertanyaan “Mau Mencoba
Lagi(y/t)? Jika

Penyelesaian

Jawaban pernyataan y atau t, artinya variabel yang menerima jawaban harus


bertipe char. Jawaban ini akan di cek pada kondisi While-Do, misalnya While
ulang=‟y‟ Do atau ulang <> „t‟. Kondii akan dicek, apakah nilai variabel kontrol
ulang, sama dengan y atau t. jawab y, maka akan diulangi, jika tidak, maka program
akan selesai. Untuk jawaban karaktek huruf besar dan kecil akan dibedakan. Jadi
jawaban Y tidak sama dengan jawaban y. Jika ingin menggunakan jawaban huruf
besar dan kecil, maka kondisi harus menggunakan operator logika OR. Misalnya
While (ulang=‟y‟ or ulang=‟Y‟) Do.

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

Rumus konversinya adalah:

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 144


3. Definisikan var ulang = „y‟
4. Cek var ulang, apakah tidak sama dengan „t‟, jika tidak maka lanjutkan ke
langkah 11
5. Jika benar maka Input a (sudut derajat)
6. Hitung konversi sudut a ke radian
7. Hitung nilai c= sin(r), d=cos(r), r=c/d (tangen)
8. Cetak hasil c, d, r
9. Tampilkan “Mau Mengulangi Lagi (Y/T)?”
10. Input jawaban pertanyaan
11. Ulangi langkah 4
12. Selesai

Flowchart

Gambar 6.48. Flowchart Contoh 6.23

Program

Program Trigonometri;
{File : Cnth623.pas}
{Oleh : Simon Patabang}

uses crt;
var
a : integer;
b,c,d,r : real;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 145


ulang :char;

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

Gambar 6.49. Hasil Program Contoh 6.23

Contoh 6.24

Buatlah program dengan menggunakan perulangan while-do untuk menghitung


Luas, volume dan Keliling dari sebuah balok dengan menu tampilan sbb :

Menu Pilihan
1. Hitung Luas
2. Hitung Keliling
3. Hitung Volume
4. Selesai
Pilihan Anda (1/2/3/4)?

Penyelesaian

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 146


Cara kerja perulangan sama dengan pembahasan pada Contoh 7.23, namaun nilai
variabel kontrolnya selalu bernilai y. Untuk soal ini, diminta menampilkan menu
pilihan yang harus dipilih berdasarkan kebutuhan. Cara kerja Menu pilihan sama
dengan pembahasan pada Contoh 6.8 dengan menggunakan case-of-end. Namun
variabel kontrolnya bertipe integer. Jika memilih 4 atau lebih maka program akan
selesai. Untuk itu digunakan seleksi if untuk mengecek nilai pilihan apakah
pilihan>=4, jika ya, maka program akan melompat ke label Selesai dan program
selesai. Dengan logika seperti ini, maka bagian input data tidak akan terbaca jika
memilih 4 atau atau lebih karena akan dilompati.
Untuk membuat program melompat maka perlu mendeklarasikan label pada bagian
deklarasi. Dalam program, nama label adalah Selesai. Program akan mencari
posisi label Selesai dengan perintah goto <nama label> atau goto Selesai.
Penulisan Selesai harus diakhiri dengan tanda titik dua ( : ), perhatikan pada bagian
akhir program. Pelajari dengan baik penggunaan perintah goto dan label dalam
program ini.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 147


Gambar 6.50. Hasil Program Contoh 6.24

Program

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 148


program Balok;

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

if pilihan >=4 then goto Selesai;

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

Pada dasarnya sama dengan perulangan While-Do. Perbedaaannya adalah


letak kondisi dalam perulangan. Dalam Repeat-Until, kondisi perulangan diletakkan
pada bagian akhir perulangan sedangkan pada While-Do, terletak di bagian awal.
Blok pernyataan di antara repeat dan until akan dikerjakan secara berulang kali
selama <kondisi> pada UNTIL bernilai SALAH. Jika kondisi BENAR, maka
perulangan selesai.
Nilai awal ditentukan pada bagian awal sebelum kata kunci repeat, kemudian
perubahan nilai variabel kontrol dilakukan di dalam blok repeat-until. Variabel
kontrol pada kondisi Until dapat bertipe integer, real, atau char.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 150


Gambar 6.52. Flowchart Repeat-Until

Contoh 6.25

Buatlah program untuk dengan hasil tampilan output sebagai berikut :


2 4 6 8 10 12

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 151


Gambar 6.53. Flowchart Contoh 6.25

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

Buatlah program untuk menampilkan barisan bilangan dengan rumus Un = 2n + b.


seperti pada Contoh 6.22.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 153


Gambar 6.44. Gambar Contoh 6.26

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 154


Until n<1;

writeln; writeln;
writeln('Tekan sembarang tombol untuk keluar');
readln;
End.

Hasil Program

Gambar 6.45. Hasil Program Contoh 6.26

Contoh 6.27

Buatlah program untuk menghitung Konversi suhu Celsius ke Fahrenheit, Reumer,


dan Kelvin. Tampilkan hasilnya dalam bentuk tabel.

Penyelesaian

Berdasarakan ilmu Fisika diketahui bahwa perbadingan konversi suhu adalah


sebagai berikut : Celcius : Reamur : Fahreinheit : Kelvin = 5 : 4 : 9 : 5

Celcius :

Titik beku pada suhu 0⁰C


Titik didih Air pada suhu 100⁰C
Nilai skala antara titik beku dengan titik didih adalah 100 derajat

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 155


Nilai skala antara titik beku dengan titik didih adalah 100 derajat

Rumus konversi skala Suhu :


Hubungan antara Celsius, Reamur, Fahrenheit dan Kelvin secara matematis dapat
dituliskan sebagai berikut :

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

Gambar 6.46 Flowchart Contoh 6.27

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

Gambar 6.47 Hasil Program Contoh 6.27

Contoh 6.28

Kembangkan Contoh 6.27 dengan menggunakan 2 buah loop (perulangan) yaitu


repeat-until dan while-do. Loop repeat-until untuk membuat perulangan dengan
menjawab pertanyaan, Ulang lagi (y/t)?. Jika menjawab y, maka program akan
meminta data baru, jika menjawab t, maka program akan selesai. Sedangkan while-
do untuk mencetak tabel hasil perhitungan seperti hasil program contoh 6.27.

Penyelesaian

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 158


Karena ada tambahan pertanyaan “Ulang lagi (y/t)?.” maka kita menambahkan satu
variabel baru dengan tipe char, misalnya namanya ulang. Kemudian nilai suhu
Celcius c diganti menjadi c1 dan c2 karena ada 2 masukan yaitu nilai awal dan nilai
akhir. Jadi c1 untuk nilai awal dan c2 untuk nilai akhir.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 159


Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 160
Gambar 6.48 Flowchart Contoh 6.28

Program

Program Repeat_Until;

{File : Cnth628.pas}
{Oleh : Simon Patabang}

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 161


uses crt;
var c1,c2,r,f,k : real;
ulang : char;

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 162


Gambar 6.49 Hasil Program Contoh 6.28
Contoh 6.29

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(' ',c1:6:2,' ',r:6:2,' ',f:6:2,' ',k:6:2);


c1:= c1 + 5;
Until c1>50;

writeln('==========================================');
writeln; writeln;
write('Ulang lagi (y/t)?'); readln(ulang);
end;
End.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 163


Data Array

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.

Jenis Data Array

1. Array Satu Dimensi


Array satu dimensi adalah sekelompok data yang terdiri dari satu baris atau
satu kolom saja.

Data satu baris : 1 2 3 4 5 6


Data satu kolom :
1
2
3
4
5
6

2. Array Dua Dimensi


Array dua dimensi sekelompok data data yang terdiri dari beberapa baris dan
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

Array 2 dimensi di atas terdiri dari 5 baris dan 5 kolom.

Mengapa perlu data Array?

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 164


Karena Variabel dengan tipe dasar hanya dapat menyimpan satu buah data.
Jika ada banyak data dengan tipe yang sama, maka tidak efisien jika disimpan
dalam variabel dengan tipe dasar. Misalnya ada 50 bilangan bulat, maka tidak
efisien jika mendeklarasikan 50 buah variabel dengan tipe integer. Karena itu,
array diperlukan untuk menyederhanakan cara penyimpanan sekumpulan data
yang tipenya sama. Jadi untuk 50 bilangan bulat, hanya mendeklarasikan satu
variabel array saja dengan tipe integer.

Bentuk Deklarasi Array

1. Deklarasi Array Satu Dimensi :

Bentuk Deklarasi 1 Dimensi

Var Nama :ARRAY[1..n] of tipe_data

n = banyaknya variabel array yang dialokasikan dalam memori


komputer.

Contoh :

Var Data : array[1..4] of string

Array data dapat digambarkan sebagai berikut :

Data[1] Data[2] Data[3] Data[4]


12 20 45 32

Artinya data[1] berisi data 12, data[2] berisi 20, dan seterusnya. Pehatikan
bahwa penulisan indeks array diletakkan dalam tanda kurus siku yaitu [ ].

Contoh :

1. Nama : Array[1..5] of String[25]


artinya ada 5 var nama bertipe string sebanyak 25 karakter. Yaitu nama[1],
nama[2], nama[3],….. nama[5].
2. Nilai : Array[1..10] of Integer
artinya ada 10 var nilai bertipe integer yaitu nilai[1], nilai[2],nilai[3], hingga
nilai[10]
3. Huruf : Array[1..4] of char
artinya ada 4 var huruf bertipe char yaitu huruf[1], huruf[2], huruf[3], huruf[4].

Contoh 1

Buatlah program untuk menampilkan data array 1 dimensi yang terdiri dari satu
baris dengan bentuk : 1 2 3 4 ….. 10

Penyelesaian

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 165


Array 1 dimensi berupa data baris saja yang datanya terdiri dari bilangan bulat
(integer) mulai dari 1 hingga 10. Data tersebut menunjukkan bahwa ada 10 data
dan data terakhir adalah 10. Maka variabel array dideklarasikan dengan bentuk N :
array[1..10] of integer. Gunakan perintah write untuk mencetak data pada satu baris
dan tambahkan spasi untuk jarak antar data. Misalnya write(j,‟ „) artinya cetak
data j dan spasi. Spasi harus diapit oleh tanda petik satu.

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 166


Begin
clrscr;
writeln;

for j:=1 to 10 do
Begin
n[j]:=j;
write(n[j],' ');
End;
writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.

Hasil Program

Gambar 8. Hasil Program Contoh 8.1

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 167


9. Selesai

Flowchart

Gambar 8. Flowchart Contoh 8.2

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],' ');

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 168


End;
writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.

Hasil Program

Gambar 8. Hasil Program Contoh 8.2

Contoh 8.3

Buatlah program untuk menginput data matrik A dan menampilkannya di layar.


Matriks A didefinisikan seperti di bawah ini.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 169


Gambar 8. Flowchart Contoh 8.3

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],' ');

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 170


writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.

Hasil Program

Gambar 8. Hasil Program Contoh 8.3

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 171


13. Hentikan tampilan
14. Selesai

Flowchart

Gambar 8. Flowchart Contoh 8.4

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;

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 172


writeln;writeln;
for j:=1 to 3 do
Begin
for k:=1 to 3 do
write(A[j,k],' ');
writeln;
End;

writeln;writeln;
writeln('Tekan sembarang tombol');
readln;
End.

Hasil Program

Gambar 8. Hasil Program Contoh 8.4

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].

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 173


6. Ulangi langkah 3
7. Mulai Perulangan i=1 hingga i=5
8. Cetak nama[i] dan nilai[i].
9. Ulangi langkah 7
10. Cetak Jumlah dan rata-rata
11. Hentikan tampilan output
12. Selesai

Flowchat

Gambar 8. Flowchart Contoh 8.5

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 174


End; clrscr;

{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

Gambar 8. Hasil Program Contoh 8.5

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

Hasil Rencana Studi Mahasiswa


Nama : Amir Hidayat
NIM : 90123456
No Mata Kuliah SKS Nilai Huruf SKSxHuruf
===============================================
1 Fisika 3 76 B 9
2 Matematika I 3 82 A 12
3 Matematika II 3 66 C 6
4 Komputer 2 78 B 6
5 Ketuhanan 2 96 A 8

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 175


6 Pancasila 2 90 A 8
================================================
IP Semester =

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 176


Tampilan Input Data

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 177


Tampilan Hasil 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?

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 178


• Jika Ya, maka bilangan tersebut bukan Bil Prima.

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 179


Output Program

Deret Fibonacci

Dalam matematika, Bilangan Fibonacci adalah barisan bilangan yang didefinisikan


sebagai berikut :
Nilai n didefinisikan mulai 0,1,2, dst. Kemudian bilangan deret didefinisikan bahwa :

Jika n=0, maka F(0)=0


Jika n=1, maka F(1)=1
Jika n=2, maka F(2)= F(2-1) + F(2-2) = F(1) + F(0) = 1 + 0 = 1
Jika n=3, maka F(3)= F(3-1) + F(3-2) = F(2) + F(1) = 1 + 1 = 2, dst

Bilangan ke n berikutnya didapat dengan cara menjumlahkan dua bilangan yang


berurutan sebelumnya.
Maka deret bilangan Fibonacci adalah :
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,…..

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 180


Algoritma

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

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 181


• Hasil 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 ……. ……… ……….. ……..

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 182


=====================================================

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.

Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 183

Anda mungkin juga menyukai