Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 1
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 2
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 3
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 4
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 5
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 6
 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 7
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 8
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 9
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 10
 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 11
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 12
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 13
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 14
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 15
Rumus untuk mencari x1 dan x2 :
2
12
2
– 4b
x
b
a
ac 

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
12
2
b D
x
a
 
 , maka x1 dan x2 adalah bilangan real
2. Jika D = 0, artinya nilai D sama dengan 0
1 2
2
b
x x
a

  , maka x1 dan x2 adalah bilangan real
3. Jika D < 0, artinya nilai D adalah bilangan negatip
12
( )
2
b D
x
a
  
 , x1 dan x2 adalah bilangan imaginer dimana 1 j 
maka :
12
2
b j D
x
a
 

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
1
2
b D
x
a
 
 dan 2
2
b D
x
a
 

o Jika d=0 maka hitung x1 dan x2
1 2
2
b
x x
a

 
o Jika d<0 maka hitung x1 dan x2
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 16
1
2
b j D
x
a
 
 dan 2
2
b j D
x
a
 

 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 17
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 18
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 19
Gambar 2.10. Flowchart Contoh 2.12
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 20
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 21
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 22
 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 :
Operator Simbol
Contoh
Rumus Program
Penjumlahan + c = a + b c = a + b
Pengurangan - c = b - a c = b - a
Perkalian * c = a x b 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
Operator Nama Operasi
Contoh
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
Pembagian
div a div b 8 div 3 2
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 23
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 24
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 25
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 26
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 27
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 28
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 29
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 30
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 31
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 32
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 33
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 34
 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 35
 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 :
Operator Simbol
Contoh
Rumus Program
Penjumlahan + c = a + b c = a + b
Pengurangan - c = b - a c = b - a
Perkalian * c = a x b 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 36
5 Y = ((4-2)/2*3 + 4)/ 2 3.5
Operator Fungsi matematika
Operator Nama Operasi
Contoh
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
Pembagian
div a div b 8 div 3 2
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 37
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 38
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 39
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 40
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 41
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 42
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 43
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 44
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 45
{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 46
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 47
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 48
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 49
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 50
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 51
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 52
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 53
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 54
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 ex
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( )
ln(10)
x
Log 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:
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 55
 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 56
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 57
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 58
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 59
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 πr2
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 60
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 61
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 62
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 63
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 64
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 65
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
If(n<=10)
7 True
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
Relasi
Operasi Contoh
= 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 66
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 67
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 68
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 69
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 70
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 71
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 72
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 73
 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 74
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 75
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 76
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 77
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 78
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 …
And
Dan (keduanya benar
maka hasilnya benar)
if ((n<100) and (n>80)) then ….
Or
Atau (salah satu benar
maka hasilnya benar)
if ((n<100) or (n>80)) then ….
Operator Not
Operator Not digunakan untuk menyangkal nilai logika dari suatu pernyataan
kondiri.
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 79
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 :
Kondisi A And B Jika n = A B Operasi
Hasil Nilai
Logika
Hasil
((n<=100) And
(n>80))
90 T T A and B T Benar
70 T F A and B F Salah
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 80
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 :
Kondisi A or B
Jika n
=
A B Operasi
Hasil Nilai
Logika
Hasil
((n<=85) or 90 F T A OR B T Benar
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 81
(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 82
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 83
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 84
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 85
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 86
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 87
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 88
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 89
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 90
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 91
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 92
 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 93
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 94
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 95
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 96
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 97
Gambar 5.26 Hasil Program Contoh 5.5
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 98
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 99
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
ke-i
n = n + i
Hasil
Nilai n
m = n+5
Hasil
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 100
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 101
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 102
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 103
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 104
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 105
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 106
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 107
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 108
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 109
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
Jika diketahui persamaan
1 1 1 1
1 ....
2 3 4
y
n
     . Buatlah program untuk
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 110
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 111
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 112
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 113
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 114
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 115
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 116
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 117
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 118
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
ke-i
n = n + i Nilai n m = n+5 Nilai m
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 119
 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 120
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 121
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 122
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 123
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 124
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 125
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 126
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 127
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 128
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 129
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 130
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 131
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 132
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 133
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 134
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 135
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 136
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 137
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 138
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 139
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 140
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 141
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 142
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 143
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 144
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 = 180o
.
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 145
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 146
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 147
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 148
Gambar 6.50. Hasil Program Contoh 6.24
Program
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 149
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 150
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 151
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 152
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 153
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 154
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 155
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 156
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 :
No.
Konversi
Rumus
Dari Ke
1 Celsius
Reamur t°C = (
4
x t ) °R
5
Fahrenheit t°C = (
9
x t ) + 32 °F
5
Kelvin t °C = ( t + 273,15) K
2 Reamur
Celsius t°R = (
5
x t ) °C
4
Fahrenheit t°R = (
9
x t ) + 32°F
4
Kelvin t°R =
t
+ 273.15 K
4/5
3 Fahrenheit
Celsius t°F =
5
x ( t - 32)°C
9
Reamur t°F =
4
x ( t - 32)°R
9
Kelvin t°F =
( t + 459,67)
K
9/5
4 Kelvin
Celsius tK = t − 273,15°C
Fahrenheit tK = (t x
9
) - 459.67°R
5
Reamur tK = ( t -273,15) x
4
°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 157
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 158
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 159
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 160
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 161
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 162
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 163
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 164
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 165
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 166
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 167
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 168
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 169
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 170
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 171
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
1 0 9
3 6 8
A
 
   
  
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 172
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 173
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 174
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 175
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 176
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 177
Tampilan Input Data
Diktat Mata Kuliah Dasar Pemrograman Komputer – FT-UAJM Page 178
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 179
• 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 180
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 181
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 182
• 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 183
=====================================================
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.

Dasar pemrograman pascal

  • 1.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 1 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
  • 2.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 2
  • 3.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 3 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.
  • 4.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 4 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
  • 5.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 5 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.
  • 6.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 6  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
  • 7.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 7 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
  • 8.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 8 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
  • 9.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 9 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)
  • 10.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 10  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
  • 11.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 11 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
  • 12.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 12 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:
  • 13.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 13 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
  • 14.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 14 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.
  • 15.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 15 Rumus untuk mencari x1 dan x2 : 2 12 2 – 4b x b a ac   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 12 2 b D x a    , maka x1 dan x2 adalah bilangan real 2. Jika D = 0, artinya nilai D sama dengan 0 1 2 2 b x x a    , maka x1 dan x2 adalah bilangan real 3. Jika D < 0, artinya nilai D adalah bilangan negatip 12 ( ) 2 b D x a     , x1 dan x2 adalah bilangan imaginer dimana 1 j  maka : 12 2 b j D x a    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 1 2 b D x a    dan 2 2 b D x a    o Jika d=0 maka hitung x1 dan x2 1 2 2 b x x a    o Jika d<0 maka hitung x1 dan x2
  • 16.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 16 1 2 b j D x a    dan 2 2 b j D x a     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
  • 17.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 17 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
  • 18.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 18 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 :
  • 19.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 19 Gambar 2.10. Flowchart Contoh 2.12
  • 20.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 20 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
  • 21.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 21 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
  • 22.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 22  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 : Operator Simbol Contoh Rumus Program Penjumlahan + c = a + b c = a + b Pengurangan - c = b - a c = b - a Perkalian * c = a x b 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 Operator Nama Operasi Contoh 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 Pembagian div a div b 8 div 3 2 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
  • 23.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 23 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.
  • 24.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 24 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);
  • 25.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 25 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.
  • 26.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 26 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 :
  • 27.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 27 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
  • 28.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 28 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;
  • 29.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 29 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;
  • 30.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 30 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;
  • 31.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 31 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 :
  • 32.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 32 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}
  • 33.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 33 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 :
  • 34.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 34  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 :
  • 35.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 35  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 : Operator Simbol Contoh Rumus Program Penjumlahan + c = a + b c = a + b Pengurangan - c = b - a c = b - a Perkalian * c = a x b 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
  • 36.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 36 5 Y = ((4-2)/2*3 + 4)/ 2 3.5 Operator Fungsi matematika Operator Nama Operasi Contoh 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 Pembagian div a div b 8 div 3 2 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
  • 37.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 37 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.
  • 38.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 38 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.
  • 39.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 39 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 :
  • 40.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 40 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}
  • 41.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 41 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;
  • 42.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 42 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 :
  • 43.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 43 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 :
  • 44.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 44 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}
  • 45.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 45 {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 :
  • 46.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 46 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
  • 47.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 47 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 :
  • 48.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 48 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
  • 49.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 49 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
  • 50.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 50 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
  • 51.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 51 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
  • 52.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 52 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*)
  • 53.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 53 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 :
  • 54.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 54 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 ex 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( ) ln(10) x Log 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:
  • 55.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 55  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)
  • 56.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 56 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
  • 57.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 57 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
  • 58.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 58 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');
  • 59.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 59 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 πr2 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;
  • 60.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 60 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
  • 61.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 61 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;
  • 62.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 62 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 :
  • 63.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 63 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.
  • 64.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 64 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
  • 65.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 65 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 If(n<=10) 7 True 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 Relasi Operasi Contoh = 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
  • 66.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 66 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
  • 67.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 67 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
  • 68.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 68 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
  • 69.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 69 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
  • 70.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 70 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
  • 71.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 71 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
  • 72.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 72 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 :
  • 73.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 73  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
  • 74.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 74 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
  • 75.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 75 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
  • 76.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 76 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
  • 77.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 77 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
  • 78.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 78 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 … And Dan (keduanya benar maka hasilnya benar) if ((n<100) and (n>80)) then …. Or Atau (salah satu benar maka hasilnya benar) if ((n<100) or (n>80)) then …. Operator Not Operator Not digunakan untuk menyangkal nilai logika dari suatu pernyataan kondiri.
  • 79.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 79 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 : Kondisi A And B Jika n = A B Operasi Hasil Nilai Logika Hasil ((n<=100) And (n>80)) 90 T T A and B T Benar 70 T F A and B F Salah 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
  • 80.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 80 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 : Kondisi A or B Jika n = A B Operasi Hasil Nilai Logika Hasil ((n<=85) or 90 F T A OR B T Benar
  • 81.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 81 (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
  • 82.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 82 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;
  • 83.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 83 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
  • 84.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 84 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)
  • 85.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 85 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
  • 86.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 86 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
  • 87.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 87 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
  • 88.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 88 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 :
  • 89.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 89 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
  • 90.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 90 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;
  • 91.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 91 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
  • 92.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 92  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;
  • 93.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 93 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
  • 94.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 94 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
  • 95.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 95 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
  • 96.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 96 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
  • 97.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 97 Gambar 5.26 Hasil Program Contoh 5.5
  • 98.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 98 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
  • 99.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 99 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 ke-i n = n + i Hasil Nilai n m = n+5 Hasil 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
  • 100.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 100 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
  • 101.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 101 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
  • 102.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 102 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;
  • 103.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 103 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
  • 104.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 104 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);
  • 105.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 105 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
  • 106.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 106 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
  • 107.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 107 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
  • 108.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 108 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);
  • 109.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 109 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 Jika diketahui persamaan 1 1 1 1 1 .... 2 3 4 y n      . Buatlah program untuk 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.
  • 110.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 110 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;
  • 111.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 111 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
  • 112.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 112 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
  • 113.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 113 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
  • 114.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 114 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;
  • 115.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 115 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
  • 116.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 116 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
  • 117.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 117 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
  • 118.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 118 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 ke-i n = n + i Nilai n m = n+5 Nilai m 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
  • 119.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 119  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.
  • 120.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 120 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
  • 121.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 121 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.
  • 122.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 122 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
  • 123.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 123 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.
  • 124.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 124 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
  • 125.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 125 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
  • 126.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 126 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(' ','*');
  • 127.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 127 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
  • 128.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 128 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;
  • 129.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 129 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
  • 130.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 130 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');
  • 131.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 131 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
  • 132.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 132 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;
  • 133.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 133 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
  • 134.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 134 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
  • 135.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 135 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
  • 136.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 136 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
  • 137.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 137 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
  • 138.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 138 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
  • 139.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 139 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);
  • 140.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 140 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
  • 141.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 141 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
  • 142.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 142 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
  • 143.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 143 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');
  • 144.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 144 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 = 180o . 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
  • 145.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 145 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;
  • 146.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 146 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
  • 147.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 147 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
  • 148.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 148 Gambar 6.50. Hasil Program Contoh 6.24 Program
  • 149.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 149 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
  • 150.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 150 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
  • 151.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 151 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
  • 152.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 152 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
  • 153.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 153 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
  • 154.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 154 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);
  • 155.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 155 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
  • 156.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 156 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 : No. Konversi Rumus Dari Ke 1 Celsius Reamur t°C = ( 4 x t ) °R 5 Fahrenheit t°C = ( 9 x t ) + 32 °F 5 Kelvin t °C = ( t + 273,15) K 2 Reamur Celsius t°R = ( 5 x t ) °C 4 Fahrenheit t°R = ( 9 x t ) + 32°F 4 Kelvin t°R = t + 273.15 K 4/5 3 Fahrenheit Celsius t°F = 5 x ( t - 32)°C 9 Reamur t°F = 4 x ( t - 32)°R 9 Kelvin t°F = ( t + 459,67) K 9/5 4 Kelvin Celsius tK = t − 273,15°C Fahrenheit tK = (t x 9 ) - 459.67°R 5 Reamur tK = ( t -273,15) x 4 °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
  • 157.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 157 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;
  • 158.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 158 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
  • 159.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 159 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
  • 160.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 160
  • 161.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 161 Gambar 6.48 Flowchart Contoh 6.28 Program Program Repeat_Until; {File : Cnth628.pas} {Oleh : Simon Patabang}
  • 162.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 162 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
  • 163.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 163 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.
  • 164.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 164 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?
  • 165.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 165 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
  • 166.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 166 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;
  • 167.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 167 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
  • 168.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 168 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],' ');
  • 169.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 169 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
  • 170.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 170 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],' ');
  • 171.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 171 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 1 0 9 3 6 8 A          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
  • 172.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 172 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;
  • 173.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 173 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].
  • 174.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 174 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]);
  • 175.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 175 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
  • 176.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 176 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
  • 177.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 177 Tampilan Input Data
  • 178.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 178 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?
  • 179.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 179 • 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
  • 180.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 180 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,…..
  • 181.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 181 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
  • 182.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 182 • 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 ……. ……… ……….. ……..
  • 183.
    Diktat Mata KuliahDasar Pemrograman Komputer – FT-UAJM Page 183 ===================================================== 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.