Dasar-dasar Pemrograman Content :
Pengertian Program dan Algoritma Algoritma
Konstanta dan Variabel
Operasi Assignment, Assignment, Read & Write
Struktur Selection dalam algoritma
Struktur Repetition dalam algoritma
Pemrograman Modular
Jurusan Teknik Teknik Komputer dan
1
Pengertian Umum Program Kumpulan "OPERASI" ( atau langkah kerja ) yang tersusun dengan aturan tertentu, dinyatakan melalui "bahasa" tertentu, dimaksudkan untuk dilakukan oleh suatu "pelaksana" tertentu, untuk keadaa an akhir" khi r" mencapai suatu " keada yang diinginkan, bertolak dari "keadaan awal" tertentu pula. Jurusan Teknik Teknik Komputer dan
2
Pengertian Umum Program Kumpulan "OPERASI" ( atau langkah kerja ) yang tersusun dengan aturan tertentu, dinyatakan melalui "bahasa" tertentu, dimaksudkan untuk dilakukan oleh suatu "pelaksana" tertentu, untuk keadaa an akhir" khi r" mencapai suatu " keada yang diinginkan, bertolak dari "keadaan awal" tertentu pula. Jurusan Teknik Teknik Komputer dan
2
Aspek Kunci Sebuah Program. FINAL STATE
atau keadaan akhir, akhir, merupakan penterjemahan tujuan program ybs.
INITIAL STATE
atau keadaan awal, merupakan titik tolak program ybs.
OPERASI
langkah kerja dalam program.
STRUKTUR
aturan hubungan dan susunan operasi operasi.
PELAKSANA
atau lazim disebut PEMROSES, yang menjalankan setiap operasi dalam program.
BAHASA
aturan untuk menyatakan operasi dan struktur. Jurusan Teknik Teknik Komputer dan
3
Program Komputer Program komputer = program yang pelaksananya adalah komputer. Komputer pada dasarnya adalah pemroses logika elementer ( biner ), ), dengan objek nilai biner ( octal/ hexadecimal ) yang merepresentasikan data atau objek arsitektural komputer ybs. Dengan kata lain, dalam pemrogramannya hanya boleh dipergunakan :
Oper Operas asii logik ogika a elem elemen ente terr (And And, or, or, not) ot)
Obje Objek k nil nilai bine iner/ octal ctal// hexad exadec ecim ima al
Jurusan Teknik Teknik Komputer dan
4
Algoritma Algoritma ada, dikarenakan dikarenak an dirasakan perlu adanya suatu cara untuk melepaskan diri dari pengaruh keragaman bahasa pemrograman dalam penulisan kandungan logika, terutama dalam kegiatan studi serta perancangan program. Definisi : “Pernyataan logika yang merepresentasikan suatu proses transformasi dari suatu initial state ke final state yang didefinisikan” Jurusan Teknik Teknik Komputer dan
5
Konsep dasar dalam Algoritma
Data, Konstanta dan variabel
File dan I/O device
Struktur Algoritma
State dan kondisi
Jurusan Teknik Komputer dan
6
Konsep Data Data adalah rekaman mengenai : fakta : sesuatu yang benar benar ada, atau ide : sesuatu yg dibayangkan, hanya ada dalam pikiran manusia Data dapat menyangkut :
event : peristiwa, serta konsep : benda, objek, jenis dan propertinya
Sedangkan Informasi (menurut Langeford) adalah : “ tambahan pengetahuan yang diperoleh dari data” Berarti informasi bersifat subjektif, sedangkan data bersifat objektif Jurusan Teknik Komputer dan
7
Data
Variabel dan Konstanta
Variabel merupakan wadah/label data yang memiliki tipe data tertentu, sehingga isi dari variabel dapat berubah. Konstanta adalah suatu nilai atau besaran data yang sifatnya tetap Aturan Penamaan Variabel :
Harus Unik (tidak ada nama yang sama)
Dimulai dengan huruf dan tidak ada spasi Jurusan Teknik Komputer dan
8
Jenis Data
Tingkat Primitif (disebut juga elementer/ atomik) Dapat bertype : Nilai Numerik, Lambang alphanumerik, Nilai Logika (boolean) dan Pointer
Tingkat Non Primitif (kombinasi, abstrak) Dapat berupa Array, struktur/record, Linked List
Masing-masing type data memiliki operasi yang dapat diberikan, seperti operasi matematis untuk type numerik, operasi logika (and, or, not, xor) untuk type boolean dan “ord” serta “chr” untuk type alphanumerik Jurusan Teknik Komputer dan
9
Operasi Assignment
Operasi assignment ialah operasi pemberian nilai ( baru ) kepada variabel, syntaks algoritmiknya : . Dalam sejarah kehidupannya suatu variabel dapat dianggap tidak mempunyai nilai awal, dapat pula dianggap sudah mempunyai nilai awal. Kemudian sepanjang kehidupannya variabel ybs akan diubah-ubah nilainya sesuai dengan keperluan. Ada 2 macam assignment :
: pemberian nilai dengan assignment langsung menggunakan konstanta assignment tidak langsung : pemberian nilai dengan menggunakan kombinasi dari konstanta, nilai variabel lain, dan operator. Jurusan Teknik Komputer dan
10
Syarat Sahih Operasi Assignment
Operasi assignment dianggap sahih jika
type data dari nilai yang diberikan (sisi kanan operator ) mempunyai type data yang sesuai dengan type data variabelnya.
Operasi yang dilakukan disebelah kanan tanda , memenuhi syarat type operator.
Memenuhi syarat range dari array/himpunan yang didefinisikan.
Jurusan Teknik Komputer dan
11
OPERASI BACA (dari) DAN TULIS (ke) I/O DEVICE DEFINISI YANG DIPERLUKAN : I/O device tidak memiliki fungsi untuk “mengingat” File/storage device memiliki fungsi untuk “mengingat”. OPERASI BACA DARI I/O DEVICE. “Membaca” adalah Menerima data dari Input device dan menampungnya dalam variabel tertentu. Notasinya : Read (Nama Input Device) Nama_variabel
Jurusan Teknik Komputer dan
12
OPERASI TULIS KE OUTPUT DEVICE. “Menulis” adalah Mengirimkan data yang ditampung dalam variabel tertentu ke Output device. Notasinya : Write (Nama Output Dev) Nama_variabel Contoh operasi baca dan tulis : Read (keyboard) N i 1 while ( i N) do write (layar) i Read (keyboard) X(i) i i+1 endwhile
Jurusan Teknik Komputer dan
13
Struktur Program. Struktur primitif adalah : struktur yang tidak dapat dinyatakan melalui struktur lainnya (tidak dapat diuraikan lagi); merupakan komponen dasar pembentukan struktur algoritma.
Menurut Bohm dan Jacopini terdapat 3 macam struktur primitif non paralel (= struktur sequential), yaitu : Sequence adalah suatu operasi atau kelompok operasi yang dilaksanakan setelah operasi atau kelompok operasi lain. Selection adalah struktur yang memilih satu atau beberapa kelompok operasi untuk dilaksanakan berdasarkan hasil evaluasi terhadap suatu kondisi. Repetition adalah struktur yang melakukan satu operasi atau beberapa kelompok operasi untuk dilaksanakan berulang-ulang berdasarkan hasil evaluasi terhadap suatu kondisi. Jurusan Teknik Komputer dan
14
Struktur Program : Sequence Merupakan struktur kontrol algoritmik yang paling sederhana. Sequence adalah sederetan instruksi primitif dan / atau aksi yang akan dilaksanakan / dieksekusi oleh komputer berdasarkan urutan penulisannya Initial state dari sequence adalah state awal yang harus dipenuhi dan Final State dari Sequence adalah final state setelah instruksi/aksi terakhir. Jurusan Teknik Komputer dan
15
Program JARAK
{ Dibaca v dan t, menghitung S = v*t dan menuliskan hasilnya } Kamus
v : integer { kecepatan, dalam m/detik } t : integer { waktu, dalam detik } S : integer {jarak (m) yg ditempuh dalam waktu t dengan kecepatan v } Algoritma :
Read (keyboard) v,t S
v
* t
Write (layar) S Jurusan Teknik Komputer dan
16
Program DURASI
{Input
:
Output
JamAwal, JamAkhir bertype Jam (HH:MM:DD); JamAkhir selalu JamAwal : Selisih waktu dalam detik antara JamAwal JamAkhir
dan dan
}
Kamus Type Jam : < HH : integer [0..24], MM : integer [0..59],DD : integer [0..59] > JamAwal, JamAkhir : Jam Durasi : integer
0
Algoritma : Read (keyboard) JamAwal,JamAkhir Durasi
(JamAkhir.HH*3600
+ JamAkhir.MM*60 + JamAkhir.DD) – (JamAwal.HH*3600 + JamAwal.MM*60 + JamAwal.DD)
Write (layar) Durasi Jurusan Teknik Komputer dan
17
Struktur Program : Selection Biasa dikenal dengan istilah Analisa Kasus. Analisa Kasus ini adalah konstruktor terpenting dalam Algoritma, yaitu memungkinkan untuk membuat teks yang sama dalam program namun menghasilkan eksekusi yang berbeda-beda. Mendefinisikan analisa kasus adalah mendefinisikan : Kondisi, berupa ekspresi yang menghasilkan true/false Aksi, yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi ybs. dipenuhi
Konstruksi dari suatu analisa kasus dapat dimulai dengan menentukan semua kondisi yang mungkin (dengan melakukan partisi domain) atau dimulai dari menentukan variasi aksi. Jurusan Teknik Komputer dan
18
Notasi Algoritmik : Analisa Kasus Untuk Analisa kasus yang umum (banyak kondisi) : depend on (nama variabel)
: : : …
: Catatan : kondisi-1 kondisi-2 … kondisi-n = kondisi-1 kondisi-2 … kondisi-n berarti kondisi mencakup semua kemungkinan. Jurusan Teknik Komputer dan
19
Program WUJUDAIR { Dibaca T (integer), temperatur air (dalam 0C) pada tekanan atmosfir; Harus dituliskan wujud air pada temperatur T, dengan memisahkan kasus peralihan sebagai kasus khusus }
Kamus T : integer
Algoritma : Read (keyboard) T Depend on (T) T < 0 : write (layar) ‘Beku’ T = 0 : write (layar) ‘Beku-cair’ 0 < T < 100 T > 100
: write (layar) ‘Cair’ : write (layar) ‘Uap’
T = 100
: write (layar) ‘Cair-Uap’ Jurusan Teknik Komputer dan
20
Notasi Algoritmik : Analisa Kasus Untuk kasus sangat khusus, yaitu hanya satu kasus : if(kondisi) then aksi endif
Untuk kasus sangat khusus, yaitu dua kasus komplementer : if(kondisi) then aksi-1 else aksi-2 endif
Catatan : Hati-hati dalam memakai “else” yang berarti kondisi implisit yang merupakan negasi dari kondisi. Penulisan kondisi “else” secara eksplisit sangat disarankan Jurusan Teknik Komputer dan
21
Program MENCARI_MAX {Dibaca dua buah bilangan a dan b (integer), kemudian cari yang nilainya lebih besar, kemudian tampilkan nilai yang lebih besar }
Kamus a,b,Max : integer
Algoritma : Read (keyboard) a, b If a > b Then Max a Else Max b Endif
Write (layar) Max
Jurusan Teknik Komputer dan
22
OPERASI SELECTION BENTUK LAIN
Operasi ini disebut juga Nested IF (IF bersarang ), bentuk umumnya : IF THEN
Blok Operasi 1 ELSE IF THEN ……
EndIF ENDIF
Jika bernilai True, maka Blok Operasi 1 akan dieksekusi/dikerjakan. Jika bernilai False, maka bagian ElSE IF …. ENDIF yg akan dieksekusi /dikerjakan. Blok Operasi dapat berupa operasi tunggal (single statement) atau kumpulan operasi (compound statement) Jurusan Teknik Komputer dan
23
Contoh : READ (Keyboard) A READ (KeyBoard) B IF A < B THEN WRITE (Monitor) “ A lebih kecil dari B ” ELSE IF A > B THEN WRITE (Monitor) “ A lebih besar dari B ” ELSE WRITE (Monitor) “ A sama dengan B ” EndIF ENDIF WRITE (Monitor) “ Nilai A : “, A WRITE (Monitor) “ Nilai B : “, B
Operasi IF yang bersarang (nested) boleh bentuk IF yang manapun, serta operasi dalam Nested IF boleh operasi apapun. Jurusan Teknik Komputer dan
24
Operasi Selection : Case
Logika operasi ini merupakan pengembangan dari logika operasi Nested IF, bentuk umumnya : CASE Of Nilai 1 : Blok Operasi 1 Nilai 2 : Blok Operasi 2 ………….
Nilai n : Blok Operasi n DEFAULT
Blok Operasi ENDCASE
adalah variabel bertipe ordinal (terbilang) misalnya
Bilangan Bulat (Integer) dan Alphanumerik.
Blok Operasi, Blok Operasi 1, …, dan Blok Operasi n :
dapat berupa operasi tunggal (single statement) atau kumpulan operasi (compound statement) Jurusan Teknik Komputer dan
25
Contoh Case : READ (Keyboard) A CASE A OF 1 : WRITE (Monitor) “ Nilai A = 1 ” 2 : WRITE (Monitor) “ Nilai A = 2 ” 3 : WRITE (Monitor) “ Nilai A = 3 ”
DEFAULT WRITE (Monitor) “ Nilai A bukan 1, 2 dan 3”
ENDCASE
Jurusan Teknik Komputer dan
26
Struktur Program : Repetition
Operasi Repetition (Loop) adalah operasi yang berfungsi untuk mengulang Blok Operasi. Proses Loop dibangun oleh empat elemen : Initial Loop, Final Loop, Next Step, dan Blok Operasi.
Initial Loop adalah operasi (umumnya assignment) yang menyebabkan proses pengulangan dikerjakan atau tidak dikerjakan Final Loop adalah yang bernilai True atau False. Nilai logika ini menyebabkan operasi pengulangan dilakukan terus atau berhenti. Next Step adalah operasi yang menghasilkan suatu nilai. Nilai ini akan dievaluasi pada bagian Final Loop, sehingga proses pengulangan berhenti atau diteruskan. Blok Operasi adalah operasi yang diulang. Operasi ini dapat berupa operasi tunggal (single statement) atau kumpulan operasi (compound statement).
Jurusan Teknik Komputer dan
27
Jenis Repetition
Operasi Loop mempunyai beberapa macam bentuk, diantaranya :
1.
WHILE … DO … ENDWHILE
2.
REPEAT … UNTIL …
3.
FOR (… TO …, ….) DO …. ENDFOR
Jurusan Teknik Komputer dan
28
Operasi Loop Bentuk ke 1 :
Bentuk umum : INITIAL LOOP
WHILE
FINAL LOOP DO BLOK OPERASI NEXT STEP
ENDWHILE
Jika FINAL LOOP bernilai True maka operasi loop dilakukan, jika bernilai False maka operasi loop tidak dilakukan / berhenti.
Jurusan Teknik Komputer dan
29
Contoh Operasi Loop Bentuk 1 : Program TampilA
{Memberi
harga
terhadap
variabel
A
kemudian
menampilkan
Isinya sebanyak 10 kali}
Kamus A : Integer
1
Algoritma : A 1 WHILE
A < 10 DO WRITE (Layar) A A A + 1
ENDWHILE Jurusan Teknik Komputer dan
30
Operasi Loop Bentuk ke 2 :
Bentuk umum : INITIAL LOOP
REPEAT BLOK OPERASI NEXT STEP
UNTIL FINAL LOOP
Jika FINAL LOOP bernilai False maka operasi loop dilakukan, jika bernilai True maka operasi loop tidak dilakukan / berhenti. Final Loop dapat diartikan juga sebagai Kondisi berhenti dari pengulangan bentuk ini. Jurusan Teknik Komputer dan
31
Contoh Operasi Loop Bentuk 2 : Program TampilA {Memberi harga terhadap variabel menampilkan Isinya sebanyak 10 kali}
A
kemudian
Kamus A : Integer
1
Algoritma : A 1 REPEAT
WRITE (Layar) A A A + 1 UNTIL (A 10)
Jurusan Teknik Komputer dan
32
Contoh Loop : Bentuk (1)
Program IsiArray {Memberi harga terhadap variabel X yang bertype array satu dimensi dengan maksimal elemen N buah, oleh nilai indeksnya}
Kamus i : integer X : Array integer dengan N elemen; N
1
Algoritma : i 1 WHILE (i
N) DO
X[i] i i i + 1 ENDWHILE Jurusan Teknik Komputer dan
33
Contoh Loop : Bentuk (2)
Program IsiArray {Memberi harga terhadap variabel X yang bertype array satu dimensi dengan maksimal elemen N buah, oleh nilai indeksnya}
Kamus i : integer X : Array integer dengan N elemen; N
1
Algoritma : i 1 REPEAT
X[i] i i i + 1 UNTIL (i > N) Jurusan Teknik Komputer dan
34
Perbedaan bentuk (1) dan (2) : Pembeda
Bentuk (1) :
Bentuk (2) :
While do…Endwhile
Repeat … Until
Jumlah Minimal Pengulangan terhadap Blok operasi
0 kali
1 kali
Pengulangan dilakukan selama Kondisi
True
False
Pengulangan berakhir jika Final Loop
False
True
Jurusan Teknik Komputer dan
35
Operasi Loop Bentuk ke 3 : Biasa disebut dengan pengulangan terbilang atau pengulangan berdasarkan pencacah, sedangkan bentuk(1) dan (2) dikenal dengan pengulangan berdasarkan Kondisi pengulangan
Bentuk umum : FOR (Initial loop TO Final Loop, Next Step) DO BLOK OPERASI
ENDFOR
Pencacah adalah harga yang diberikan dalam initial Loop sampai Final Loop, misalnya (i 1 to 10, i i+1) Jurusan Teknik Komputer dan
36
Catatan untuk Loop bentuk (3)
Type Pencacah harus suatu nilai yang terdefinisi suksesor (nilai selanjutnya) dan predecesor (nilai sebelumnya) Setelah pelaksanaan Loop selesai, harga yang tersimpan pada variabel pencacah tidak terdefinisi/tidak pasti, sehingga jika hendak dipakai harus diinisialisasi kembali Biasanya Blok Operasi akan diulang secara otomatis (tidak diperlukan Next Step) karena nilai suksesor dan predecesor diketahui dalam range tertentu ; namun dalam implementasi di bahasa pemrograman tertentu bisa saja diberikan Next Step. Jurusan Teknik Komputer dan
37
Contoh Operasi Loop Bentuk 3 : Program TampilA {Memberi harga terhadap variabel menampilkan Isinya sebanyak 10 kali}
A
kemudian
Kamus A : Integer
1
Algoritma : (A 1 TO 10, A A + 1) DO FOR WRITE (Layar) A ENDFOR
Jurusan Teknik Komputer dan
38
Panduan Pembuatan Struktur Repetition 1.
2.
3. 4.
Cari urutan atau caranya berurut (keterurutan yang diinginkan), sehingga akan menghasilkan Initial Loop, Next Step dan Final Loop Definisikan bagaimana dan dimana nilai keterurutan harus berubah, akan mengindikasikan operasi apa yang akan diberikan dalam Blok Operasi dan Next Step Identifikasi berapa jumlah variabel yang dibutuhkan Lakukan proses yang berulang untuk melihat dan menentukan point 1 dan 2 di atas. Jurusan Teknik Komputer dan
39
Materi Penutup : Bahasan Struktur Program
Sebuah program komputer memungkinkan dipakainya ketiga struktur yang sudah dibahas, baik sequence, selection maupun Repetition; dengan posisi dapat saling terpisah antar satu struktur dengan struktur lainnya ataupun ada suatu struktur di dalam struktur yang lain (biasa dikenal dengan compound structur ); Fungsi dari struktur program adalah agar Algoritma dapat mencapai state yang diinginkan, dengan kata lain algoritm a harus benar , selain itu juga Algoritma harus memperhitungkan kemungkinan sesuai dengan asumsi masalah; Algoritma yang baik dipilih dari beberapa algoritma yang benar (jadi pertama-tama harus ada dulu beberapa algoritma yang benar !!)
Jurusan Teknik Komputer dan
40
Latihan : Bahasan Struktur Program
Untuk pemahaman dari ketiga struktur yang telah dibahas, dapat dilakukan latihan dengan model :
Studi kasus , misalnya :
Pencarian nilai minimal dan maksimal dari 2 bilangan, 3 bilangan ,…, n bilangan.
Pencarian posisi minimal dan maksimal dari suatu array (Algoritma searching).
Pengisian Array, baik satu maupun dua dimensi, dengan nilai yang keterurutannya jelas.
Pemberian contoh Algoritma yang memiliki ‘ BUG’.
Jurusan Teknik Komputer dan
41
HIRARKI PROGRAM DAN PEMODULAN Program terdiri atas kumpulan MODUL yang saling berhubungan. Struktur program bukan saja hasil dari algoritma yang ada didalam modulnya, akan tetapi juga merupakan semacam "abstraksi" hubungan antar modulnya. MODUL : bagian dari program/algoritma yang merupakan suatu unit dengan tujuan yang spesifik. Beberapa keuntungan pembuatan program secara Modular Reusability, modul yang sama dipakai berulang kali; Partisi permasalahan, sehingga lebih sederhana; Kemudahan Debug/Test dan Traceability
Jurusan Teknik Komputer dan
42
Istilah-istilah Pemodulan Istilah-istilah yang serupa tapi tak sama :
PROCEDURE : biasa dipergunakan dalam konteks algoritma, dipergunakan juga dalam bahasa PASCAL.
FUNGSI : dipergunakan dalam bahasa PASCAL untuk menyatakan unit yang "menghasilkan" 1 buah nilai saja.
SUB-PROGRAM FORTRAN.
RUTIN/SUB-RUTIN FORTRAN.
:
dipergunakan :
dipergunakan
Dalam pembahasan selanjutnya Procedure dan Function (Fungsi)
dalam
bahasa
dalam
bahasa
digunakan
istilah
Jurusan Teknik Komputer dan
43
Ilustrasi modul Program : Hubungan Elementer Antar Modul Adalah Sbb : Ada Modul Yang "Calling Module"
Calling Module
Memanggil Atau
Ada Modul Yang Dipanggil Atau "Called Module"
Calling Module Memasok Parameter Ke Called Module
Parameter
Called Module Memberikan Hasil Dengan 2 Cara ( Prosedur Atau Fungsi Dalam Pascal )
Called Module
Keadaan Tersebut Sering Digambarkan Melalui Diagram Hubungan Disamping. Jurusan Teknik Komputer dan
44
Parameter dalam Modul dan jenisnya Dalam membuat dan mengimplementasikan suatu Modul dalam program / algoritma dimungkinkan adanya variabel atau konstanta yang dikirim dari modul pemanggil ke modul yang dipanggil untuk dieksekusi dalam suatu Modul, peran tersebut biasa dikenal dengan sebutan PARAMETER. Jenis Parameter :
Parameter Formal, yaitu nama-nama variabel (list nama) yang dipakai dalam mendefinisikan suatu procedure. List nama ini akan diasosiasikan terhadap variabel lain pada saat pemanggilan. Berdasarkan ketentuan nilainya terbagi menjadi : Parameter Input, Parameter Output dan Parameter Input / Output. Jurusan Teknik Komputer dan
45
Jenis Parameter (2)
Parameter Aktual, yaitu nama-nama informasi yang dipakai ketika procedure dipakai (“dipanggil”). Dapat berupa nama atau harga, tetapi harus berupa nama jika parameter tersebut adalah parameter output. Sesuai dengan jenis parameter formal (yang sudah didefinisikan), maka pemanggilan parameter aktual memiliki sifat, jika
Parameter Input harus terdefinisi nilainya
Parameter Output tidak perlu terdefinisi nilainya, tetapi justru setelah pemanggilan procedure akan dimanfaatkan oleh instruksi berikutnya;
Parameter Input/Output harus terdefinisi nilainya dan nilai baru yang diperoleh akan dimanfaatkan oleh instruksi berikutnya. Jurusan Teknik Komputer dan
46
Sub Program
Procedure
Definisi : Procedure adalah sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan perubahan state yang terdefinisi.
Mendefinisikan (membuat spesifikasi) Procedure berarti menentukan nama Procedure serta parameternya (jika ada) dan mendefinisikan keadaan awal (Initial State) dan keadaan akhir (Final State) dari Procedure tersebut. Secara sederhana, dapat diartikan bahwa sebuah procedure yang terdefinisi “disimpan” di tempat lain, dan ketika “dipanggil” (dengan menyebutkan namanya) “seakan-akan” teks yang disimpan di tempat lain itu menggantikan teks pemanggilan. Jurusan Teknik Komputer dan
47
Sub Program
Function
Definisi : Function adalah sebuah transformasi akibat pemetaan suatu nilai ke nilai lain. Secara Algoritmik, sebuah function akan menerima suatu harga yang diberikan melalui parameter formal bertype tertentu (jika ada) dan menghasilkan suatu nilai sesuai dengan domain yang didefinisikan dalam spesifikasinya. Function adalah pemetaan suatu domain ke range domain tertentu. Function yang didefinisikan dapat “dipanggil” untuk dieksekusi lewat namanya, dan dengan diberikan parameter aktualnya (jika ada). Memiliki instruksi yang mengirimkan suatu harga yang dihasilkan oleh function, misalnya dengan : Return (). Jurusan Teknik Komputer dan
48
Perjanjian penulisan Modul Perhatikan Perjanjian Penulisan Modul Yang Dipergunakan :
Setiap Modul Dimulai Dengan Nama Modul Dan Asumsi Nama parameter Input Serta Output ( Jika Ada ), Diakhiri Dengan End Diikuti Nama Modul; Semua Diberi Garis Bawah. Ada Garis Penghubung Awal Definisi Dan Akhir Definisi Sebuah Modul.
Contoh : Procedure NamaProcedure ()
Function NamaF () type hasil
{Definisi parameter dan jenis passing parameter}
Begin
Begin
Algoritma Algoritma
End NamaProcedure
Return() End NamaF Jurusan Teknik Komputer dan
49
PENGOPERAN NILAI PARAMETER ( PARAMETER-PASSING ). Pengoperan nilai dapat dilakukan melalui 2 cara : Passing by value : yaitu dengan menyalin nilai dari parameter aktual ke parameter formal. Perhatikan bahwa setelah modul selesai dieksekusi tidak terjadi penyalinan nilai apapun dari parameter formal ke parameter aktual. Passing by address : yaitu memberikan alamat dari parameter aktual ke parameter formal, sehingga apa pun yang terjadi pada parameter formal juga sebenarnya terjadi pada parameter aktual. Efek dari passing cara ini adalah seolah-olah nilai yang sudah dikirimkan akan dikirim balik ke modul yang memanggilnya. Jurusan Teknik Komputer dan
50
Variabel Lokal dan Variabel Global.
Variabel lokal adalah variabel yang hanya dikenal dalam lingkup sebuah modul saja, sedangkan variabel global adalah variabel yang dikenal oleh semua modul yang ada (yang tidak terdefinisi dalam list parameter formal atau dalam variabel lokal) .
Variabel global dapat digunakan untuk menampung nilai nilai yang dipergunakan baik pada modul pemanggil maupun modul yang dipanggil. Akan tetapi sebaiknya tidak dipergunakan untuk menggantikan mekanisme passing parameter ( kekecualian ada untuk beberapa kasus khusus ). Jika prinsip ini dilanggar maka besar kemungkinan timbulnya semacam "kericuhan" dalam program ybs.
Jurusan Teknik Komputer dan
51