SlideShare a Scribd company logo
1 of 20
Download to read offline
Halaman : 1
MODUL PRAKTEK
ALGORITMA DAN PEMROGRAMAN
PROGRAM STUDI D3 INSTRUMENTASI DAN ELEKTRONIKA
JURUSAN FISIKA
FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
SEMARANG
Halaman : 2
Peraturan Praktikum :
1. Praktikan harus menghadiri setiap sesi praktikum, tidak hadir tanpa keterangan akan
menyebabkan hak menjadi praktikan gugur (nilai E).
2. Sebelum dan setelah praktikum dimungkinkan adanya pretset dan post test.
3. Laporan praktikum dianggap sah apabila praktikan telah melakukan asistensi sesuai dengan
materi praktikum.
4. Laporan resmi adalah gabungan dari semua laporan praktikum tiap sesi.
Grade Penilaian Praktikum :
1. Kehadiran =15% asisten
2. Pretest & post test = 20% asisten
3. Asistensi dan laporan praktikum = 30% asisten
4. Laporan resmi = 35% dosen
Halaman : 3
DAFTAR ISI
MODUL 1: STRUKTUR PROGRAM PASCAL
MODUL 2: PENYELEKSIAN KONDISI
MODUL 3: LOOPING (PERULANGAN)
MODUL 4: TIPE ARRAY BERDIMENSI SATU
MODUL 5: TIPE ARRAY BERDIMENSI DUA
MODUL 6: PROCEDURE DAN FUNGSI
Halaman : 4
MODUL I
STRUKTUR PROGRAM PASCAL
I. TUJUAN
Mahasiswa mengenal struktur program bahasa PASCAL dan program sederhana dengan bahasa
PASCAL.
II. TEORI SINGKAT
a. Editor Pascal
Editor TURBO PASCAL merupakan pelayanan terpadu antara editor dengan compiler. Untuk
mengaktifkan editor TURBO PASCAL dapat dilakukan dengan :
 Aktifkan komputer dalam keadaan prompt C:> (DOS)
 Masuk ke direktori TURBO PASCAL
 Masuk ke direktori BIN
 Ketikkan TURBO
C:> CD TP
C:TPCD BIN
C:TPBIN TURBO
Sehingga akan muncul jendela editor TURBO PASCAL deengna menu antara lain : File, Edit, Search,
Run, compile, Debug, Tools. Options, Window, Help.
Operasi-operasi pada editor PASCAL :
1. Untuk menciptakan lembar kerja baru  File, New
2. Untuk menyimpan hasil pekerjaan  File, Save/Save as, ketikkan nama filenya (Tekan tombol F2)
3. Untuk membuka file data  File, Open, pilih file data, Tekan tombol Open (Tekan tombol F3)
4. Untuk berpidah ke direktori kerja  File, Change dir…, Tentukan direktori kerja, Tekan tombol OK
5. Untuk keluar ke prompt DOS sementara  File, DOS shell
6. Untuk kembali ke editor PASCAL  ketikkan Exit
7. Untuk menjalankan program PASCAL  Run, Run (Ctrl+F9)
8. Untuk melihat hasil RUN  Alt+F
b. Struktur Program PASCAL :
PROGRAM NamaKepalaProgram;  Optional
LABEL
<Deklarasi Label>  Optional
CONST
<Deklarasi Konstantal>  Optional
TYPE
<Deklarasi Tipe>  Optional
VAR
<Deklarasi Variabell>  Optional
<Deklarasi Procedure dan Fuction>  Optional
Begin
<Pernyataan>
End.
NamaKepalaProgram
Dipakai untuk keperluan dokumentasi. Menunjukkan dari identifikasi program yang akan dibuat. Nama
kepala program harus dimulai dengan huruf, dapat terdiri dari angka dan karakter _ (garis bawah)dan
tidak boleh ada spasi. NamaKepalaProgram mempunyai aturan sama dengan Namavariabel.
Namakonstanta, NamaTypeData, NamaProcedure, NamaFuction.
Halaman : 5
c. Deklarasi Variabel
Sebelum suatu variabel digunakan maka terlebih dahulu harus dipesan dalam blok deklarasi variabel
dengan bentuk :
Var NamaVar : Typevariabelnya;
NamaVar, NamaVar, … : Typevariabelnya;
Jika menggunakan variabel yang belum di deklarasikan maka saat program di RUN (dikompilasi) akan
menyebabkan kesalahan dengan muncul pesan “Unknown identifier”.
Selanjutnya variabel bisa diisi data dengan statemen assingment.
NamaVariabel := data;
:= adalah operator untuk pengisian variabel dengan nilai data.
Dalam PASCAL dikenal banyak type yang bisa digunakan untuk mendeklarasikan type suatu data.
Type Kisaran nilai
Type sederhana :
Byte
Word
ShortInt
Integer
Longint
Real
Single
Double
Extended
Boolean
Char
String
Type terstruktur
:
Array
Record
File
Set
Pointer
0 .. 255
0 .. 65535
-128 .. 127
-32768 .. 32767
-2147483648 .. 2147483648
1 E-38 .. 1 E+28
1.5 E-45 .. 3.4 E+38
5.0 E-324 .. 1.7E+308
1.9 E-4951 .. 1.1 E+4932
Kondisi True atau False
‘a’, ‘b’, .., ‘z’, ‘0’ .. ‘9’  semua
karakter
‘rangkaian karakter’
larik karakter, numerik
numerik, string, char
numerik, string, larik, record
data ordinal
alamat memori
Type diatas adalah type standard bawaan PASCAL (sudah didefinisikan oleh PASCAL). Kita dapat
membuat/mendefinisikan sendiri type sesuai dengan keinginan kita dengan cara mendeklarasikan pada
bagian type.
Bentuk :
Type
NamaTypeData = typedata;
selanjutnya NamaTypeData yang sudah kita definisikan bisa kita pakai sebagai type data pada variabel
yang kita gunakan.
d. Operator
Dalam PASCAL dikenal beberapa operator antara lain : Operator aritmetika, Operator string, Operator
logika.
Operator aritmetika
Halaman : 6
/ pembagian
* perkalian
div pembagian integer
mod sisa hasil pembagian integer
+ - tambah dan kurang
di dalam PASCAL tidak dikenal operator pangkat. apabila dibutuhkan dapat dibuat untuk operasi
pangkat.
operator string
Hanya ada satu operator string yaitu + yang artinya rangkai. Misalnya ‘Sistem’ + ‘Informasi’  ‘Sistem
Informasi’.
operator logika
operator logika yang terpenting adalah NOT, AND dan OR
e. Deklarasi Konstanta
Konstanta adalah suatu nilai yang tidak dapat diubah dalam tubuh program dan harus dideklarasikan di
bagian deklarasi konstanta sebagai berikut :
Const
NamaKonstanta1 = NilaiKonstanta;
f. Komentar Program
Komentar adalah sesuatu yang tidak akan diproses pada saat program dijalankan. Pemberian komentar
ditandai dengan :
{komentar … komentar}
g. Dekalrasi Unit
Unit adalah suatu kumpulan prosedur dan fungsi yang disediakan oleh PASCAL yang disesuaikan dengan
tujuannya. Dalam PASCAL dikenal beberapa Unit standard antara lain Crt, Dos, Graph, Printer, Dos.
Contoh Unit yang tersedia dalam Unit Crt :
Clrscr : Untuk membersihkan layar
GotoXY : Untuk memposisikan kursor pada kom X dan baris Yang di layar
Cara mendeklarasikan Unit adalah :
Uses NamaUnit, NamaUnit, …;
h. Prosedure Read dan Readln
Procedure ini digunakan untuk membaca data dari keyboard dengan memakai variabel yang sudah
dideklarasikan dalam deklarasi variabel. Sintaxnya :
Read(NamaVariabel, NamaVariabel, …);
Readln(NamaVariabel, Namavariabel, …);
Read : Tidak akan menurunkan kursor setelah proses pembacaan
Readln : menurunkan kursor setelah proses pembacaan
i. Procedure Write dan Writeln
Write : Mencectak dan kursor disebelahnya
Writeln : Mencetak dan kursor satu baris ke baris awal
III. PETUNJUK PRAKTIKUM
Halaman : 7
a. Membuat program untuk input dan output
{
Contoh program menginputkan data
dengan perintah read atau readln
kemudian menampilkannya dengan
perintah write atau writeln
}
Program InputData;
uses Crt;
Var
no_mhs : integer;
nama, alamat : string;
Begin
clrscr;
write('Nomor mahasiswa : ');readln(no_mhs);
write('Nama Mahasiswa : ');readln(nama);
write('Alamat : ');readln(alamat);
clrscr;
write('Dia adalah ',nama);
writeln(' yang mempunyai nomor mahasiswa
',no_mhs);
writeln('beralamat di ',alamat,' Semarang');
readln;
end.
b. Program untuk menghitung luas lingkaran :
Program lingkaran;
const
phi = 3.14;
var
jari, luas : real;
Begin
Jari := 10.0;
luas := phi * jari * jari;
writeln('H A S I L');
writeln('---------');
writeln('Jari-jari lingkaran :
',jari:6:2);
writeln('Luas lingkaran :
',luas:6:2);
end.
IV.TUGAS
1. Buatlah program untuk menghitung keliling lingkaran
Halaman : 8
MODUL II
PENYELEKSIAN KONDISI
I. TUJUAN
Mempelajari struktur kondisi dalam PASCAL yaitu Struktur If … Then …, If … Then … Else … dan
Case … Of …
II. TEORI SINGKAT
a. If … Then … :
Statemen If … Then … mempunyai syntax :
If <syarat_logika> Then Statemen
Atau
If <syarat_logika> Then
Begin
Statemen1;
Statemen2; disebut blok statemen
…… ;
End;
<syarat_logika> adalah operasi relasi (seleksi kondisi) yang apabila bernilai TRUE (benar) maka
statemen atau blok statemen setelah Then akan dilaksanakan. Apabila statemen yang berkaitan dengan
nnilai TRUE lebih dari satu statemen maka blok statemen dipergunakan, jika hanya terdiri dari satu
statemen maka blok statemen tidak perlu dipergunakan. Blok statemen ditandai dengan Begin …End;
b. If … Then …Else … :
Mirip dengan syntax If … Then, tata aturan if then else adalah :
If <syarat_logika> Then Statemen1 Else Statemen2;
Atau
If <syarat_logika> Then
Begin
Statemen1;
Statemen2; blok jika syarat True
… ;
End
Else
Begin
Statemen1;
Statemen2; blok jika syarat False
… ;
End;
Jika <syarat_logika> bernilai TRUE maka statemen atau blok statemen seteleh Then akan dikerjakan,
jika <syarat_logika> bernilai FALSE maka statemen atau blok statemen seeleh Else akan dkerjakan.
c. Statemen Case NamaVar Of :
Statemen Case NamaVar Of dipakai untuk penyeleksian berganda. NamaVar adalah nama variabel yang
harus bertype ordinal seperti Char, byte atau integer.
Padanan dengan If … Then , misalnya kita memiliki varibel Pil yang bertipe Char, dan dihadapi seleksi
pilihan :
If Pil = ‘a’ Then Statemen2;
If Pil = ‘b’ Then Statemen2;
Dst
Dapat ditulis dengan statemen Case … Of dengan syntax sbb :
Halaman : 9
Case Pil Of
‘a’ : Statemen1;
‘b’ : Statemen2;
.… : …;
End;
V. PETUNJUK PRAKTIKUM
a. Membuat program menggunakan if
Program TentukanLulus;
Uses Crt;
Label
Mulai;
Var
NamaSis : String[35];
Nilai : Real;
Ket,Pesan : String[35];
Jawab : Char;
Begin
Mulai :
ClrScr;
Write('Nama Siswa : ');Readln(NamaSis);
Write('Nilai Angka : ');Readln(Nilai);
If (Nilai >= 60) Then
Begin
Ket := 'Anda Lulus';
Pesan := ' SELAMAT, PERTAHANKAN TERUS !';
End
Else
Begin
Ket := 'Anda Tidak Lulus';
Pesan := ' TINGKATKAN BELAJARNYA!';
End;
Writeln;
Writeln('Hasil : ');
Writeln(Ket,Pesan);
Writeln;
Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab);
If (Jawab = 'Y') or (Jawab = 'y') Then
Goto mulai
End.
b. Membuat program menggunakan case
Program TekanTombol;
Uses Crt;
Label
Mulai;
Var
Tombol,
Jawab : Char;
Begin
Mulai:
ClrScr;
Halaman : 10
Writeln('PROGRAM TENTUKAN TOMBOL');
Writeln('-----------------------');
Write('Tekan Sembarang TOMBOL : ');
Readln(Tombol);
Case Tombol Of
'a'..'z','A’..'Z': Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol ',Tombol,' Termasuk HURUF');
End;
'0'..'9' : Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol ',Tombol,' Termasuk ANGKA');
End;
Else
Begin
Writeln('Anda menekan tombol ',Tombol);
Writeln('Tombol',Tombol,'Bukan HURUF/ANGKA');
End;
End;
Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab);
If (Jawab = 'Y') or (Jawab = 'y') Then
Goto mulai
End.
IV. TUGAS
1. Buatlah program menggunakan perintah if.. Then... untuk konversi angka ke hari, jika
1senin, 2selasa, 3rabu, 4kamis, 5jumat, 6sabtu. 7minggu
2. Buatlah soal 1 menggunakan perintah case
Halaman : 11
MODUL III
LOOPING (PERULANGAN)
I. TUJUAN
Mempelajari struktur dari statemen kontrol PASCAL untuk menangani proses berulang yaitu : For .. Do,
While.. Do, dan Repeat .. Until.
II. TEORI SINGKAT
a. For .. Do ..
Syntax for .. Do
For NamaVarKendali := Awal to Akhit Do
Pernyataan;
Atau
For NamaVarKendali := Awal to Akhit Do
Begin
Pernyataan1;
Pernyataan2; blok pernyataan
…
End;
Atau
For NamaVarKendali := Awal Downto Akhit Do
Pernyataan;
Atau
For NamaVarKendali := Awal Downto Akhit Do
Begin
Pernyataan1;
Pernyataan2; blok pernyataan
…
End;
Statemen/pernyataan atau blok pernyataan akan dikerjakan selama nilai dari NamaVarKendali dari Awal
ke Akhir dengan kenaikan/penurunan satu langkah. Jika Awal lebih kecil Akhir kita pakai to, sedangkan
jika Awal lebih besar Akhir kita pakai downto.
NamaVarKendali adalah idetifier yang bertype ordinal seperti byte, integer atau char dan tidak dapat
bertype string atau real. Berikut adalah program untuk mencetak karakter mulai dari awal sampa akhir
dan dari akhir sampai awal, diman awal dan akhir dinputkan dari keyboard. Awal, akhir bertype char.
Halaman : 12
b. While .. Do ..
Kontrol For .. Do .. kita pakai untuk memproses dengan jumlah ulangan diketahui sebelumnya. Apabila
proses yang diulang tidak kita ketahui berapa putaran harus dilakukan, yaitu diputar selam kondisi
tertentu dipenuhi, maka statemen yang kita pakai adalah While .. Do ..
Syntaxnya :
While <syarat_logika> Do
<pernyataan>;
atau
While <syarat_logika> Do
Begin
Pernyataan1;
Pernyataan2; blok pernyataan
…
End;
<syarat_logika> adalah suatu relasi yang selama relasi tersebut bernilai benar (TRUE) maka
pernyataan/blok pernyataan akan terus menerus dikerjakan. Pernyataan/blok pernyataan akan berhenti
dikerjakan jika <syarat_logika> tidak lagi bernilai benar.
c. Repeat .. Until ..
Statemen Repeat .. Until .. kita pakai apabila kita akan mengulang-ulang suatu proses terus menerus
sampai kondisi tertentu dipenuhi.
Syntax :
Repeat
Pernyataan1;
Pernyataan2;
…
Until <kondisi>;
Pada contoh program diatas dapat kita modifikasi dengan memakai Repeat .. Until. Konstanta boolean
keyPressed adalah konstanta yang bernilai FALSE selama kita tidak menekan sesuatu dan jika kita
menekan sesuatu maka KeyPressed akan bernilai TRUE.
VI. PETUNJUK PRAKTIKUM
a. Membuat program menggunakan for
Program CetakKarakter;
Uses Crt;
Var
Awal, Akhir, Karak : Char;
Begin
Clrscr;
Write('Karakter awal : ');Readln(Awal);
Write('Karakter akhir : ');Readln(Akhir);
writeln;
Write('N A I K : ');
For Karak := Awal to Akhir Do
Write(karak);
Writeln;
Write('T U R U N : ');
For Karak := Akhir downto Awal Do
Write(karak);
Halaman : 13
Readln
End.
b. Mebuat program menggunakan while
Contoh berikut akan mencetak karakter ‘*’ terus menerus pada posisi baris kolom yang acak, setiap kita
menekan suatu sembarang tombol. Proses berulang selam yang dibaca <> #27 (Esc).
Untuk meletakkan pada baris klo yang acak, setiap dipakai fungsi Random(x). Fuction standar Random(x)
adalah fungsi untuk membangkitkan bilangan acak antara nol sampai x.
Selanjutnya satu karakter dibaca dengan Procedure standar ReadKey, dengan syntak :
NamaVarKar := ReadKey;
Pembacaan data dari keyboard dengan ReadKey adalah untuk variabel bertype Char dan bersifat tidak
meng-echo-kan (menampilkan ke layar).
Program Acak_dg_While_Do;
Uses Crt;
Const
Escape = #27;
Var
Baca : Char;
Baris, Kolom : Byte;
Begin
Clrscr;
Baca :=' ';
While Baca <> Escape Do
Begin
GotoXY(34,12);Write('Tekan Escape Selesai ...');
Baris := Random(23);
Kolom := Random(80);
GotoXY(Kolom,Baris);Write('*',' Kolom ',Kolom,'
Baris ',Baris);
Baca := ReadKey;Clrscr;
End;
End.
#27 adalah konstanta karakter. Dalam PASCAL ada 2 macam cara untuk memperoleh konstanta karakter,
yaitu dengan #n atau Chr(n) dimana n = kode ASCII karakter yang bersangkutan. Misalnya karakter CR
(ENTER) mempunyai kode ASCII 13 dapat ditulis dengan #13 atau Chr(13).
c. Membuat program menggunakan repeat
Program Acak_dg_Repeat_Until;
Uses Crt;
Var
Baris, Kolom : Byte;
Begin
Clrscr;
Repeat
GotoXY(34,12);Write('Tekan Escape Selesai ...');
Halaman : 14
Baris := Random(23);
Kolom := Random(80);
GotoXY(Kolom,Baris);Write('*',' Kolom ',Kolom,'
Baris ',Baris);
Delay(10);
Until KeyPressed;
End.
IV. TUGAS
1. Buatlah program untuk menambah angka ganjil dari 1 hingga 1001.
Halaman : 15
MODUL IV
TIPE ARRAY BERDIMENSI SATU
I. TUJUAN
Mempelajari tipe terstruktur Array dimensi satu.
II. TEORI SINGKAT
Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama,
dimana masing-masing elemen array dapat diakses melalui indek array.
Arrray dimensi satu adalah array yang hanya memiliki satu tipe indek.
Deklarasi variabel bertipe array dimensi :
Var
NamaArray : Array{tipeIndek] of TypeArray;
NamaArray adalah nama variabel bertipe array dan TypeArray adalah tipenya. TypeArray dapat berupa
Integer, real, char, string atau record. Sedangkan tipeIndek dari array merupakan tipe ordinal seperti char,
byte, integer, atau enumerasi.
Contoh deklarasi tipe array :
Type
NanaArray = (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
Var
Hari : DafHari;
Incom : Array [DafHari] of integer;
Masuk : Array [senin .. kamis] of integer;
DafHari adalah NamaType enumerasi yang kita jadikan indeks dari array Incom dan Masuk. Incom dan
Masuk adalah array integer dengan indek enumerasi. Selanjutnya kita dapat mengisi elemen array dengan
Incom[senin] atau Masuk[rabu] dan seterusnya.
Data bertipe string sesungguhnya adalah suatu larik data bertipe char.
Misalnya :
Var
Pesan : string[20];
Variabel Pesan merupakan string. Kita juga bisa memandangnya sebagai larik char. Pesan[1] adalah
karakter pertama, Pesan[2] adalah karakter kedua, dst. Sedangkan Pesan[0] adalah karakter yang kode
ASCIInya adalah cacah karakter dari isi pesan. Dengan demikian kita dapat mengetahui ada berapa cacah
karakter isi dari Pesan dengan Ord(Pesan[0]), disamping dapat juga dipakai fungsi Length(Pesan).
III. PETUNJUK PRAKTIKUM
Contoh berikut adalah membaca variabel pesan yang bertipe string yang secara otomatis dapat dipandang
sebagai latik karakter dengan Ord(Pesan[0]) dapat diperoleh cacah karakter yang disimpan dalam
CcHuruf.
Contoh Program 1 :
Uses Crt;
Const
Vokal =
['A','I','U','E','O','a','i','u','e','o'];
Var
Huruf : char;
Pesan : string;
i,CcHuruf,CcVokal : integer;
Halaman : 16
Begin
clrscr;
Write('Ketikkan Kalimat : ');
Readln(Pesan);
CcHuruf := Ord(Pesan[0]);
CcVokal := 0;
For i := 1 to CcHuruf Do
Begin
Huruf := Pesan[i];
If Huruf in Vokal then
CcVokal := CcVokal + 1;
End;
Writeln('DIBALIK');
For i := CcHuruf downto 1 do
write(Pesan[i]);
Writeln;
Write('VOKAL : ',CcVokal,' BUAH');
Readln
End.
Contoh Program 2 :
program Array_max_min;
var
nilai:array[1..5] of INTEGER;
maks,mins,total,i,data : integer;
rata : real;
begin
write('Jumlah Data = ');readln(data);
write('Data ke-1 = ');readln(nilai[1]);
maks :=nilai[1];
mins :=nilai[1];
total :=nilai[1];
for i := 2 to data do
begin
write('Data ke-',i,' = ');readln(nilai[i]);
if nilai[i]>maks then
maks:=nilai[i];
if nilai[i]<mins then
mins:=nilai[i];
total:=total+nilai[i];
end;
rata:=total/data;
writeln('Nilai terbesar adalah = ',maks);
writeln('Nilai terkecil adalah = ',mins);
writeln('Nilai total adalah = ',total);
writeln('Nilai rata-rata adalah = ',rata:0:2);
readln;
end.
IV. TUGAS
1. Buatlah program untuk mengurutkan suatu data angka yang dimasukkan dari keyboard, secara
urut menaik dan menurun. Gunakan variabel bertipe array.
Halaman : 17
MODUL V
TIPE ARRAY BERDIMENSI DUA
I. TUJUAN
Mempelajari tipe terstruktur Array dimensi dua.
II. TEORI SINGKAT
Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama,
dimana masing-masing elemen array dapat diakses melalui indek array.
Arrray dimensi dua adalah array yang memiliki dua tipe indek.
Deklarasi variabel bertipe array dimensi dua :
Var
NamaArray : Array{tipeIndek1,tipeIndek2] of TypeArray;
III. PETUNJUK PRAKTIKUM
Penggunaan secara umum untuk matrik dua dimensi adalah untuk memasukkan data matrik. Berikut
penggalan program untuk memasukkan data matrik dengan ordo 2 x 2
Prog Matrik2Dimensi;
Use Crt;
var
Matrik : Array[1..10,1..10] Of integer;
Baris,Kolom : Integer;
Begin
ClsRcr;
{-Memasukkan data matrik-}
For Baris := 1 to 2 Do
Begin
For kolom := 1 to 2 Do
Begin
Write('Baris ',Baris,' Kolom ',Kolom,' : ');
Readln(Matrik(Baris,Kolom));
End;
End
{--Menampilkan Hasil--}
For Baris := 1 to 2 Do
Begin
For kolom := 1 to 2 Do
Begin
Write(Matrik(Baris,Kolom):5);
End;
End;
Readln
End.
IV. TUGAS:
1. Buatlah progam untuk menghitung penjumlahan dua buah matrik. Syarat penjumlahan dua buah
matrik adalah kedua matrik tersebut mempunyai jumlah baris dan kolom yang sama.
Misalnya :
1 2 2 2 3 4
+ =
2 3 3 2 5 5
Halaman : 18
MODUL VI
PROCEDURE DAN FUNGSI
V. Tujuan
Mempelajari pemecahan program ke dalam modul-modul program dalam bentuk prosedur dan fungsi
VI.Teori Singkat
a. PROCEDURE
Procedure merupakan sub program yang berdiri sendiri yang dapat dipanggil dari program utama.
Deklarasi prosedur :
PROCEDURE <Nama_prosedur> (<Daftar_parameter_formal>);
<Bagian_deklarasi>
Begin
<Bagian _pernyataan>
End;
Dalam prosedur atau fungsi dikenal adanya parameter. Parameter adalah suatu nilai atau variabel yang
akan dilewatkan dalam prosedur atau fungsi. Pengiriman paramter dalam prosedur atau fungsi
dibedakan menjadi 2 yaitu parameter nilai dan parameter referensi. Pelewatan parameter secara nilai
dimaksudkan jika parameter yang dileatkan dimasudkan tidak untuk diubah oleh prosedur atau fungsi
sekalipun perubahan telah terjadi di dalam prosedur atau fungsi tersebut. Sedangkan parameter
referensi dimasudkan unutk mengubah nilai atau variabel sekeluarnya dari prosedur atau fungsi.
Perbedaan cara pengiriman parameter didalam prosedur atau fungsi terletak pada deklarasi prosedur
atau fungsinya. Contoh deklarasi prosedur dengan pengiriman parameter secara refensi :
Procedure Tukar(var x,y : real);
Untuk mengubah sifat pengiriman parameter secara nilai, tinggal diubah deklarasi prosedur dengan
menghilangkan var dalam kepala prosedur sehingga menjadi :
Procedure Tukar(x,y : real);
b. FUNCTION
Fungsi memiliki struktur yang hampir sama dengan procedure, bedanya fungsi memiliki tipe hasil
sedangkan procedure tidak.
Deklarasi fungsi :
FUNCTION <Nama_fungsi> (<Daftar_parameter>): tipe;
<Bagian_deklarasi>
Begin
<Bagian _pernyataan>
End;
VII. PETUNJUK PRAKTIKUM
a. Berikut contoh program pemakaian untuk menukarkan dua nilai memakai prosedure :
program tukar_data;
var
a, b : real; {deklarasi variabel global}
procedure info;
begin
Halaman : 19
writeln('****************************');
writeln('** Program Tukar Data **');
writeln('** Dengan Procedure **');
writeln('** Oleh : **');
writeln('** Ki Joko Bodho **');
writeln('****************************');
end;
{Prosedur penukaran data}
procedure tukar(var x,y : real);
var
tamp : real;
begin
tamp := x;
x := y;
y := tamp;
end;
{Program utama}
Begin
info;
a := 12.33;
b := 67.98;
writeln('Sebelum memanggil prosedur Tukar');
writeln('a = ',a:7:2,' b = ',b:7:2);
tukar(a,b);
writeln('Setelah memanggil prosedur Tukar');
writeln('a = ',a:7:2,' b = ',b:7:2);
readln;
End.
b. Berikut contoh program memakai fungsi:
program kali_data;
var
a, b : integer; {deklarasi variabel global}
procedure info;
begin
writeln('****************************');
writeln('** Program Tukar Data **');
writeln('** Dengan Procedure **');
writeln('** Oleh : **');
writeln('** Ki Joko Bodho **');
writeln('****************************');
end;
{Prosedur perkalian data}
function kali(x,y : integer):integer;
begin
kali := x * y;
end;
{Program utama}
Begin
info;
a := 12;
b := 67;
writeln(a,' x ',b,' = ',kali(a,b));
Halaman : 20
writeln('12 x 13 = ',kali(12,13));
readln;
End.
VIII. TUGAS
1. Buatlah program dengan menggunakan prosedur untuk membalik suatu angka
Misalnya :
Masukkan angka : 12309
Hasil pembalikan : 90321
2. Buatlah program dengan menggunakan fungsi untuk mencari jumlah dan rata-rata dari sejumlah
data yang dimasukkan.

More Related Content

What's hot

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingMelina Krisnawati
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling arrayRangga Ananto
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritmadaffa12
 
Perulangan,stack,record
Perulangan,stack,recordPerulangan,stack,record
Perulangan,stack,recordsamsonarieska
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Mengenal script php 3
Mengenal script php 3Mengenal script php 3
Mengenal script php 3Ali Muntaha
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascalFaisal Amir
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1Rachmat Narendra
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1bejarangkunjui
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Azka Mutia
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaAs Faizin
 

What's hot (19)

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
Praktikum 6A
Praktikum 6APraktikum 6A
Praktikum 6A
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling array
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
 
Perulangan,stack,record
Perulangan,stack,recordPerulangan,stack,record
Perulangan,stack,record
 
Algoritma & Pemograman - 01.Pendahuluan
Algoritma & Pemograman - 01.PendahuluanAlgoritma & Pemograman - 01.Pendahuluan
Algoritma & Pemograman - 01.Pendahuluan
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Mengenal script php 3
Mengenal script php 3Mengenal script php 3
Mengenal script php 3
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa Java
 
07. menggunakan fungsi
07. menggunakan fungsi07. menggunakan fungsi
07. menggunakan fungsi
 

Similar to ALGO-STRUKTUR

Modul Pascal.pdf
Modul Pascal.pdfModul Pascal.pdf
Modul Pascal.pdfsylaaulia
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartIrwien Andriyanto
 
Modul pascal
Modul pascalModul pascal
Modul pascaldanver98
 
Modul pascal
Modul pascalModul pascal
Modul pascalshediazz
 
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAstruktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAsugianto91
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascalDuriani
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascalNadya Olivia
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record withSyaiful Ahdan
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascalfhnx
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascalArum Mbedioen
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooindahshafira
 
Bahasa pemograman
Bahasa pemograman Bahasa pemograman
Bahasa pemograman EDIS BLOG
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxsampesireron
 

Similar to ALGO-STRUKTUR (20)

Modul Pascal.pdf
Modul Pascal.pdfModul Pascal.pdf
Modul Pascal.pdf
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal Flowchart
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAstruktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascal
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascal
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
 
Bahasa pemograman
Bahasa pemograman Bahasa pemograman
Bahasa pemograman
 
Modul 2
Modul 2Modul 2
Modul 2
 
Modul ii
Modul iiModul ii
Modul ii
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
 
Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
Modul c++
Modul c++Modul c++
Modul c++
 

More from Faisal Amir

2 adp penyajian algoritma
2   adp penyajian algoritma2   adp penyajian algoritma
2 adp penyajian algoritmaFaisal Amir
 
2 adp penyajian algoritma
2   adp penyajian algoritma2   adp penyajian algoritma
2 adp penyajian algoritmaFaisal Amir
 
7 pointer - copy
7   pointer - copy7   pointer - copy
7 pointer - copyFaisal Amir
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Faisal Amir
 
6 adp array (larik) - copy
6   adp array (larik) - copy6   adp array (larik) - copy
6 adp array (larik) - copyFaisal Amir
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursiFaisal Amir
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusanFaisal Amir
 
2 adp tipe data dan operator
2   adp tipe data dan operator2   adp tipe data dan operator
2 adp tipe data dan operatorFaisal Amir
 
Petunjuk praktikumpemrogramankomputer
Petunjuk praktikumpemrogramankomputerPetunjuk praktikumpemrogramankomputer
Petunjuk praktikumpemrogramankomputerFaisal Amir
 
Modul praktikum bahasa pemrograman pascal
Modul praktikum bahasa pemrograman pascalModul praktikum bahasa pemrograman pascal
Modul praktikum bahasa pemrograman pascalFaisal Amir
 
Turunan dan kuasa
Turunan dan kuasaTurunan dan kuasa
Turunan dan kuasaFaisal Amir
 
Matematika dasar
Matematika dasarMatematika dasar
Matematika dasarFaisal Amir
 
Ideologi Pancasila
Ideologi PancasilaIdeologi Pancasila
Ideologi PancasilaFaisal Amir
 
Laporan Praktikum Modul 5 (internet)
Laporan Praktikum Modul 5 (internet)Laporan Praktikum Modul 5 (internet)
Laporan Praktikum Modul 5 (internet)Faisal Amir
 
Laporan Praktikum Modul 4 (Multimedia)
Laporan Praktikum Modul 4 (Multimedia)Laporan Praktikum Modul 4 (Multimedia)
Laporan Praktikum Modul 4 (Multimedia)Faisal Amir
 

More from Faisal Amir (20)

2 adp penyajian algoritma
2   adp penyajian algoritma2   adp penyajian algoritma
2 adp penyajian algoritma
 
2 adp penyajian algoritma
2   adp penyajian algoritma2   adp penyajian algoritma
2 adp penyajian algoritma
 
8 struktur
8   struktur8   struktur
8 struktur
 
7 pointer
7   pointer7   pointer
7 pointer
 
7 pointer - copy
7   pointer - copy7   pointer - copy
7 pointer - copy
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik) - copy
6   adp array (larik) - copy6   adp array (larik) - copy
6 adp array (larik) - copy
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursi
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 
2 adp tipe data dan operator
2   adp tipe data dan operator2   adp tipe data dan operator
2 adp tipe data dan operator
 
Prosedural
ProseduralProsedural
Prosedural
 
Prak sh6
Prak sh6Prak sh6
Prak sh6
 
Petunjuk praktikumpemrogramankomputer
Petunjuk praktikumpemrogramankomputerPetunjuk praktikumpemrogramankomputer
Petunjuk praktikumpemrogramankomputer
 
Modul praktikum bahasa pemrograman pascal
Modul praktikum bahasa pemrograman pascalModul praktikum bahasa pemrograman pascal
Modul praktikum bahasa pemrograman pascal
 
Turunan dan kuasa
Turunan dan kuasaTurunan dan kuasa
Turunan dan kuasa
 
Matematika dasar
Matematika dasarMatematika dasar
Matematika dasar
 
Ideologi Pancasila
Ideologi PancasilaIdeologi Pancasila
Ideologi Pancasila
 
Pancasilafaisal
PancasilafaisalPancasilafaisal
Pancasilafaisal
 
Laporan Praktikum Modul 5 (internet)
Laporan Praktikum Modul 5 (internet)Laporan Praktikum Modul 5 (internet)
Laporan Praktikum Modul 5 (internet)
 
Laporan Praktikum Modul 4 (Multimedia)
Laporan Praktikum Modul 4 (Multimedia)Laporan Praktikum Modul 4 (Multimedia)
Laporan Praktikum Modul 4 (Multimedia)
 

ALGO-STRUKTUR

  • 1. Halaman : 1 MODUL PRAKTEK ALGORITMA DAN PEMROGRAMAN PROGRAM STUDI D3 INSTRUMENTASI DAN ELEKTRONIKA JURUSAN FISIKA FAKULTAS SAINS DAN MATEMATIKA UNIVERSITAS DIPONEGORO SEMARANG
  • 2. Halaman : 2 Peraturan Praktikum : 1. Praktikan harus menghadiri setiap sesi praktikum, tidak hadir tanpa keterangan akan menyebabkan hak menjadi praktikan gugur (nilai E). 2. Sebelum dan setelah praktikum dimungkinkan adanya pretset dan post test. 3. Laporan praktikum dianggap sah apabila praktikan telah melakukan asistensi sesuai dengan materi praktikum. 4. Laporan resmi adalah gabungan dari semua laporan praktikum tiap sesi. Grade Penilaian Praktikum : 1. Kehadiran =15% asisten 2. Pretest & post test = 20% asisten 3. Asistensi dan laporan praktikum = 30% asisten 4. Laporan resmi = 35% dosen
  • 3. Halaman : 3 DAFTAR ISI MODUL 1: STRUKTUR PROGRAM PASCAL MODUL 2: PENYELEKSIAN KONDISI MODUL 3: LOOPING (PERULANGAN) MODUL 4: TIPE ARRAY BERDIMENSI SATU MODUL 5: TIPE ARRAY BERDIMENSI DUA MODUL 6: PROCEDURE DAN FUNGSI
  • 4. Halaman : 4 MODUL I STRUKTUR PROGRAM PASCAL I. TUJUAN Mahasiswa mengenal struktur program bahasa PASCAL dan program sederhana dengan bahasa PASCAL. II. TEORI SINGKAT a. Editor Pascal Editor TURBO PASCAL merupakan pelayanan terpadu antara editor dengan compiler. Untuk mengaktifkan editor TURBO PASCAL dapat dilakukan dengan :  Aktifkan komputer dalam keadaan prompt C:> (DOS)  Masuk ke direktori TURBO PASCAL  Masuk ke direktori BIN  Ketikkan TURBO C:> CD TP C:TPCD BIN C:TPBIN TURBO Sehingga akan muncul jendela editor TURBO PASCAL deengna menu antara lain : File, Edit, Search, Run, compile, Debug, Tools. Options, Window, Help. Operasi-operasi pada editor PASCAL : 1. Untuk menciptakan lembar kerja baru  File, New 2. Untuk menyimpan hasil pekerjaan  File, Save/Save as, ketikkan nama filenya (Tekan tombol F2) 3. Untuk membuka file data  File, Open, pilih file data, Tekan tombol Open (Tekan tombol F3) 4. Untuk berpidah ke direktori kerja  File, Change dir…, Tentukan direktori kerja, Tekan tombol OK 5. Untuk keluar ke prompt DOS sementara  File, DOS shell 6. Untuk kembali ke editor PASCAL  ketikkan Exit 7. Untuk menjalankan program PASCAL  Run, Run (Ctrl+F9) 8. Untuk melihat hasil RUN  Alt+F b. Struktur Program PASCAL : PROGRAM NamaKepalaProgram;  Optional LABEL <Deklarasi Label>  Optional CONST <Deklarasi Konstantal>  Optional TYPE <Deklarasi Tipe>  Optional VAR <Deklarasi Variabell>  Optional <Deklarasi Procedure dan Fuction>  Optional Begin <Pernyataan> End. NamaKepalaProgram Dipakai untuk keperluan dokumentasi. Menunjukkan dari identifikasi program yang akan dibuat. Nama kepala program harus dimulai dengan huruf, dapat terdiri dari angka dan karakter _ (garis bawah)dan tidak boleh ada spasi. NamaKepalaProgram mempunyai aturan sama dengan Namavariabel. Namakonstanta, NamaTypeData, NamaProcedure, NamaFuction.
  • 5. Halaman : 5 c. Deklarasi Variabel Sebelum suatu variabel digunakan maka terlebih dahulu harus dipesan dalam blok deklarasi variabel dengan bentuk : Var NamaVar : Typevariabelnya; NamaVar, NamaVar, … : Typevariabelnya; Jika menggunakan variabel yang belum di deklarasikan maka saat program di RUN (dikompilasi) akan menyebabkan kesalahan dengan muncul pesan “Unknown identifier”. Selanjutnya variabel bisa diisi data dengan statemen assingment. NamaVariabel := data; := adalah operator untuk pengisian variabel dengan nilai data. Dalam PASCAL dikenal banyak type yang bisa digunakan untuk mendeklarasikan type suatu data. Type Kisaran nilai Type sederhana : Byte Word ShortInt Integer Longint Real Single Double Extended Boolean Char String Type terstruktur : Array Record File Set Pointer 0 .. 255 0 .. 65535 -128 .. 127 -32768 .. 32767 -2147483648 .. 2147483648 1 E-38 .. 1 E+28 1.5 E-45 .. 3.4 E+38 5.0 E-324 .. 1.7E+308 1.9 E-4951 .. 1.1 E+4932 Kondisi True atau False ‘a’, ‘b’, .., ‘z’, ‘0’ .. ‘9’  semua karakter ‘rangkaian karakter’ larik karakter, numerik numerik, string, char numerik, string, larik, record data ordinal alamat memori Type diatas adalah type standard bawaan PASCAL (sudah didefinisikan oleh PASCAL). Kita dapat membuat/mendefinisikan sendiri type sesuai dengan keinginan kita dengan cara mendeklarasikan pada bagian type. Bentuk : Type NamaTypeData = typedata; selanjutnya NamaTypeData yang sudah kita definisikan bisa kita pakai sebagai type data pada variabel yang kita gunakan. d. Operator Dalam PASCAL dikenal beberapa operator antara lain : Operator aritmetika, Operator string, Operator logika. Operator aritmetika
  • 6. Halaman : 6 / pembagian * perkalian div pembagian integer mod sisa hasil pembagian integer + - tambah dan kurang di dalam PASCAL tidak dikenal operator pangkat. apabila dibutuhkan dapat dibuat untuk operasi pangkat. operator string Hanya ada satu operator string yaitu + yang artinya rangkai. Misalnya ‘Sistem’ + ‘Informasi’  ‘Sistem Informasi’. operator logika operator logika yang terpenting adalah NOT, AND dan OR e. Deklarasi Konstanta Konstanta adalah suatu nilai yang tidak dapat diubah dalam tubuh program dan harus dideklarasikan di bagian deklarasi konstanta sebagai berikut : Const NamaKonstanta1 = NilaiKonstanta; f. Komentar Program Komentar adalah sesuatu yang tidak akan diproses pada saat program dijalankan. Pemberian komentar ditandai dengan : {komentar … komentar} g. Dekalrasi Unit Unit adalah suatu kumpulan prosedur dan fungsi yang disediakan oleh PASCAL yang disesuaikan dengan tujuannya. Dalam PASCAL dikenal beberapa Unit standard antara lain Crt, Dos, Graph, Printer, Dos. Contoh Unit yang tersedia dalam Unit Crt : Clrscr : Untuk membersihkan layar GotoXY : Untuk memposisikan kursor pada kom X dan baris Yang di layar Cara mendeklarasikan Unit adalah : Uses NamaUnit, NamaUnit, …; h. Prosedure Read dan Readln Procedure ini digunakan untuk membaca data dari keyboard dengan memakai variabel yang sudah dideklarasikan dalam deklarasi variabel. Sintaxnya : Read(NamaVariabel, NamaVariabel, …); Readln(NamaVariabel, Namavariabel, …); Read : Tidak akan menurunkan kursor setelah proses pembacaan Readln : menurunkan kursor setelah proses pembacaan i. Procedure Write dan Writeln Write : Mencectak dan kursor disebelahnya Writeln : Mencetak dan kursor satu baris ke baris awal III. PETUNJUK PRAKTIKUM
  • 7. Halaman : 7 a. Membuat program untuk input dan output { Contoh program menginputkan data dengan perintah read atau readln kemudian menampilkannya dengan perintah write atau writeln } Program InputData; uses Crt; Var no_mhs : integer; nama, alamat : string; Begin clrscr; write('Nomor mahasiswa : ');readln(no_mhs); write('Nama Mahasiswa : ');readln(nama); write('Alamat : ');readln(alamat); clrscr; write('Dia adalah ',nama); writeln(' yang mempunyai nomor mahasiswa ',no_mhs); writeln('beralamat di ',alamat,' Semarang'); readln; end. b. Program untuk menghitung luas lingkaran : Program lingkaran; const phi = 3.14; var jari, luas : real; Begin Jari := 10.0; luas := phi * jari * jari; writeln('H A S I L'); writeln('---------'); writeln('Jari-jari lingkaran : ',jari:6:2); writeln('Luas lingkaran : ',luas:6:2); end. IV.TUGAS 1. Buatlah program untuk menghitung keliling lingkaran
  • 8. Halaman : 8 MODUL II PENYELEKSIAN KONDISI I. TUJUAN Mempelajari struktur kondisi dalam PASCAL yaitu Struktur If … Then …, If … Then … Else … dan Case … Of … II. TEORI SINGKAT a. If … Then … : Statemen If … Then … mempunyai syntax : If <syarat_logika> Then Statemen Atau If <syarat_logika> Then Begin Statemen1; Statemen2; disebut blok statemen …… ; End; <syarat_logika> adalah operasi relasi (seleksi kondisi) yang apabila bernilai TRUE (benar) maka statemen atau blok statemen setelah Then akan dilaksanakan. Apabila statemen yang berkaitan dengan nnilai TRUE lebih dari satu statemen maka blok statemen dipergunakan, jika hanya terdiri dari satu statemen maka blok statemen tidak perlu dipergunakan. Blok statemen ditandai dengan Begin …End; b. If … Then …Else … : Mirip dengan syntax If … Then, tata aturan if then else adalah : If <syarat_logika> Then Statemen1 Else Statemen2; Atau If <syarat_logika> Then Begin Statemen1; Statemen2; blok jika syarat True … ; End Else Begin Statemen1; Statemen2; blok jika syarat False … ; End; Jika <syarat_logika> bernilai TRUE maka statemen atau blok statemen seteleh Then akan dikerjakan, jika <syarat_logika> bernilai FALSE maka statemen atau blok statemen seeleh Else akan dkerjakan. c. Statemen Case NamaVar Of : Statemen Case NamaVar Of dipakai untuk penyeleksian berganda. NamaVar adalah nama variabel yang harus bertype ordinal seperti Char, byte atau integer. Padanan dengan If … Then , misalnya kita memiliki varibel Pil yang bertipe Char, dan dihadapi seleksi pilihan : If Pil = ‘a’ Then Statemen2; If Pil = ‘b’ Then Statemen2; Dst Dapat ditulis dengan statemen Case … Of dengan syntax sbb :
  • 9. Halaman : 9 Case Pil Of ‘a’ : Statemen1; ‘b’ : Statemen2; .… : …; End; V. PETUNJUK PRAKTIKUM a. Membuat program menggunakan if Program TentukanLulus; Uses Crt; Label Mulai; Var NamaSis : String[35]; Nilai : Real; Ket,Pesan : String[35]; Jawab : Char; Begin Mulai : ClrScr; Write('Nama Siswa : ');Readln(NamaSis); Write('Nilai Angka : ');Readln(Nilai); If (Nilai >= 60) Then Begin Ket := 'Anda Lulus'; Pesan := ' SELAMAT, PERTAHANKAN TERUS !'; End Else Begin Ket := 'Anda Tidak Lulus'; Pesan := ' TINGKATKAN BELAJARNYA!'; End; Writeln; Writeln('Hasil : '); Writeln(Ket,Pesan); Writeln; Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab); If (Jawab = 'Y') or (Jawab = 'y') Then Goto mulai End. b. Membuat program menggunakan case Program TekanTombol; Uses Crt; Label Mulai; Var Tombol, Jawab : Char; Begin Mulai: ClrScr;
  • 10. Halaman : 10 Writeln('PROGRAM TENTUKAN TOMBOL'); Writeln('-----------------------'); Write('Tekan Sembarang TOMBOL : '); Readln(Tombol); Case Tombol Of 'a'..'z','A’..'Z': Begin Writeln('Anda menekan tombol ',Tombol); Writeln('Tombol ',Tombol,' Termasuk HURUF'); End; '0'..'9' : Begin Writeln('Anda menekan tombol ',Tombol); Writeln('Tombol ',Tombol,' Termasuk ANGKA'); End; Else Begin Writeln('Anda menekan tombol ',Tombol); Writeln('Tombol',Tombol,'Bukan HURUF/ANGKA'); End; End; Write('Mau mencoba lagi [Y/T] ? ');Readln(jawab); If (Jawab = 'Y') or (Jawab = 'y') Then Goto mulai End. IV. TUGAS 1. Buatlah program menggunakan perintah if.. Then... untuk konversi angka ke hari, jika 1senin, 2selasa, 3rabu, 4kamis, 5jumat, 6sabtu. 7minggu 2. Buatlah soal 1 menggunakan perintah case
  • 11. Halaman : 11 MODUL III LOOPING (PERULANGAN) I. TUJUAN Mempelajari struktur dari statemen kontrol PASCAL untuk menangani proses berulang yaitu : For .. Do, While.. Do, dan Repeat .. Until. II. TEORI SINGKAT a. For .. Do .. Syntax for .. Do For NamaVarKendali := Awal to Akhit Do Pernyataan; Atau For NamaVarKendali := Awal to Akhit Do Begin Pernyataan1; Pernyataan2; blok pernyataan … End; Atau For NamaVarKendali := Awal Downto Akhit Do Pernyataan; Atau For NamaVarKendali := Awal Downto Akhit Do Begin Pernyataan1; Pernyataan2; blok pernyataan … End; Statemen/pernyataan atau blok pernyataan akan dikerjakan selama nilai dari NamaVarKendali dari Awal ke Akhir dengan kenaikan/penurunan satu langkah. Jika Awal lebih kecil Akhir kita pakai to, sedangkan jika Awal lebih besar Akhir kita pakai downto. NamaVarKendali adalah idetifier yang bertype ordinal seperti byte, integer atau char dan tidak dapat bertype string atau real. Berikut adalah program untuk mencetak karakter mulai dari awal sampa akhir dan dari akhir sampai awal, diman awal dan akhir dinputkan dari keyboard. Awal, akhir bertype char.
  • 12. Halaman : 12 b. While .. Do .. Kontrol For .. Do .. kita pakai untuk memproses dengan jumlah ulangan diketahui sebelumnya. Apabila proses yang diulang tidak kita ketahui berapa putaran harus dilakukan, yaitu diputar selam kondisi tertentu dipenuhi, maka statemen yang kita pakai adalah While .. Do .. Syntaxnya : While <syarat_logika> Do <pernyataan>; atau While <syarat_logika> Do Begin Pernyataan1; Pernyataan2; blok pernyataan … End; <syarat_logika> adalah suatu relasi yang selama relasi tersebut bernilai benar (TRUE) maka pernyataan/blok pernyataan akan terus menerus dikerjakan. Pernyataan/blok pernyataan akan berhenti dikerjakan jika <syarat_logika> tidak lagi bernilai benar. c. Repeat .. Until .. Statemen Repeat .. Until .. kita pakai apabila kita akan mengulang-ulang suatu proses terus menerus sampai kondisi tertentu dipenuhi. Syntax : Repeat Pernyataan1; Pernyataan2; … Until <kondisi>; Pada contoh program diatas dapat kita modifikasi dengan memakai Repeat .. Until. Konstanta boolean keyPressed adalah konstanta yang bernilai FALSE selama kita tidak menekan sesuatu dan jika kita menekan sesuatu maka KeyPressed akan bernilai TRUE. VI. PETUNJUK PRAKTIKUM a. Membuat program menggunakan for Program CetakKarakter; Uses Crt; Var Awal, Akhir, Karak : Char; Begin Clrscr; Write('Karakter awal : ');Readln(Awal); Write('Karakter akhir : ');Readln(Akhir); writeln; Write('N A I K : '); For Karak := Awal to Akhir Do Write(karak); Writeln; Write('T U R U N : '); For Karak := Akhir downto Awal Do Write(karak);
  • 13. Halaman : 13 Readln End. b. Mebuat program menggunakan while Contoh berikut akan mencetak karakter ‘*’ terus menerus pada posisi baris kolom yang acak, setiap kita menekan suatu sembarang tombol. Proses berulang selam yang dibaca <> #27 (Esc). Untuk meletakkan pada baris klo yang acak, setiap dipakai fungsi Random(x). Fuction standar Random(x) adalah fungsi untuk membangkitkan bilangan acak antara nol sampai x. Selanjutnya satu karakter dibaca dengan Procedure standar ReadKey, dengan syntak : NamaVarKar := ReadKey; Pembacaan data dari keyboard dengan ReadKey adalah untuk variabel bertype Char dan bersifat tidak meng-echo-kan (menampilkan ke layar). Program Acak_dg_While_Do; Uses Crt; Const Escape = #27; Var Baca : Char; Baris, Kolom : Byte; Begin Clrscr; Baca :=' '; While Baca <> Escape Do Begin GotoXY(34,12);Write('Tekan Escape Selesai ...'); Baris := Random(23); Kolom := Random(80); GotoXY(Kolom,Baris);Write('*',' Kolom ',Kolom,' Baris ',Baris); Baca := ReadKey;Clrscr; End; End. #27 adalah konstanta karakter. Dalam PASCAL ada 2 macam cara untuk memperoleh konstanta karakter, yaitu dengan #n atau Chr(n) dimana n = kode ASCII karakter yang bersangkutan. Misalnya karakter CR (ENTER) mempunyai kode ASCII 13 dapat ditulis dengan #13 atau Chr(13). c. Membuat program menggunakan repeat Program Acak_dg_Repeat_Until; Uses Crt; Var Baris, Kolom : Byte; Begin Clrscr; Repeat GotoXY(34,12);Write('Tekan Escape Selesai ...');
  • 14. Halaman : 14 Baris := Random(23); Kolom := Random(80); GotoXY(Kolom,Baris);Write('*',' Kolom ',Kolom,' Baris ',Baris); Delay(10); Until KeyPressed; End. IV. TUGAS 1. Buatlah program untuk menambah angka ganjil dari 1 hingga 1001.
  • 15. Halaman : 15 MODUL IV TIPE ARRAY BERDIMENSI SATU I. TUJUAN Mempelajari tipe terstruktur Array dimensi satu. II. TEORI SINGKAT Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama, dimana masing-masing elemen array dapat diakses melalui indek array. Arrray dimensi satu adalah array yang hanya memiliki satu tipe indek. Deklarasi variabel bertipe array dimensi : Var NamaArray : Array{tipeIndek] of TypeArray; NamaArray adalah nama variabel bertipe array dan TypeArray adalah tipenya. TypeArray dapat berupa Integer, real, char, string atau record. Sedangkan tipeIndek dari array merupakan tipe ordinal seperti char, byte, integer, atau enumerasi. Contoh deklarasi tipe array : Type NanaArray = (senin,selasa,rabu,kamis,jumat,sabtu,minggu); Var Hari : DafHari; Incom : Array [DafHari] of integer; Masuk : Array [senin .. kamis] of integer; DafHari adalah NamaType enumerasi yang kita jadikan indeks dari array Incom dan Masuk. Incom dan Masuk adalah array integer dengan indek enumerasi. Selanjutnya kita dapat mengisi elemen array dengan Incom[senin] atau Masuk[rabu] dan seterusnya. Data bertipe string sesungguhnya adalah suatu larik data bertipe char. Misalnya : Var Pesan : string[20]; Variabel Pesan merupakan string. Kita juga bisa memandangnya sebagai larik char. Pesan[1] adalah karakter pertama, Pesan[2] adalah karakter kedua, dst. Sedangkan Pesan[0] adalah karakter yang kode ASCIInya adalah cacah karakter dari isi pesan. Dengan demikian kita dapat mengetahui ada berapa cacah karakter isi dari Pesan dengan Ord(Pesan[0]), disamping dapat juga dipakai fungsi Length(Pesan). III. PETUNJUK PRAKTIKUM Contoh berikut adalah membaca variabel pesan yang bertipe string yang secara otomatis dapat dipandang sebagai latik karakter dengan Ord(Pesan[0]) dapat diperoleh cacah karakter yang disimpan dalam CcHuruf. Contoh Program 1 : Uses Crt; Const Vokal = ['A','I','U','E','O','a','i','u','e','o']; Var Huruf : char; Pesan : string; i,CcHuruf,CcVokal : integer;
  • 16. Halaman : 16 Begin clrscr; Write('Ketikkan Kalimat : '); Readln(Pesan); CcHuruf := Ord(Pesan[0]); CcVokal := 0; For i := 1 to CcHuruf Do Begin Huruf := Pesan[i]; If Huruf in Vokal then CcVokal := CcVokal + 1; End; Writeln('DIBALIK'); For i := CcHuruf downto 1 do write(Pesan[i]); Writeln; Write('VOKAL : ',CcVokal,' BUAH'); Readln End. Contoh Program 2 : program Array_max_min; var nilai:array[1..5] of INTEGER; maks,mins,total,i,data : integer; rata : real; begin write('Jumlah Data = ');readln(data); write('Data ke-1 = ');readln(nilai[1]); maks :=nilai[1]; mins :=nilai[1]; total :=nilai[1]; for i := 2 to data do begin write('Data ke-',i,' = ');readln(nilai[i]); if nilai[i]>maks then maks:=nilai[i]; if nilai[i]<mins then mins:=nilai[i]; total:=total+nilai[i]; end; rata:=total/data; writeln('Nilai terbesar adalah = ',maks); writeln('Nilai terkecil adalah = ',mins); writeln('Nilai total adalah = ',total); writeln('Nilai rata-rata adalah = ',rata:0:2); readln; end. IV. TUGAS 1. Buatlah program untuk mengurutkan suatu data angka yang dimasukkan dari keyboard, secara urut menaik dan menurun. Gunakan variabel bertipe array.
  • 17. Halaman : 17 MODUL V TIPE ARRAY BERDIMENSI DUA I. TUJUAN Mempelajari tipe terstruktur Array dimensi dua. II. TEORI SINGKAT Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama, dimana masing-masing elemen array dapat diakses melalui indek array. Arrray dimensi dua adalah array yang memiliki dua tipe indek. Deklarasi variabel bertipe array dimensi dua : Var NamaArray : Array{tipeIndek1,tipeIndek2] of TypeArray; III. PETUNJUK PRAKTIKUM Penggunaan secara umum untuk matrik dua dimensi adalah untuk memasukkan data matrik. Berikut penggalan program untuk memasukkan data matrik dengan ordo 2 x 2 Prog Matrik2Dimensi; Use Crt; var Matrik : Array[1..10,1..10] Of integer; Baris,Kolom : Integer; Begin ClsRcr; {-Memasukkan data matrik-} For Baris := 1 to 2 Do Begin For kolom := 1 to 2 Do Begin Write('Baris ',Baris,' Kolom ',Kolom,' : '); Readln(Matrik(Baris,Kolom)); End; End {--Menampilkan Hasil--} For Baris := 1 to 2 Do Begin For kolom := 1 to 2 Do Begin Write(Matrik(Baris,Kolom):5); End; End; Readln End. IV. TUGAS: 1. Buatlah progam untuk menghitung penjumlahan dua buah matrik. Syarat penjumlahan dua buah matrik adalah kedua matrik tersebut mempunyai jumlah baris dan kolom yang sama. Misalnya : 1 2 2 2 3 4 + = 2 3 3 2 5 5
  • 18. Halaman : 18 MODUL VI PROCEDURE DAN FUNGSI V. Tujuan Mempelajari pemecahan program ke dalam modul-modul program dalam bentuk prosedur dan fungsi VI.Teori Singkat a. PROCEDURE Procedure merupakan sub program yang berdiri sendiri yang dapat dipanggil dari program utama. Deklarasi prosedur : PROCEDURE <Nama_prosedur> (<Daftar_parameter_formal>); <Bagian_deklarasi> Begin <Bagian _pernyataan> End; Dalam prosedur atau fungsi dikenal adanya parameter. Parameter adalah suatu nilai atau variabel yang akan dilewatkan dalam prosedur atau fungsi. Pengiriman paramter dalam prosedur atau fungsi dibedakan menjadi 2 yaitu parameter nilai dan parameter referensi. Pelewatan parameter secara nilai dimaksudkan jika parameter yang dileatkan dimasudkan tidak untuk diubah oleh prosedur atau fungsi sekalipun perubahan telah terjadi di dalam prosedur atau fungsi tersebut. Sedangkan parameter referensi dimasudkan unutk mengubah nilai atau variabel sekeluarnya dari prosedur atau fungsi. Perbedaan cara pengiriman parameter didalam prosedur atau fungsi terletak pada deklarasi prosedur atau fungsinya. Contoh deklarasi prosedur dengan pengiriman parameter secara refensi : Procedure Tukar(var x,y : real); Untuk mengubah sifat pengiriman parameter secara nilai, tinggal diubah deklarasi prosedur dengan menghilangkan var dalam kepala prosedur sehingga menjadi : Procedure Tukar(x,y : real); b. FUNCTION Fungsi memiliki struktur yang hampir sama dengan procedure, bedanya fungsi memiliki tipe hasil sedangkan procedure tidak. Deklarasi fungsi : FUNCTION <Nama_fungsi> (<Daftar_parameter>): tipe; <Bagian_deklarasi> Begin <Bagian _pernyataan> End; VII. PETUNJUK PRAKTIKUM a. Berikut contoh program pemakaian untuk menukarkan dua nilai memakai prosedure : program tukar_data; var a, b : real; {deklarasi variabel global} procedure info; begin
  • 19. Halaman : 19 writeln('****************************'); writeln('** Program Tukar Data **'); writeln('** Dengan Procedure **'); writeln('** Oleh : **'); writeln('** Ki Joko Bodho **'); writeln('****************************'); end; {Prosedur penukaran data} procedure tukar(var x,y : real); var tamp : real; begin tamp := x; x := y; y := tamp; end; {Program utama} Begin info; a := 12.33; b := 67.98; writeln('Sebelum memanggil prosedur Tukar'); writeln('a = ',a:7:2,' b = ',b:7:2); tukar(a,b); writeln('Setelah memanggil prosedur Tukar'); writeln('a = ',a:7:2,' b = ',b:7:2); readln; End. b. Berikut contoh program memakai fungsi: program kali_data; var a, b : integer; {deklarasi variabel global} procedure info; begin writeln('****************************'); writeln('** Program Tukar Data **'); writeln('** Dengan Procedure **'); writeln('** Oleh : **'); writeln('** Ki Joko Bodho **'); writeln('****************************'); end; {Prosedur perkalian data} function kali(x,y : integer):integer; begin kali := x * y; end; {Program utama} Begin info; a := 12; b := 67; writeln(a,' x ',b,' = ',kali(a,b));
  • 20. Halaman : 20 writeln('12 x 13 = ',kali(12,13)); readln; End. VIII. TUGAS 1. Buatlah program dengan menggunakan prosedur untuk membalik suatu angka Misalnya : Masukkan angka : 12309 Hasil pembalikan : 90321 2. Buatlah program dengan menggunakan fungsi untuk mencari jumlah dan rata-rata dari sejumlah data yang dimasukkan.