Pengertian
Algoritma :
adalah urutan langkah-langkah logis
dalam penyelesaian masalah yang disusun
secara sistematis.
Contoh
:
Tentukan
nilai A dengan rumus yang bisa digunakan adalah C=A+B
C? à Untuk menentukan nilai C maka yang harus
kita ketahui terlebih dahulu adalah nilai A dan nilai B
Untuk nilai A dan B ini dapat berupa konstanta atau
merupakan hasil proses yang lainnya. Jadi Nilai C tidak akan bisa didapatkan
sebelum kita mengetahui nilai A dan nilai B.
Jadi langkah pertama kita
adalah menentukan nilai A dan B, kemudian baru menghitung penjumlahan kedua
nilai tersebut. Urutan inilah yang disebut sebagai urutan logis.
Contoh lain adalah : untuk menukar isi bejana A
yang berisi air berwarna Biru dengan bejana B yang berisi air
berwarna Merah. Sehingga nantinya bejana A berisi air berwarna merah
sedangkan bejana B berisi air berwarna Biru.
Algoritma adalah :
-
tuangkan isi bejana A ke bejana B, kemudian tuangkan isi bejana B ke
bejana A.
Cara yang ditempuh diatas
adalah SALAH karena pada saat isi bejana A dituangkan ke bejana B maka air yang
ada pada bejana B akan tercampur dengan air yang ada pada bejana B, sehingga
pada saat isi bejana B dituangkan ke dalam bejana A maka Warnanya sudah
tercampur dengan isi bejana A.
Algoritma
yang tepat adalah :
-
Siapkan sebuah bejana dalam keadaan kosong diumpamakan dengan bejana C
-
Kemudian isi bejana A dituangkan kedalam bejana C sehingga bejana A
dalam keadaan kosong
-
Langkah berikutnya isi bejana B dituangkan kedalam bejana A sehingga
bejana B sekarang dalam keadaan kosong.
-
Baru kemudian isi bejana C dituangkan kedalam bejana B
-
Perhatikan bahwa isi bejana sudah berpindah ke bejana B dan isi bejana
B sudah berpindah ke bejana A
Alat-alat Bantu dalam menggambarkan Algoritma
Untuk menggambarkan urutan suatu proses maka
ada beberapa cara (alat bantu) yang bisa digunakan. Cara yang digunakan harus
sudah berlaku secara umum dan mempunyai aturan-aturan tertentu.
Cara
yang bisa digunakan antara lain :
-
Algoritma
-
IPO Chart
-
Flow Chart Program
Contoh
penggunaan alat bantu diatas: (kasus dari contoh pertama)
C=A+B
1. Algoritma
Urutan instruksi yang
diberikan adalah :
- Tentukan nilai A dan B
- Proses nilai A ditambah
nilai B
- Cetak hasil (nilai C)
2. IPO Chart
Dipanggil
|
Memanggil
|
Input A,B
|
Output C
|
Proses C=A+B
|
start
|
A,B,C
|
Input A,B
|
C=A+B
|
Cetak C
|
Stop
|
3. Program Flow Chart
Mekanisme
Pelaksanaan Algoritma oleh Pemroses.
Dalam pembuatan algoritma
ini maka hasil akan didapatkan dengan adanya prosesan. Pemroses dapat berupa
alat-alat elektronik, manusia, robot dan alat-alat elektronik lainnya.
Pemroses melakukan suatu
proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses
tersebut. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam
algoritma tersebut.
Pada algoritma yang akan
dipelajari alat peruses yang akan digunakan adalah komputer.
Pada komputer dapat
dibedakan atas 4 unit utama
-
piranti masukan
-
piranti keluaran
-
piranti proses
-
piranti memori
Data pada komputer akan
diproses pada piranti proses yang sering dikenal dengan CPU. Mekanisme dari ke
empat piranti di atas dapat digambarkan sebagai berikut :
Piranti Masukan
|
Unit pemrosesan Utama (CPU)
|
Piranti Keluaran
|
Memori
|
Mekanisme dari keempat
piranti diatas dapat dijelaskan sebagai berikut :
Mula-nula program dimasukkan
ke dalam memori komputer. Ketika program dilaksanakan, setiap instruksi yang
telah disimpan didalam memori dikirim ke CPU. CPU mengerjakan operasi-operasi
yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data,
data dibaca dari piranti masukan , disimpan dalam memori lalu dikirim ke CPU
untuk operasi yang memerlikan tadi.. Bila proses menghasilkan keluaran,
keluaran disimpan ke dalam memori, lalu dari memori keluaran dikirimkan ke piranti
keluaran.
Sebuah algoritma akan dapat dikenal oleh komputer jika sudah
dipindahkan kedalam bentuk yang dapat dimengerti oleh komputer, dalam hal ini
disebut dengan program. Ada bermacam-macam
bahasa pemrogram yang dikenal seperti, Basic, Bahasa C, Pascal, Fortran, Visual
Basic, Delphi ,dll.
Pertemuan 2
Simbol-Simbol Program
Flow Chart
|
Awal dan akhir suatu
program
|
|
Inisialisasi variable (
persiapan awal )
|
|
Input dan output ( masukan
dan keluaran ) program
|
|
Proses program
|
|
Percabangan / perulangan
|
|
Perulangan
|
|
Connector (tanda sambung
untuk halaman sama )
|
|
Connector ( tanda sambung
untuk halaman berbeda )
|
|
Arah proses
|
|
Sub
program / Procedure ( blok program )
|
Struktur
Bahasa Pascal
Judul Program
Blok Program
Bagian Deklarasi
-
variable
-
label
-
konstanta
-
type
-
procedure
-
function
Bagian Pernyataan
Perintah Input Output
- Read dan readln (perintah input )
- Write dan writeln (perintah output)
contoh :
readln(a) à input nilai A
write(A) à cetak nilai A
write(‘A’) à cetak ‘A’
Contoh Soal :
Buat flowchart program dan program Pascal untuk menampilkan hasil
perkalian sebagai berikut :
A=B x C à Nilai B Dan C Diinputkan
P=Q(R+S) + R(Q+S) à Nilai Q,R,dan S diinputkan
Deklarasi
Variabel, Label, Konstanta
Deklarasi variable
dinyatakan dengan statemen Var
Contoh
Var A:integer;
Deklarasi Label
dinyatakan dengan statemen Label
Contoh
Label 100
Deklarasi
konstanta dinyatakan dengan statemen Const
Contoh
Const a:=100;
Syarat-syarat pemberian nilai variable
-
harus
dimulai dengan huruf
-
harus
merupakan satu kesatuan
-
Tidak
boleh ada symbol-simbol khusus kecuali ‘_’ (garis bawah)
-
Huruf
besar dan kecil dianggap sama
-
Panjang
tidak terbatas
Deklarasi
Fungsi dan prosedure
Fungsi dan prosedure
merupakan blok program yang terpisah dari program utama yang mempunyai struktur
program hampir sama dengan program utama. Prosedure dinyatakan dengan statemen
PROCEDURE sedangkan fungsi dinyatakan dengan statemen FUNCTION
CONTOH PROSEDUR
PROCEDURE SATU;
VAR
BEGIN
END;
CONTOH FUNGSI
FUNCTION AKAR;
BEGIN
END;
Tipe Data Pada Program Pascal
Program komputer bekerja dengan memanipulasi data
didalam memori. Data yang dimanipulasi mempunyai beberapa tipe data seperti :
-
nilai
numerik
-
karakter
-
string
-
rekaman
(record)
Tipe data dapat dikelompokkan dalam dua kelompok yaitu :
-
Tipe
Dasar (nilainya bias langsung dipakai)
-
Tipe
Bentukan (tipe data yang didefeisikan dari tipe dasar)
1. Tipe
Dasar
Yang termasuk tipe dasar adalah :
-
karakter
-
bilangan
-
logika
- Tipe bilangan ada beberapa macam
a. Bilangan bulat
- Shortint -128
s/d +127
- Byte 0 s/d
255
- Integer -32768 s/d
+32767
- Longint -2147483648 s/d +2147483648
- Word 0 s/d 65535
b. Bilangan pecahan
- Real 2.9 X 10 –39 s/d
1,7 X 10 38
- Single 1.5 X 10 –45 s/d
3,4 X 10 38
- Double 5.0 X 10 –324 s/d
1,7 X 10 308
- Extend 3.4 X 10 –4932 s/d
1,1 X 10 4932
-
Tipe
data Karakter
Yang termasuk kedalam tipe data karakter
adalah : huruf-huruf alfabet, tanda baca, angka ‘0’,’1’,….’9’ dan karakter khusus
‘&’,’^’,……..
-
Logika
Tipe data ini mempunyai nilai Benar dan
Salah
2. Tipe Bentukan
Tipe bentukan adalah tipe data yang
didefenisikan sendiri oleh pemrogram.
1. String
2. Tipe data dasar yang diberi nama dengan
nama tipe baru.
3. Rekaman (record)
1. String
Adalah deretan karakter dengan panjang
tertentu
Contoh : a:string[15]
2. Tipe data dasar yang diberi nama baru
Contoh : Type BilBulat : Integer:
3. Rekaman
Contoh : Type mahasiswa=record
Nbp
:string[13];
Nm :string[25];
End;
Pertemuan
3
Operator Pada Program
1. Operator Aritmatika
Yaitu symbol yang digunakan untuk proses
perhitungan
+, - , * , / , div , mod
-
operator
‘/’ digunakan untuk pembagian dengan hasil adalah bilangan pecahan
-
operator
div digunakan untuk pembagian dengan hasil adalah bilagan bulat
-
mod
adalah operator yang digunakan untuk mencari sisa hasil bagi
Pada proses aritmatik adakalanya ada
beberapa operator ditemui pada satu ekspresi.
Contoh :
Z=A+B*C
Pada contoh diatas ada 2 operator yang
ditemui yaitu + dan *. Jika hal ini terjadi maka yang akan diproses terlebih
dahulu adalah operator dengan prioritas tertinggi.
Berikut prioritas pengerjaan dari
masing-masing operator.
1. * , /, mod , div
2. + dan –
2. Operator Relasional
Adalah < , > , >= , <= ,
not , and , or . Hasil dari operator ini adalah benar atau salah.
Contoh-contoh soal:
Perrtemuan 4 (pratikum)
Runtunan
Merupakan urutan proses program yang
terurut tanpa adanya proses percabangan.
Contoh untuk proses runtunan ini juga bisa
dilihat pada pertukaran isi bejana pada pertemuan 1
Contoh : buat algoritma dan program untuk
menghitung hasil formula berikut
Nilai x bisa didapatkan dari hasil
perkalian p dan q. dimana nilai p didapatkan dari formula berikut :
P=3a+b *c
Sedangkan nilai q didapat kan dari formula q=4b*c+d
Tentukan terlebih dahulu data apa yang
perlu diinputkan dan urutkan proses yang harus dikerjakan.
Algoritma :……….
Program pascal ………
Pertemuan 5 dan 6
Struktur Percabangan
Yaitu pemilihan suatu instruksi yang
akan dikerjakan sesuai dengan kondisi / syarat tertentu
a.
IF…………THEN
Digunakan jika pada pemilihan hanya ada
satu aksi yang akan dilakukan jika kondisi tertentu terpenuhi dan tidak ada
aksi yang lain yang akan dikerjakan jika kondisi tidak terpenuhi.
Contoh :jika nilai rata besar dari 3 maka
ket ‘dapat bonus’ jika tidak tidak dapat apa-apa.
Flow chart : Program :
|
Write(‘nilai rata-rata : ‘);
Readln(nil_rata);
If nil_rata > 3 then
Begin
Ket:=’Dapat Bonus’
End;
|
b. IF………THEN…….ELSE………
Digunakan jika pada pemilihan ada dua aksi
yang akan dilakukan
Contoh : jika nilai besar dari 60 maka
keterangan lulus jika tidak keterangan gagal
Flowchart : Program
:
|
||||
Write(‘Inputkan nilai: ‘);Readln(nilai);
If nilai > 60 then
Begin
End
Else
Begin
Ket:=’Gagal’
End;
|
c. IF……THEN……ELSEIF…….THEN……ELSE
Digunakan jika pada pemilihan ada beberapa
aksi yang akan dilakukan berdasarkan beberapa syarat yang harus terpenuhi.
Contoh :
Tentukan apakah wujud air dalam keadaan
cair, padat, atau gas.
Flowchart :
|
||||||
Write(‘Inputkan Suhu: ‘);Readln(suhu);
If suhu <= 0 then
Begin
Ket:=’Padat’
End
Else if suhu >= 100 then
Begin
Ket:=’Gas’
End
Else
Begin
Ket:=’Cair’
End;
|
Tentukan apakah suatu bilangan negatif,
positif, atau nol
Flowchart : program:
|
||||||||||
Write(‘Inputkan Bil: ‘);Readln(bil);
If bil < 0 then
Begin
Ket:=’Negatif’
End
Else if bil > 0 then
Begin
Ket:=’Positif’
End
Else
Begin
Ket:=’Bil.
Nol’
End;
|
d. Struktur Case
Struktur case adalah cara lain yang bisa
digunakan untuk memilih suatu kondisi tertentu.
Syntax:
Case (var)
Var
= …..: hasil =…..
Var = …...: hasil =…..
….
….
Endcase
Pertemuan 7,8
PENGULANGAN
-
While……..do
-
Repeat…….until
-
For
…..to……do
1.
While ..... Do
Perulangan dengan while ..do digunakan selama kondisi (syarat) yang ada
pada perulangan benar (terpenuhi)
Contoh :Mencetak ‘Halo’
sebanyak 10 kali
|
K:=1
While k< 10 do
begin
write
(‘Halo’);
k:=k+1;
end;
|
Keterangan :
Perintah write ‘halo’ akan dilaksanakan selama
nilai k<= 1, dimana di dalam setiap perulangan nilai k akan bertambah
nialainya 1 (satu) sehingga perintah write akan dilakukan sebanyak 10 kali
2. Repeat ........ Until
Perulangan dengan repeat
until digunakan selama kondisi belum terpenuhi
K=1
|
Until
k>10 do
|
Write
‘Halo’
|
K=k+1
|
Repeat
|
|
K:=1
Repeat
write
(‘Halo’);
k:=k+1;
Until k>10;
|
Keterangan :
Write (‘halo’) akan
dilakukan selama nilai K tidak besar dari 10.
Pada struktur repeat
until instruksi yang ada anatara repeat dan until minimal satu kali proses akan
dilakukann karena nilai / syarat dari perulangan terletak di akhir struktur.
3. For ....to... do
Perulangan dengan
struktur for akan dilakukan sesuai dengan jumlah perulangan yang ditetapkan
pada struktur for.
Contoh : menampilkan
‘halo’ sebanyak 10 kali
|
K:=1
Repeat
write
(‘Halo’);
k:=k+1;
Until k>10;
|
Keterangan :
Write(‘halo’) akan
dilaksanakan sebanyak 10 kali sesuai
dengan jumlah perulangan yang udah ditetapkan pada struktur For yaitu 1 s/d 10.
pada struktur perulangan ini nilai K akan bertambah 1 secara otomatis begitu
perintah sampai pada khir perulangan.
Erulangan dengan
struktur for dapat dibagi menjadi 2 bagian
1. For menaik
2. For menurun
1. For menaik
-
peubah haruslah bertipe
sederhana kecuali tipe real
-
nilai awal harus lebih kecil
atau sama dengan nilai akhir
-
pada awalnya peubah
diinisialisasi dengan nilai awal. Nilai peubah otomatis bertambah satu setiap
kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai
akhir
-
jumlah pengulangan yang terjadi
adalah nilai akhir – nilai awal +1
2. For menurun
-
peubah haruslah bertipe
sederhana kecuali tipe real
-
nilai awal harus lebih besar
atau sama dengan nilai akhir
-
pada awalnya peubah
diinisialisasi dengan nilai awal. Nilai peubah otomatis berkurang satu setiap
kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai
akhir
-
jumlah pengulangan yang terjadi
adalah nilai awal – nilai akhir +1
Contoh-contoh Kasus
Pertemuan 10
Loop Dalam Loop ( Nested Loop)
Pada proses perulangan
sangat dimungkinkan adanya terjadi proses perulangan didalam perulangan yang
lain, proses ini dikenal dengan istilah Nested Loop
1. Nested Loop pada For ....... to
........ Do
Syntax :
For....to.....do
Instruksi
For....to....do
Instruksi...
end
end
Keterangan :
Pada perulangan seperti ini proses perulangan yang
akan diselesaikan terlebih dahulu adalah perulangan yang terletak pada bagian
dalam.
Contoh :
inputkan data buku maksimal 5 Judul buku dimana masing-masing buku memiliki
pengarang maksimal ada 4 pengarang. Berikut data lengkap yang harus diinputkan
:
Kode Buku :
Judul Buku :
Pengarang :
Tahun Terbit :
|
For i:=1 to 5 do
Begin
Write (‘Kode Buku :’); readln(kdb);
Write (‘Judul Buku :’); readln(jdl);
For k:=1 to 4 do
Begin
Write (‘Pengarang :’); readln(pg);
Write (‘Tahun Terbit :’); readln(th);
End;
End;
|
Keterangan :
Pada program diatas proses perulangan pada i akan
dilaksanakan terlebih dahulu untuk i=1, berikut proses perulangan akan berada
pada k dimana perulangan akan dilaksanakan mulai dari k=1 sampai nilai k=4.
Begitu nilai k=5 proses akan keluar dari perulangan k dan akan kembali ke
perulangan i dengan nilai I akan
langsung bertambah satu sehingga menjadi 2.
Perulangan akan dilanjutkan kembali ke perulangan
K mulai dari nilai k=1 lagi sampai nilai sama dengan 4. Begitu seterusnya
sampai nilai I sama dengan 5. Begitu
nilai I=6 maka proses akan keluar dari perulangan secara keseluruhan
2. Nesterd
Loop Pada While ......Do
Pada
prinsip kerjanya nested loop while ...do sama dengan for..to..do dimana proses
perulangan yang akan diselesaikan
terlebih dahulu adalah perulangan yang terletak bagian dalam
Syntax :
While.........do
Instruksi
While .....do
Instruksi
End
End
Selesaikan
contoh pada for ...to...do dengan menggunakan while....do
|
I:=1;
While I<=5 do
Begin
Write
(‘Kode Buku :’); readln(kdb);
Write (‘Judul Buku :’); readln(jdl);
K:=1;
While
k<=1 to 4 do
Begin
Write (‘Pengarang :’); readln(pg);
Write (‘Tahun Terbit :’); readln(th);
K:=K+1;
End;
I:+I+1;
End;
|
3. Nested Loop Pada Repeat ..........Until
Proses nested repeat until hampir sama dengan
proses yang ada pada nested for dan nested whie. Tetapi disini masing-masing
perulangan pada repeat ...until satu
kali proses pasti akan dilakukan sesuai dengan keterangan yang ada pada
perulangan dengan repeat until.
Contoh :
Selesaikan kasus pada nested loop sebelumnya
dengan menggunakan Repeat until.
|
I:=1;
Repeat
Write
(‘Kode Buku :’); readln(kdb);
Write (‘Judul Buku :’); readln(jdl);
K:=1;
Repeat
Write (‘Pengarang :’); readln(pg);
Write (‘Tahun Terbit :’); readln(th);
K:=K+1;
Until K>4;
I:+I+1;
Until I>5;
|
Pertemuan 11, 12
Procedure
Pengertian
Procedure :
Adalah merupakan blok program yang terpisah dari
program utama dengan struktur program hampir sama dengan struktur program utama
Struktur Procedure
Judul Procedure
Bagian Deklarasi
Variabel
Label
Constanta
Type
Badan Procedure
Begin
instruksi
End;
Procedure
sendiri harus dibuat sebelum program utama sesuai dengan struktur program.
Setiap
procedure dibatasi dengan end yang menggunakan tanda titik koma. Procedure
biasanya ditemukan pada program untuk skala yang besar, sehingga dalam
pembuatan program untuk lebih mudah dalam mendisainnya dibentuk dalam
modul-modul program yang dikenal dengan Procedure. Namun demikian bukan berarti
procedure tidak bisa diterapkan untuk program dengan skala yang lebih kecil.
Prosedur
dideklarasikan dengan menggunakan Statemen Procedure. Setiap procedure selalu
diakhiri dengan menggunakan tanad titik koma pada end yang terakhir.
Contoh pendeklarasian prosedur
:
Procedure Satu;
Begin
Write (‘ini adalah prosedur yang pertama’);
Repeat until keypressed;
End;
{Program Utama}
Begin
Satu;
Write
(‘Prosedur pertama selesai’);
Repeat
untuil keypressed;
End.
Pada
contoh diatas pada saat program dijalankan maka program utama akan dieksekusi
terlebih dahulu. Pada saat proses eksekusi ditemukan perintah satu
yang dikenal sebagai nama sebuah prosedur. Nama ini dikenal pada saat compiler
mengkompilasi program maka satu dicatat sebagai nama sebuah prosedur . Jadi
begitu ditemukan satu maka compiler akan mencari kelisting program prosedur
dengan nama satu. Setelah ditemukan maka akan diproses. Setelah proses pada prosedur
selesai maka proses program akan kembali pada program utama.
Contoh :kasus
Buat program dengan menggunakan
prosedur untuk menampilkan output berikut :
Algoritma adalah dasar untuk
pembuatan program
Algoritma dapat digambarkan
dengan Flow Chart Program
Pascal adalah salah satu bahasa
untuk mengantarkan algoritma
Ketentuan proses :
Kalimat pertama dibuat pada
prosedur dengan nama Algoritma
Kalimat kedua dibuat pada
prosedur dengan nama Flow_Chart
Kalimat ketiga dibuat pada
prosedur dengan nama Pascal
Pendeklarasian Parameter Pada Procedure
Variabel pada program Pascal
lebih dikenal dengan nama parameter.
Parameter dapat berupa
parameter lokal dan dapat berupa parameter global.
Parameter lokal adalah
parameter yang hanya bisa digunakan untuk proses pada prosedur yang bersangkuta
Parameter global adalah
parameter yang dapat digunakan untuk
semua blok program yang ada sesudahnya
dan pada prosedur yang bersangkutan.
Contoh pendeklarasian parameter
pada prosedur.
Procedure Satu;
Var A : integer;
Begin
End;
Var X:longint;
Procedure Dua;
Var B:integer;
Begin
End;
Var P,Q : Longint;
Begin
.......
.......
End.
Keterangan :
Var A dan Var B adalah variabel
lokal pada prosedur satu dan dua. Var A hanya bisa digunakan untuk proses yang
ada pada prosedur satu sedangkan Var B hanya dapat digunakan untuk proses pada
prosedur dua.
Var X adalah variabel yang
bersifat global untuk prosedur dua dan program utama. Jadi var X dapat
digunakan untuk proses baik pada prosedur dua maupun pada program utama, tetapi
tidak bisa digunakan untuk proses pada prosedur satu.
Var P,Q adalah var yang hanya
dapat digunakan pada program utama saja.
Contoh kasus
Buat program untuk menghitung
luas suatu bangun dengan output sebagai berikut.
Program
Menghitung Luas Bangun
Bujur
Sangkar dan Segitiga Siku-Siku
1. Luas Bujur Sangkar
2. Luas Segitiga Siku-Siku
3. Selesai
Input
Pilihan [1-2] :..
Mencari Luas Bujur Sangkar
Input
Panjang Sisi :.....
Luas
Bujur Sangkar Adalah :......
Tekan Enter Untuk Melanjutkan
Mencari Luas Segitiga Siku-Siku
Input
Panjang Alas :.....
Input
Tinggi Segitiga :.....
Luas
Segitiga Adalah :......
Tekan Enter Untuk Melanjutkan
pil=2
|
Stop
|
Pil, Luas
|
Cetak
Output Program Utama
|
Input pil
|
pil=1
|
Bujur_sangkar
|
Siku-Siku
|
Start
|
Sisi
|
Cetak Output Prosedur Bujur Sangkar
|
Input sisi
|
Bujur_Sangkar
|
Luas = sisi * sisi
|
Cetak Luas
|
Return
|
Alas,tinggi
|
Cetak Output Prosedur Segitiga Siku-Siku
|
Input alas, tinggi
|
Siku_Siku
|
Luas = ½ * alas * tinggi
|
Cetak Luas
|
Return
|
{Program Pascal}
Var Pil : integer ;
Luas :
real;
Procedure bujur_sangkar;
Var sisi:integer;
Begin
Clrscr;
Gotoxy (...,...) ; write (‘Mencari Luas Bujur Sangkar’);
Gotoxy (...,..) ;
write (‘Input Panjang Sisi : ‘);
Gotoxy (...,...) ; write (‘ Luas Bujur Sangkar Adalah :’);
Gotoxy (...,... ) ; readln (sisi);
Luas := sisi * sisi ;
Gotoxy (..,...) ; write (luas:6:1);
Repeat until keypressed;
End;
Procedure siku_siku;
Var alas,tinggi:integer;
Begin
Clrscr;
Gotoxy (...,...) ; write (‘Mencari Luas Segi Tiga
Siku-Siku’);
Gotoxy (...,..) ;
write (‘Input Panjang Alas :
‘);
Gotoxy (...,..) ;
write (‘Input Tinggi Segi Tiga :
‘);
Gotoxy (...,...) ; write (‘ Luas Segi Tiga Adalah :’);
Gotoxy (...,... ) ; readln (alas);
Gotoxy (...,... ) ; readln (tinggi);
Luas := 0.5 * alas * tinggi ;
Gotoxy (..,...) ; write (luas:6:1);
Repeat until keypressed;
End;
Begin
Clrscr;
Gotoxy
(...,...); write (‘Program Menghitung Luas Bangun’);
Gotoxy
(...,...); write (‘Bujur Sangkar dan Segitiga Siku-Siku’);
Gotoxy
(...,...); write (‘Luas Bujur Sangkar’);
Gotoxy
(...,...); write (‘Luas Segitiga Siku-Siku’);
Gotoxy
(...,...); write (‘Selesai’);
Gotoxy
(...,...); write (‘Input Pilihan [1-2] :..’);
Gotoxy
(...,...);readln(pil);
If
pil=1 then
Bujur_sangkar
Else if
pil=2 then
Siku_siku;
Repeat until keypressed;
End.
Keterangan program
Pada program di atas var pil
dan luas adalah bersifat global untuk semua blok program.
Var sisi bersifat lokal untuk
prosedur bujur sangkar
Var alas,tinggi bersifat lokal
untuk siku-siku.
Kasus :
Buatlah program untuk
menghitung Nilai Faktorial dan Pangkat dengan output sebagai berikut :
Program Menghitung Nilai
Faktorial dan Pangkat
1. Faktorial
2. Pangkat
3. Selesai
Input Pilihan [1-3] :..
Menghitung
Faktorial
Input
Bilangan Yang Dicari :...
Nilai
Faktorialnya Adalah :.....
Tekan
Untuk Melanjutkan
Menghitung
Pangkat
Input
Bilangan Yang Dicari :...
Input
Jumlah angkat Yang Diinginkan :.....
.....
Pangkat..... adalah ........
Tekan
Enter Untuk Melanjutkan
Pertemuan 13,14
Pengiriman Nilai Parameter Pada Procedure
Pada sebuah program dimungkinkan adanya pengiriman
nilai parameter dari satu prosedur ke prosedur yang lain
Pengiriman nilai parameter ini dapat berupa pengiriman
secara nilai dan secara acuan.
Contoh :
Buat flow chart dan program berikut dengan ketentuan
dan output sebagai berikut :
Menghitung Luas permukaan sebuah balok dengan panjang
sisi-sisi balok adalah
- panjang 10 cm
- lebar 5 cm
- tinggi balok 100 cm
Buat program dengan menggunakan prosedur persegi
panjang dengan panjang sisi balok diinputkan melalui program.
Output
Menghitung
Luas Permukaan Balok
Input
Panjang Alas :….
Input
Lebar Alas :….
Input
Tinggi Balok :…
Luas
Permukaan Balok Adalah :…
Sisi1
|
Sisi2
|
Sisi3
|
start
|
pj,lb,tg,ls,sisi1,sisi2,sisi3
|
Cetak Output
|
Input
pj,lb,tg
|
Persegi_Panjang
(pj,tg,ls)
|
Sisi1:=ls
|
Persegi_Panjang
(lb,tg,ls)
|
Sisi2:=ls
|
Persegi_Panjang
(lb,pj,ls)
|
Sisi3:=ls
|
Lper :=
2*sisi1+2*sisi2+2*sisi3
|
Cetak LPer
|
Stop
|
|
Procedure persegi_panjang
(panjang,lebar : integer ; var luas:integer );
Begin
Luas := panjang * lebar;
End;
{program
utama}
var
pj,lb,tg,ls,sisi1,sisi2,sisi3
:integer;
Begin
Clrscr;
Gotoxy (…,…) ; write (‘Menghitung
Luas Permukaan Balok’);
Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’);
Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’);
Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’);
Gotoxy (…,… ) ; write (‘Luas Permukaan Balok
Adalah :…..’);
Gotoxy (…,… ) ; readln ( pj );
Gotoxy (…,… ) ; readln ( lb );
Gotoxy (…,… ) ; readln ( tg );
Persegipanjang(pj,tg,ls);
Sisi1:=ls;
Persegipanjang(lb,tg,ls);
Sisi2 :=ls;
Persegipanjang(pj,lb,ls);
Sisi3:=ls;
Lper := 2*sisi1+2*sisi2+2*sisi3
Gotoxy (…,…) ; write (lper);
Repeat until keypressed;
End.
|
Keterangan :
Pada program diatas luas permukaan balok merupakan
luas semua sisi balok. Dimana balok terdiri dari 6 sisi seperti terlihat pada
gambar diatas.
Semua permukaan balok merupakan persegipanjang,
sehingga kita dapat hanya menggunakan prosedur persegi panjang.
Pada prosedur persegi panjang ada 2 cara pengiriman
data yaitu secara nilai dan secara acuan. Pengiriman secara nilai ditandai
dengan penggunaa kata VAR
Pengiriman secara nilai adalah
: bahwa hasil yang didapatkan pada prosedur tidak akan mempengaruhi nilai yang
ada pada modul yang mengirim (dalam hal ini adalah program utama). Sehingga
perubahan nilai variabel panjang pada prosedur tidak akan mempengaruhi
nilai var PJ pada program utama.
Pengiriman secara Acuan adalah
: bahwa hasil yang didapatkan pada prosedur akan mempengaruhi nilai yang ada
pada modul yang mengirim. Sehingga perubahan niali var Luas pada prosedur akan
mempengaruhi nilai var LS pada program utama.
Pengiriman secara nilai begitu
proses pada program yang dipanggil sudah selesai maka nilai variabel yang
dikirim akan dikembalikan ke modul yang memanggil.
Kasus
Buat flowchart dan program pascal untuk menghitung
formula berikut :
1. Z=2^5 + 5!
2. Z=X! + Y + X^Y
Gunakan prosedur pangkat dan faktorial untuk
menyelesaikan kasus diatas. Tampilan dari hasil program dirancang sendiri.
FUNGSI
Fungsi hampir sama
dengan prosedur yaitu merupakan bagian program yang terpisah dari program
utama.
Perbedaan fungsi
dengan prosedur adalah bahwa nilai suatu fungsi terletak pada nama fungsi itu
sendiri sedangkan pada prosedur nilai prosedur terletak pada variabel.
Sebuah prosedur
dapat saja dijadikan fungsi. Kasus diatas dijadikan sebuah fungsi dengan tipe
integer.
Buat program dengan menggunakan fungsi persegi panjang
dengan panjang sisi balok diinputkan melalui program.
Output
Menghitung
Luas Permukaan Balok
Input
Panjang Alas :….
Input
Lebar Alas :….
Input
Tinggi Balok :…
Luas
Permukaan Balok Adalah :…
Sisi1
|
Sisi2
|
Sisi3
|
|
Function persegi_panjang
(panjang,lebar : integer):integer;
Var luas : integer;
Begin
Luas := panjang * lebar;
Persegi_panjang :=luas;
End;
{program
utama}
var
pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer;
Begin
Clrscr;
Gotoxy (…,…) ; write (‘Menghitung
Luas Permukaan Balok’);
Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’);
Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’);
Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’);
Gotoxy (…,… ) ; write (‘Luas Permukaan Balok
Adalah :…..’);
Gotoxy (…,… ) ; readln ( pj );
Gotoxy (…,… ) ; readln ( lb );
Gotoxy (…,… ) ; readln ( tg );
Sisi1:=Persegipanjang(pj,tg);
Sisi2:=Persegipanjang(lb,tg);
Sisi3:=Persegipanjang(pj,lb,;
Lper := 2*sisi1+2*sisi2+2*sisi3
Gotoxy (…,…) ; write (lper);
Repeat until keypressed;
referensi : eskuter.googlecode.com/
|