• Tidak ada hasil yang ditemukan

DASAR ALGORITMA DAN PEMROGRAMAN

N/A
N/A
Protected

Academic year: 2018

Membagikan "DASAR ALGORITMA DAN PEMROGRAMAN"

Copied!
27
0
0

Teks penuh

(1)

I T E N A S

Institut Teknologi Nasional

Jurusan Teknik Informatika

DASAR

ALGORITMA DAN

PEMROGRAMAN

Disusun Oleh

Uung Ungkawa, Ir. MT

(2)

Pendahuluan

Dalam kuliah ini akan dipaparkan pengenalan (dasar) bahasa pemrograman untuk menyamakan persepsi di antara mahasiswa baru. Topik yang akan disajikan adalah:

• Pemrograman • Algoritma • Flowchart

• Bahasa Algoritmik

• Bahasa Pemrograman: Pascal • Type Data

• Input/Output • Runtunan • Pemilihan • Pengulangan

• Pemrograman Modular

Sejarah Pemrograman

Ilmu pengetahuan dan teknologi tidaklah lahir begitu saja dari tidak ada ke ada. Tidak kecuali pemrograman dan komputer, mengalami sejarah yang bersamaan dengan matematika dan mekanika/elektronika. Berikut ini garis besar sejarah penemuan komputer dan pemrograman:

• 2400 SM: Abacus di Babilonia • 1115 SM: Differential gear • 500 SM: bil nol

• 300 SM: sistem bilangan biner • 87 SM: analog computer • 60 (M): Dasar Robotik • 724: Jam mekanik di Cina

• 820: Algoritma oleh Alkhawarizmi • 850: Kriptografi oleh AlKindi • 850: Musik yang bisa diprogram • 996 Jam mekanik roda gigi: Al Biruni • 1000: Komputer analog: Al Biruni

• 1015: Analog komputer untuk menentukan posisi bulan, matahari dan planet – Al Zarkali

(3)

• 1492: Klkulator mekanik – Leonardo da Vinci • 1588: Logaritma natural – Joost Buerghi • 1642: Kalkulator mekanik – Pascal

• 1811: tenun otomatis - Joseph-Marie Jacquard • 1822: Komputer mekanik – Babbage

• 1834: Analytical Engine: Program yang disimpan - Babbage • 1848: Aljabar Boole – George Boole

Pemrograman Komputer

Komputer merupakan mesin yang canggih yang dapat digunakan untuk berbagai keperluan kita. Sebelum digunakan, komputer harus diprogram agar dapat bekerja sesuai dengan kebutuhan kita.

Dahulu mesin diprogram secara perangkat keras, artinya bagian tertentu dari mesin diubah-ubah sedemikian sehingga cara kerjanya berubah sesuai kehendak kita. Dalam pemrograman sekarang, bagian mesin tidak berubah tetapi yang diubah kumpulan perintah yang berupa perangkat lunak. Kumpulan perintah demikian disebut program komputer.

Kumpulan perintah yang disebut program itu berupa kode-kode yang kita buat, misalnya kode demikian akan menjumlahkan dua angka berikutnya. Kode yang demikian lagi akan loncat ke instruksi berikutnya dan seterusnya. Kode-kode tersebut disebut bahasa mesin. Bahasa ini bebas ambigu (bermakna ganda) karena menterjemahkan dari satu ke satu (satu istilah bahasa asembli ke satu kode bahasa mesin)

Dalam perkembangan selanjutnya, bahasa mesin ini sangat rumit untuk diingat manusia. Maka dibuatlah bahas rakitan (assembly) yakni bahasa mirip bahasa manusia yang melambangkan bahasa mesin, seperti menjumlahkan dua angka seperti di atas dengan add. Tentu saja bukan add ini yang dimengerti atau dieksekusi oleh mesin tetapi tetap mesin itu menjalankan program dalam bahasa mesin. Di sinilah maka perlu penterjemahan bahasa rekitan ini ke dalam bahasa mesin. Dalam hal ini diperlukan perangkat uyang disebut assembler yang berfungsi menterjemahkan bahasa rakitan ke bahasa mesin.

(4)

tingkat tinggi ini ada dua: interpreter dan kompiler. Interpreter melakukan terjemahan langsung satu kalimat (statement) demi statement dan hasilnya langsung disajikan ke pengguna melalui layar monitor sedangkan kompiler melakukan penterjemahan sekaligus. Setelah menjadi bahasa mesin, baru program dapat digunakan.

Bagaimana program dijalankan komputer? Pemeran utama dalam komputer adalah prosesor. Pertama prosesor memuat program ke memori. Dari memori ini komputer membaca dan menjalankan program satu perintah, satu demi satu sampai selesai. Biasanya program disipan dulu di tempat penyimpanan (disk). Dari disk ini dimuat ke memori oleh prosesor.

Lalu apa bedanya program dengan software, secara sederhana, software merupakan kumpulan program. Apkah software itu kecil atau besar.

Pemrograman adalah Solusi

Kita sekarang dihadapkan pada berbagai produk canggih yang serba digital, angka. Kita sekarang berada di dalam abad digital. Selain komputer, kita melihat produk canggih lain seperti HP, ATM, pengendali pesawat, pengendali reaktor nuklir, internet dan lainnya. Semua itu perlu diprogram agar semua alat canggih itu bisa bekerja sesuai dengan kebutuhan kita seperti

• Bagaimana Mesin ATM bekerja? • Bagaimana HP Bekerja?

• Bagaimana komputer pengendali pesawat bekerja? • Bagaimana komputer pengendali reaktor nuklir bekerja? • Bagaimana internet bekerja?

• dsb dsb

Pemrograman adalah penterjemahan solusi yang ada pada kita untuk disalin ke dalam bahasa komputer. Dengan kata lain pemrograman adalah merumuskan solusi yang ada di dalam pikiran kita untuk dapat dikerjakan komputer. Seringkali kita tahu solusinya tetapi kita sulit menterjemahkannya (menjabarkannya) ke dalam bahasa mesin.

Program bisa dipandang sebagai proses yang mengolah input menjadi output:

Proses

(5)

Algoritma dan Diagram Alir

Algoritma merupakan sekumpulan perintah (instruksi) yang disusun secara berurutan, untuk dapat menghasilkan pengaruh yang sesuai dengan kebutuhan. Algoritma merupakan kumpulan tugas yang jika dikerjakan pada kondisi tertentu dengan proses tertentu akan dihasilkan kondisi tertentu pula. Sebagai ilustrasi, kita perhatikan algoritma untuk menanak nasi:

Asumsi awal, semua bahan dan alat tersedia. - Pertama ambil beras dengan jumlah tertentu. - Cuci beras sampai bersih.

- Masak air secukupnya. - Tunggu sampai mendidih.

- Jika air sudah mendidih, masukkan beras. - Tunggu lagi sampai mendidih.

- Kecilkan apinya agar tidak gosong. - Biarkan sampai airnya habis. - Kecilkan lagi apinya.

- Tunggu sampai matang

- Nasi sudah matang (kondisi akhir).

Diagram Alir

Diagram alir dapat dipandang sebagai visualisasi algoritma. Dengan diagram alir kita dapat lebih mudah memahami algoritma. Dengan demikian diagram alir ini dapat digunakan untuk mengkomunikasikan algoritma yang kita buat kepada pihak lain dengan lebih baik dan juga untuk dokumentasi algoritma agar kelak kita mudah memahami kembali algoritma yang telah kita buat.

Berikut ini beberapa bentuk umum diagram alir yang paling sering digunakan:

Terminator: Mulai/Selesai Proses

(6)

Ambil Beras dan Cuci

Mulai

Masak air

Tunggu sampai mendidih

Mendidih? Tidak

Masukkan Beras

Kecilkan apinya

Mendidih? Tidak

1

1

Tunggu sampai mendidih

masak? Tidak

Tunggu sampai nasi masak

Selesai

Penghubung dalam halaman yang sama. Diberi nomor pada bagian yang disambung

(7)

Notasi Algoritmik

Notasi Arti

write(x, y) tuliskan nilai x dan y a  b isikan nilai b ke a a < b apakah a lebih kecil b? a > b apakah a lebih besar b? +, -, *, / tambah, kurang, kali, bagi

Tugas

Buatlah algoritma, diagram alir dan notasi algoritmik untuk tugas berikut: 1. Menjumlahkan kedua bilangan?

(8)

Pengantar Bahasa Pascal

Sejarah Bahasa Pascal

Pascal dikembangkan pada tahun 1970 oleh Niklaus Wirth sebagai bahasa yang ringkas dan efisien. Bahasa ini dirancang untuk pemrograman modular, pemrograman terstruktur dan struktur data.

Pascal diturunkan dari bahasa Algol dan nama Pascal diambil untuk menghormati matematikawan dan filosof Perancis Blaise Pascal. Mulanya Pascal digunakan untuk mengajarkan pemrograman terstruktur kepada para mahasiswa.

Pada era pemrograman berorientasi objek, Pascal menjadi Object Pascal atau Delphi.

Karakteristik

Bahasa pemrograman Pascal merupakan bahasa tingkat tinggi. Karakteristik lain adalah:

• General purpose: Bahasa ini digunakan untuk berbagai jenis keperluan dan terapan.

• Terstruktur: Program dipandang sebagai suatu tugas yang kemudian dibagi (dirinci) menjadi beberapa tugas. Setiap tugas bisa dibagi (dirinci) lagi menjadi beberapa tugas yang lain

• Bertype: Data dideklarasikan dalam jenis tertentu

• Imperatif: tersusun dari sekumpulan perintah tertentu yang harus dilaksanakan. • Sekuensial: berurutan; perubahan urutan akan mengubah hasil.

• Tidak case-sensitif (case-insensitif): tidak membedakan huruf besar/kapital dan kecil

Struktur Program

Program Pascal terdiri dari: Header

Blok

Deklarasi Label Konstanta Definisi Jenis Variabel

(9)

Contoh Program Pascal

Program HitLuasLing; {header atau kepala}

Var {deklarasi}

jari2, luas : real; {Minta alokasi tempat di memori}

Begin {blok Pernyataan program}

readln(jari2); {input}

luas := 3.14 * sqr(jari2); {Proses}

writeln(‘Luas : ‘, luas) {Output}

end. {Akhir program}

Struktur Program di atas terdiri dari nama program yaitu HitLuasLing yang berarti program untuk menghitung luas lingkaran. Kurung kurawal merupakan tanda untuk komentar, untuk memberi catatan ketika membuat program. Bagian ini tidak diproses oleh kompilator. Baris kedua ada bagian deklarasi variabel yang ditandai dengan Var,

digunakan untuk memberi tahu komputer (kompilator) agar menyediakan ruang di memori (alokasi) untuk variabel sebanyak yang dibutuhkan (tergeantung jenisnya). Di sini ada dua jenis variabel real yaitu jari2 dan luas.

Bagian yang diawali begin dan diakhiri end merupakan bagian utama (tubuh) program. Program terdiri dari input, proses dan output. Di sini input berupa jari-jari yang dilambangkan dengan variabel jari2 dan diberi nilai melalui operasi readln yang berarti membaca data dari piranti input (di sini layar monitor). Setelah operasi readln, variabel jari2 yang semula tidak tertentu nilainya, sekarang mengandung data jari-jari. Prosesnya berupa menghitung luas yang dilambangkan variabel luas. Fungsi sqr()

adalah fungsi di dalam Pascal untuk menghitung pangkat dua (square) karena luas merupakan pi dikali kuadrat jari-jari. Nilai pi didekati dengan 3,14. Tanda * merupakan perkalian di dalam Pascal dan tanda := berarti hasil perhitungan diberikan

ke sisi kiri (di sini variabel luas). Variabel luas yang semula tidak diketahui (tidak tentu) nilainya sekarang bernilai luas lingkaran. Outputnya berupa menampilkan isi variabel luas melalui writeln ke piranti output (di sini monitor juga).

Latihan

1. Ubah program di atas agar pengguna tahu bahwa dia harus memberikan nilai jari-jari ke komputer

2. Ubah program di atas untuk bisa menghitung luas dan keliling lingkaran sekaligus, serta tampilkan keduanya

2. Menukar nilai dua buah variabel.

(10)

Bagian-Bagian Program

Komentar

Komentar digunakan untuk memberi catatan pada program dan tidak diproses oleh kompiler. Komentar diawali { atau (* dan diakhiri } atau *).

Pengenal

Pengenal (identifier) digunakan untuk memberi nama pada unsur program seperti label, konstanta, variabel dan lainnya.

Pengenal terdiri dari huruf, angka, dalam susunan apa saja kecuali yang pertama harus huruf.

Huruf besar atau kecil diperbolehkan dan tidak dibedakan.

Pengenal tidak boleh sama dengan kata yang dicadangkan (reserved words) untuk bahasa Pascal.

Label

Label digunakan untuk menomori baris program (pernyataan), digunakan untuk perintah goto. Harus dideklarasikan sebelumnya.

Contoh:

Label 10, selesai …

10 : read(a); …

Goto 10; …

Goto selesai …

Selasai: …

Konstanta

Konstanta adalah pengenal yang digunakan untuk nilai yang tetap. Contoh:

CONST pecahan = 0,166667;

Deklarasi Jenis

Digunakan untuk deklarasi jenis baru yang kita buat sendiri: Contoh:

(11)

Variabel

Pengenal untuk variabel, nilai yang bisa berubah. Contoh deklarasi:

Var

nomor : integer;

Jenis Data

Jenis data sederhana terdiri dari: Standard:

Integer: bilangan bulat Real: bilangan real Char: karakter

Boolean: nilai boolean (benar/salah) user-defined (bentukan)

enumerated (terbilang) subrange

Jenis data yang lain adalah yang terstruktur yang terdiri dari: array

record set file Pointer

Operasi Data Sederhana

• Operator

– biner: a+b – uner: not(a)

Operasi Integer:

Operator Arti Operan Hasil

+ penjumlahan integer integer

- pengurangan integer integer

(12)

DIV Pembagian terpotong integer integer

Mod Sisa pembagian integer integer

• Contoh operasi integer: • Misal a = 13, b = 5 a+b = 18

a-b = 8 a*b = 65 a div b = 2 a mod b = 3 a/b = 2.6

Real

Operator Arti Operan Hasil

+ penjumlahan real real

- pengurangan real real

* perkalian real real

/ pembagian real real

Boolean

Operator Arti

= Sama dengan?

<> Tidak sama dengan? < Lebih kecil?

> Lebih besar?

(13)

Char

chr(65)=‘A’ ord(‘A’) = 65 pred(‘B’) = ‘A’ succ(‘A’)=‘B’

Jenis Enumerated

type hari = (Ahad, Senin, Selasa, Rabu, Kamis, Jum’at, Sabtu)

pred(Ahad) -- run-time error

pred(Senin) = Ahad ord(Ahad)=0 ord(Selasa)=2 Ahad < Senin = true

write(pred(Senin)); -- compile error.

write(ord(Senin)) tertulis 1

Jenis Subrange:

mengambil sebagian dari rentang data:

type nama = data_pertama .. data_terakhir

Contoh:

type hari = (Ahad, Senin, Selasa, Rabu, Kamis, Jum’at, Sabtu) harikerja = Senin .. Jum’at;

bulan = 1..12; tanggal = 1..31;

Fungsi Standard

Fungsi Arti jenis jenis hasil

(14)

cos(x) menentukan nilai cosinus int, real real

exp(x) menentukan ex.

e=2.718282..

int, real real

ln(x) menghitung log natural int, real real odd(x) menentukan x apakah ganjil

atau genap

int boolean: true jika ganjil

ord(x) menentukan nilai untuk repr x

char integer

pred(x) menentukan nilai sebelumnya

int, char, boolean

seperti x

round(x) membulatkan ke nilai terdekat

real int

sin(x) nilai sinus int, real real

sqr(x) menentukan nilai x kuadrat int, real seperti x sqrt(x) menentukan akar x int, real real succ(x) menentukan nilai

sesudahnya

int, char, boolean

seperti x

trunc(X) memotong nilai pecahan real int

Fungsi Contoh

abs(x) abs(-0.3)=0.3 chr(x) chr(65)=‘A’ odd(x) odd(5) = true ord(x) ord(‘A’)=65

pred(x) pred(3)=2, pred(‘e’)=‘d’, pred(true)=false round(x) round(2.3)=2, round(3.7)=4

succ(x) succ(3)=4, succ(‘e’)=‘f’, succ(true)=false trunc(X) trunc(2.3)=2, trunc(3.7)=3

Presedensi

Presedensi Operator

1 (tertinggi) not

(15)

3 + - or

4 (terendah) = <> < <= > >=

Ungkapan (Ekspresi)

• Ekspresi:

sekumpulan operan (bilangan, konstanta, variabel) yang disatukan oleh operator untuk membentuk suku seperti aljabar yang mempunyai nilai

• Contoh: (b*b – 4*a*c)/(2*a)

Pernyataan (statement)

• Pernyataan: instruksi atau sekumpulan instruksi yang menyebabkan komputer melakukan suatu tindakan.

• Pernyataan:

– sederhana (tunggal) – majemuk (compound) • Contoh:

sederhana:

D := (b*b – 4*a*c) majemuk:

Begin

read (radius);

luas := 3.14159*sqr(radius); write(radius, luas)

End.

Input dan Output Data

Data input dan output:

a. Dapat disimpan di dalam file yang akan dibaca dan ditulis pada saat program berjalan

b. Diberikan atau disajikan melalui layar dan keyboard Contoh:

(16)

Read dan Readln

Sintaks:

read(var2_input); readln(var2_input);

Perbedaan keduanya:

(17)

Fungsi EOLN dan EOF

– eoln memberi nilai true jika mencapai akhir baris – eof memberi nilai true jika dijumpai akhir file

Write dan Writeln

Sintaks:

write(data2_output); writeln(data2_output);

Perbedaan keduanya:

writeln menyebabkan write atau writeln berikutnya menuliskan outpun di baris baru, sedangkan write tidak demikian

Contoh 1

VAR p1, p2, p3, p4 : integer; .

. read(p1, p2); read(p3, p4);

file input berisi: 1 2 3 4 5 6 7 8

Hasil: p1=1, p2=2, p3=3, p4=4

Contoh 2

VAR p1, p2, p3, p4 : integer; .

. readln(p1, p2); readln(p3, p4); file input berisi: 1 2 3 4 5 6 7 8

Hasil: p1=1, p2=2, p3=5, p4=6

Contoh 1:

writeln(‘a ’, ‘b ’); writeln(‘c ’, ‘d ’); Hasil:

a b c d

Contoh 2:

write(‘a ’, ‘b ’); writeln(‘c ’, ‘d ’); Hasil:

a b c d

Contoh 3:

writeln(‘a ’, ‘b ’); write(‘c ’, ‘d ’); Hasil:

a b c d

Contoh 4:

write(‘a ’, ‘b ’); write(‘c ’, ‘d ’); Hasil:

(18)

Output Berformat:

– Menentukan lebar medan data Sintaks:

data : lebar Contoh:

write(‘Jumlahnya adalah’, j : 4);

jika j=-15 hasilnya adalah

Jumlahnya adalah -15

Contoh:

write(‘Jumlahnya adalah’, j : 3);

jika j=-15 hasilnya adalah

Jumlahnya adalah-15

Contoh:

write(‘Jumlahnya adalah’, j : 4);

jika j = 5 hasilnya adalah

Jumlahnya adalah 5

Contoh:

write(‘Jumlahnya adalah’, j : 3);

jika j=15000 hasilnya adalah

(19)

Menentukan Jumlah angka desimal:

data : lebar_medan : jumlah_angka_desimal

Contoh:

Jika j = 12345.678

pernyataan Hasil

write(‘J =‘, j) J = 1.2345678E+04

write(‘J =‘, j : 12) J = 1.23457E+04 write(‘J =‘, j : 18) J = 1.23456780000E+04 write(‘J =‘, j : 10 : 3) J = 12345.678

write(‘J =‘, j : 8 : 1) J = 12345.7

Struktur Kontrol

• Loop Bersyarat vs Tidak Bersyarat

– Bersyarat: Melakukan pekerjaan berulang, berhenti karena kondisi tertentu

– Tidak Bersyarat: melakukan pekerjaan berulang sampai hitungan tertentu

• Eksekusi Bersyarat

– Dieksekusi jika kondisi tertentu terpenuhi

While – Do

loop bersyarat (kondisional) Sintaks:

While ungkapan_boolean Do pernyataan Contoh:

digit:=1;

while digit <= 10 Do Begin

writeln(digit); digit:=digit+1 End;

(20)

Repeat - Until

loop bersyarat (kondisional) Sintaks:

Repeat pernyataan2 Until ungkapan_boolean Contoh:

digit:=1; repeat

Begin

writeln(digit); digit:=digit+1 end

Until digit > 10;

For - Do

loop tidak bersyarat Sintaks:

for var_kontrol := nilai_1 to nilai_2 Do pernyataan Contoh:

juml := 0;

for hit := 1 to n Do Begin

readln(x); juml:=juml+x end;

writeln(‘Jumlah = ‘, juml);

Nested (Bersarang)

Bersarang: Struktur kontrol bisa berada di struktur yang lain (embedded). Struktur dalam tidak harus sama dengan struktur luar

Struktur yang tercakup (embedded) seluruhnya berada dalam struktur luar Tdk ada overlap: tercakup sebagian

Contoh

For lp := 1 to lpmak Do Begin

(21)

repeat … until hit > n; …

end

If – then – else

Struktur kontrol bersyarat: tindakan diambil jika kondisi terpenuhi Sintaks:

If ungkapan_boolean then pernyataan Contoh:

If hitungan <= 100 then hitungan := hitungan + 1;

Case – of

Kontrol kondisional yang memungkinkan sekelompok pernyataan dipilih Sintaks:

Case ungkapan of

label_kasus_1 : pernyataan_1; label_kasus_2 : pernyataan_2; …

label_kasus_n : pernyataan_n End

Contoh:

Case pilihan of

‘M’ : writeln(‘Merah’); ‘J’ : writeln(‘Jingga’); ‘K’ : writeln(‘Kuning’) End

Goto

Digunakan untuk loncat ke suatu titik (label) Sintaks:

(22)

Label 10, selesai …

10 : read(a); …

Goto 10; ..

Prosedur dan Fungsi

Prosedur dan Fungsi merupakan wujud pemrograman modular. Modul (Prosedur dan Fungsi) menangani sub (bagian) masalah.

Modul digunakan jika ada bagian program yang akan dikerjakan beberapa kali (berulang) dari banyak tempat.

Program menjadi lebih ringkas.

Program lebih mudah dipahami (logical clarity).

Prosedur

ProsedurBagian struktur program, dikenal sebagai subroutine. Diacu dengan namanya, diikuti parameter jika ada.

Parameter berada di dalam tanda kurung, dipisahkan dengan koma jika banyak Mengacu prosedur berarti mengakses atau memanggil.

Jika prosedur dipanggil, kendali berpindah ke prosedur dan jika sudah selesai, kendali kembali ke pemanggil.

Prosedur bisa bersarang (nested)

Cakupan Nama (scope)

Pemrograman modular mengenal variabel/konstanta global dan lokal Program

global

Prosedur1 lokal1

Prosedur2 lokal2

•Variabel/konstanta global dikenal di seluruh program

•Variabel/konstanta lokal1 dikenal di Prosedur1 saja

•Variabel/konstanta lokal2 dikenal di Prosedur2 saja

(23)

Variabel Global

– Variabel global sedapat mungkin dihindari karena perubahan pada nilai variabel global harus diketahui oleh semua pengguna agar tidak menimbulkan kekeliruan. Ini sulit dilakukan.

– Jika kita mengambil nilai variabel global, kita tidak tahu mungkin nilainya sudah tidak valid.

– Komunikasi data/informasi (yang besar) sulit diwujudkan dengan variabel global

Parameter

Digunakan untuk komunikasi data antar prosedur/program. Solusi terhadap masalah variabel global.

Parameter aktual: parameter milik pemanggil. Parameter formal: parameter milik prosedur.

Jumlah param aktual dalam pemanggilan harus sama dengan jumlah param formal. Type param aktual sama dgn type param formal.

Contoh

Program x;

Var a, b, c, d: real; (* aktual *)

procedure p(x, y: real); begin

(* mengolah x dan y *) end;

Begin …

p(a, b); (* aktual *) …

(24)

Parameter Nilai

Parameter input karena merupakan input (sudah bernilai) bagi prosedur.fungsi. Dalam kasus ini nilai parameter aktual diberikan ke formal dan parameter aktual harus sudah bernilai sebelum pemanggilan atau berupa konstanta, ungkapan.

Nilai param aktual tetap.

Ini disebut juga komunikasi data dgn nilai (pass by value) Contoh

Program x;

Var a, b, c, d: integer;

procedure p(x, y: real); begin

(* mengolah x dan y *) end;

Begin … p(2, 3); … p(1, 2); … End.

Parameter Variabel

Nilai parameter aktual disubstitusi ke formal. Nilai aktual mengikuti formal. Dideklarasikan dengan VAR di dalam tanda kurung.

Ini dikenal sebagai komunikasi data dengan acuan (pass by reference)

Contoh

Program x;

Var a, b, c, d: real; (* aktual *)

(25)

(* mengolah x dan y *) end;

Begin …

p(a, b); (* mengikuti x, y *) …

p(c, d); (* mengikuti x, y *) …

End.

Fungsi

Seperti prosedur kecuali ada pengembalian satu nilai Deklarasi

Function nama_fungsi(param) : jenis_nilai Contoh

Function faktorial (n : integer) : integer; var faktor:integer;

begin … end;

Rekursi

Pascal mengenal rekursi: prosedur/fungsi yang memanggil dirinya sendiri.

Karena itu harus ada cara untuk mengakhiri pemanggilan agar tidak terus looping. Contoh

Function faktorial (n : integer) : integer; var faktor:integer;

begin

if n<= 1 then faktorial := 1; (* mengakhiri rekursi *) else

faktorial := n*faktorial(n-1); (* setiap pemanggilan n berkurang 1

(26)

Lampiran

Turbo Pascal for Windows

Jika belum ada, install program • Cara:

– Dari cd, klik install.exe – Biarkan melakukan install

– Jika sudah selesai instalasi, klik ganda TPW atau dari menu start  All Program

– Muncul window integrated development environment (IDE)

(27)

Referensi

Dokumen terkait

Lukisan berjudul Women III adalah merupakan hasil karya yang dibuat oleh seniman yang menganut aliran lukisan abstrak ekspresionis willem de Kooning dan merupakan salah satu

• Hubungan Kemanusiaan atau gaya yang lunak dihubungkan pada pemimpin yang tidak k dihubungkan pada pemimpin yang tidak mempertimbangkan perbedaan yang besar diantara teman-teman

Penelitian yang dilakukan oleh Riska (2013) berjudul “Pengaruh Rasio Keuangan Dalam Memprediksi Pertumbuhan Laba (Studi Kasus Pada Perusahaan Otomotif Yang Terdaftar Di Bei)”

Berlandaskan kepada kepercayaan serta nilai-nilai islam, Islamic Relief berhasrat mewujudkan dunia yang perihatin di mana komuniti diupayakan, tanggungjawab sosial dilaksanakan dan

Harus memenuhi ketentuan Cara Pembuatan Obat yang Baik (CPOB) yangditetapkan oleh Menteri dalam melakukan pekerjaan kefarmasian dalam produksi sediaan farmasi, termasuk di

Selama proses GLS, peneliti melakukan pembelajaran dengan memberikan materi teknik pembelajaran menulis dan membaca kepada siswa, selanjutnya memberikan instrumen untuk

Hal ini dapat dilihat pada analisis data hasil belajar siklus I, setelah dilaksanakan pembelajaran IPA dengan menerapkan pendekatan saintifik berbantuan Project

Kabupaten Tapanuli Selatan adalah sebagaimana dimaksud dalam Undang-Undang Darurat Nomor 7 Tahun 1956 tentang Pembentukan Daerah Otonom Kabupaten-Kabupaten Dalam