You are on page 1of 23

MAKALAH ALGORITMA

IMPERATIVE
PROGRAMMING

UNIVERSITAS GUNADARMA
FAKULTAS ILMU KOMPUTER
BEKASI
2010

Disusun oleh :

 AHMAD RAMDANIE
 NINDYA
 RIZKY AGUNG
 SANTI PUSPITASARI
 SINTONG PARULIAN

Page 1
KATA PENGANTAR

Puji syukur kehadirat Allah yang telah melimpahkan rahmatnya kepada kami sehingga
kami dapat menyelesaikan makalah yang berjudul Imperative Programming.

Imperative Programming adalah bagian penting dari pemahaman mengenai Algoritma


dan Pemrograman , dan merupakan fondasi penting bagi ilmu komputer dan informatika.
Makalah ini dibuat dengan tujuan agar para pembacanya dapat lebih mudah untuk memahami
tentang Imperative Programming

.Kami menyadari penulisan dalam makalah ini masih jauh dari kata sempurna, maka dari
itu kami harapkan kritik dan saran yang membangun dari pembaca. Semoga makalah ini
bermanfaat untuk kita semua dan dapat menambahkan ilmu pengetahuan baru bagi kita semua.

Bekasi, 10 oktober 2010

Tim Penyusun

Page 2
DAFTAR ISI
                                                                                               
                                                                                                                         Halaman
 
Kata Pengantar..............................................................................................           1
Daftar Isi.......................................................................................................          2
BAB I PENDAHULUAN
1.1. Pendahuluan Imperative Programming................................ 3           
1.2. Sejarah Bahasa Imperative....................................................      3
BAB II PEMBAHASAN
2.1.Variabel dan Penugasan........................................................    5
2.2.Perintah Tidak Terstruktur ....................................................       10           
2.3.Pemrograman Terstruktur.......................................................        11
2.4.Sub program, Prosedur, dan Fungsi.......................................         19 
2.5.Penanganan Eksepsi………………………………………… 22                     
BAB III     PENUTUP ................................................................................. 
3.1. Kesimpulan...........................................................................          24
3.2. Referensi ………..………………………………………….         24
 
 
 
 
 

Page 3
BAB I
PENDAHULUAN

I.1. Pendahuluan Imperative Programming

Dalam ilmu komputer, imerative programming adalah paradigma pemrograman yang


mempunyai karakteristik berupa status dan insruksi/perintah untuk mengubah status program.
Status diwakili oleh variabel sedangkan instruksi diwakili oleh statemen.Dalam banyak cara
yang sama suasana hati yang imperatif dalam bahasa-bahasa alamiah mengungkapkan perintah
untuk mengambil tindakan, program-program penting menentukan urutan perintah untuk
komputer untuk melakukan.

Ciri-ciri pemrograman imperatif yaitu :


- Adanya instruksi/command/perintah/kalimat-kalimat perintah
contoh : GOTO 10
- Adanya status yang berubah
contoh : dengan adanya perintah GOTO 10 maka status program akan loncat mengerjakan
statemen yang ada di line number 10

Istilah ini digunakan dalam pemrograman deklaratif bertentangan, yang mengungkapkan apa
yang perlu dilakukan, tanpa resep bagaimana melakukannya dalam hal urutan tindakan yang
harus diambil. Pemrograman fungsional dan logis adalah contoh pendekatan yang lebih
deklaratif.

I.2.Sejarah Bahasa Imperative

Bahasa imperatif yang paling awal adalah bahasa mesin komputer yang asli. Dalam bahasa ini,
instruksi yang sangat sederhana, yang membuat implementasi hardware lebih mudah, tetapi
menghambat penciptaan program kompleks. FORTRAN, yang dikembangkan oleh John Backus
di IBM dimulai pada tahun 1954, adalah bahasa pemrograman besar pertama untuk
menghilangkan hambatan-hambatan yang disajikan oleh kode mesin dalam penciptaan program
kompleks. FORTRAN adalah bahasa yang diizinkan dikompilasi bernama variabel, ekspresi

Page 4
kompleks, subprogram, dan banyak fitur lain sekarang umum dalam bahasa imperatif. Dua
dekade berikutnya melihat perkembangan sejumlah besar lainnya tinggi tingkat bahasa
pemrograman imperatif. Pada akhir tahun 1950-an dan 1960-an, ALGOL dikembangkan untuk
memungkinkan algoritma matematika menjadi lebih mudah diungkapkan, dan bahkan menjabat
sebagai sistem operasi bahasa target untuk beberapa komputer. COBOL (1960) dan BASIC
(1964) sama-sama mencoba untuk membuat sintaks pemrograman lebih mirip bahasa Inggris.

Pada 1970-an, Pascal dikembangkan oleh Niklaus Wirth, dan C diciptakan oleh Dennis
Ritchie ketika ia bekerja di Bell Laboratories. Wirth terus desain Modula-2, dan Oberon. Untuk
kebutuhan Amerika Serikat Departemen Pertahanan, Jean Ichbiah dan sebuah tim di Honeywell
mulai merancang Ada pada tahun 1978, setelah tahun 4-proyek untuk menetapkan persyaratan
untuk bahasa. Spesifikasi ini pertama kali diterbitkan pada tahun 1983, dengan revisi pada tahun
1995 dan 2005 / 6.1980-an melihat pertumbuhan yang cepat tertarik pada pemrograman
berorientasi objek. Bahasa ini adalah suatu keharusan dalam gaya, namun menambahkan fitur
untuk mendukung objek. Dua dekade terakhir abad ke-20 melihat perkembangan sejumlah besar
seperti bahasa pemrograman. Smalltalk-80, awalnya dipahami oleh Alan Kay pada tahun 1969,
dirilis pada tahun 1980 oleh Xerox Palo Alto Research Center. Menggambar dari konsep
berorientasi obyek lain bahasa Simula (yang dianggap pertama di dunia pemrograman
berorientasi obyek-bahasa, yang dikembangkan pada akhir 1960-an)-Bjarne Stroustrup dirancang
C + +, sebuah bahasa berorientasi objek didasarkan pada C. C + + pertama kali dilaksanakan
pada tahun 1985. Pada akhir 1980-an dan 1990-an, yang penting bahasa-bahasa imperatif
menggambar di atas konsep berorientasi obyek adalah Perl, dirilis oleh Larry Wall pada tahun
1987; Python, yang dirilis oleh Guido van Rossum pada tahun 1990; PHP, dirilis oleh Rasmus
Lerdorf pada tahun 1994; Jawa, pertama kali dirilis oleh Sun Microsystems pada tahun 1994 dan
Ruby, dirilis pada 1995 oleh Yukihiro "matz" Matsumoto. Microsoft. NET platform (2002)
adalah pada keharusan inti sebagaimana bahasa target utamanya, VB.NET dan C #.

Page 5
BAB II
PEMBAHASAN

2.1. Variabel dan Penugasan

Komputer dalam arti yang sederhana adalah sebuah alat hitung yang penggunaanya berdasarkan
perintah-perintah,dan pada awalnya memang dibuat untuk membantu manusia dalam melakukan
kalkulasi numerik, sehingga memang tidak mengejutkan bahwa bahasa pemrograman juga
mengadopsi beberapa elemen tertentu dari aljabar, termasuk di antaranya adalah penggunaan
huruf atau kata sebagai pengganti angka.

Berikut adalah contoh dari beberapa aljabar sederhana:


A=8
B=5
C=A+B
Dalam hal penggunaanya komputer sudah tersistem dengan rapi dan dapat dioperasikan secara
mudah, dan bagi kita persamaan di atas memang merupakan persamaan yang sama sekali tidak
rumit, tetapi jika kita dapat membujuk komputer untuk menyelesaikan persamaan di atas, maka
kita juga dapat membujuknya untuk menyelesaikan persamaan atau masalah lainnya yang jauh
lebih kompleks. Sebagai langkah pertama, kita akan mencoba untuk melakukan konversi aljabar
di atas ke dalam sintaksis di dalam bahasa C#, dan bentuknya kira-kira seperti di bawah ini:

A = 3;
B = 5;
C = A + B;
Tiga baris kode di atas, tidaklah membentuk program C# yang komplet, tapi contoh kode di atas
dapat ditemukan dalam program C#, mungkin program yang kita dapat buat sendiri. Kita bisa
menulis kode di atas dengan menggunakan beberapa editor teks
(semacam notepad atauWordPad) hingga menggunakan alat bantu khusus yang didesain untuk
menyederhanakan pemrograman dengan menggunakan bahasa C#, maupun Microsoft Visual C#
Express Edition).Setelah menuliskan kode di atas, maka langkah selanjutnya yang harus kita
lakukan adalah mengubah kode di atas ke dalam bentuk berkas yang dapat dieksekusi (*.EXE)
yang dapat kita jalankan.

Perbedaan yang signifikan antara bentuk pertama (aljabar) dan bentuk kedua (kode dalam bentuk
bahasa C#) adalah bahwa setiap baris di dalam bahasa C# selalu diakhiri dengan menggunakan
karakter titik koma (semicolon). Setiap baris yang diakhiri dengan karakter titik koma disebut
dengan pernyataan program C# (C# program statement). Sebuah program komputer yang
Page 6
dibuat dengan menggunakan C# umumnya terdiri atas macam-macam statemen. Huruf A, B dan
C yang disebut di atas merupakan apa yang disebut sebagai variabel, dan setiap variabel
merepresentasikan lokasi di dalam memori di mana nilai dari variabel akan disimpan.
Penggunaan titik koma
Penggunaan tanda titik koma di dalam bahasa C# pada akhir statemen program merupakan
sebuah cara yang sangat umum dilakukan oleh bahasa-bahasa pemrograman yang diturunkan
dari bahasa ALGOL. Penggunaan tanda titik dua tersebut dilakukan karena C# mengizinkan
kode agar ditulis dalam bentuk yang bebas. Dalam C#, kita tidak perlu menulis kode dalam
baris-baris yang terlihat "bagus." Kita bisa saja menulis kode di atas dengan menggunakan cara
seperti di bawah ini:
A = 3; B = 2; C = A + B;
Atau, kita juga bisa menggunakan bentuk seperti di bawah ini, meski terlihat acak-acakan:

A = 3 ;B
= 2; C = A
+ B;
Meski terlihat acak-acakan oleh kita, komputer tidak akan kebingungan untuk memprosesnya,
tanpa ada keluhan. Komputer akan membedakan baris-baris kode statemen program dengan
menggunakan karakter titik dua, tidak peduli apakah sebuah baris tersebut dibagi ke dalam
banyak baris terpecah-pecah, atau baris yang digabungkan dalam satu baris yang terlihat "rapi."
Penggunaan spasi, dan baris baru di dalam program, dalam C# umumnya dikenal dengan
sebutan White Space (ruangan putih).
Penamaan Variabel
Meski A, B, C, dan Z adalah sebuah nama yang enak dibaca untuk nama-nama variabel, kita bisa
membuat variabel dengan nama-nama yang lebih enak untuk diingat, seperti:
variabel1 = 3;
Variabel1 = 2;
variAbel1 = variabel1 + Variabel1;
Bahasa C# merupakan bahasa pemrograman yang bersifat case-sensitive, artinya kita dapat
menggunakan karakter kapital (A sampai Z) dan huruf ordinal (a sampai z) sebagai nama
variabel, tapi memang harus ada konsistensi. Variabel1, variabel1 dan variAbel1 tidaklah sama!
Tiga variabel di atas adalah tiga variabel yang berbeda di dalam C#, meskipun dalam beberapa
bahasa seperti Pascal dan Visual Basic, merupakan variabel yang sama.

Page 7
Untuk aksara-aksara yang dapat diketik dengan mudah dengan menggunakan keyboard, C#
menawarkan beberapa peraturan dalam pemberian nama kepada variabel, yakni sebagai berikut:

 Nama-nama variabel harus dimulai dengan menggunakan sebuah


huruf atau karakter garis bawah (underscore).
 Nama-nama variabel harus mengandung hanya huruf (A - Z, a - z),
angka (0 - 9), dan karakter garis bawah (underscore).

Kata kunci (keyword) C#


Meski demikian, ada beberapa kata yang tidak dapat digunakan sebagai nama-nama variabel.
Kata-kata tersebut, dinamakan dengan C# Keyword (kata kunci C#), yang memang
direservasikan oleh C#. Kira-kira ada 87 buah keyword yang terdapat di dalam C# yang tidak
bisa digunakan di dalam melakukan penamaan variabel.
abstract as base bool break
byte case catch char checked
class const continue decimal default
delegate do double else enum
event explicit extern false finally
fixed float for foreach goto
if implicit in int interface
internal is lock long namespace
new null object operator out
override params private protected public
readonly ref return sbyte sealed
stackallo
short sizeof static string
c
struct switch this throw true
try typeof uint ulong unchecked
unsafe ushort using virtual void
volatile while add alias get
global partial remove set value
where yield

Page 8
Hungarian Notation
Salah satu konvensi penamaan yang sering digunakan adalah sebuah konvensi yang dikenal
dengan sebutan Hungarian Notation,

Dalam bentuknya yang paling sederhana, Hungarian Notation mengandung awalan dalam huruf
kecil yang menyatakan tipe data dari variabel tersebut. tabelnya adalah sbb :

Tipe
Prefiks
data

byte by
sbyte sb
ushort us
short s
int i
uint ui
long l
ulong ul
m
decimal atau
dec
string str
float fl
char ch
bool b
d
double atau
dbl
array arr

Page 9
Jenis – Jenis Variabel Bilangan
untuk jenis angka, C# mendukung tiga buah jenis:

 Ketika kita sedang menulis sebuah program, yang mengharuskan di


sana bilangan yang tidak boleh dibagi (bilangan bulat), seperti
halnya populasi siswa di sebuah sekolah, atau lain-lain, C#
menawarkan kepada kita apa yang disebut sebagai "integer."
Mustahil kan ada siswa hidup yang hanya ada badannya saja, atau
tangannya saja?
 Ketika kita sedang menulis sebuah program yang menangani
masalah keuangan (yang sering digunakan di dalam industri), kita
harus menggunakan angka-angka dengan jumlah angka yang
panjang, mungkin mencapai triliunan. Bahasa C# menawarkan
kepada kita apa yang disebut sebagai "decimal."
 Ketika kita sedang menulis sebuah program yang digunakan untuk
menghitung hal-hal yang ilmiah, seperti rumus relativitas dan fisika
kuantum, mungkin kita membutuhkan bilangan yang berkoma dan
berpangkat yang direpresentasikan dalam bentuk notasi ilmiah
(mantissadan exponent). Dalam C#, bilangan seperti itu dinamakan
juga dengan floating point number, yang direpresentasikan dengan
menggunakan kata kunci "float."
Deklarasi Variabel
Bahasa C#, seperti halnya Bahasa C dan C++ atau Java, menggunakan kata int untuk merujuk
kepada bilangan bulat (integer). Baris berikut merupakan contoh pendeklarasian variabel bertipe
data bilangan bulat (dengan nama JumlahHariIzin):

int JumlahHariIzin;

Yang harus diingat adalah bahwa "setiap variabel harus dideklarasikan sebelum variabel
tersebut digunakan."
Inisialisasi variabel
Pada saat sebuah variabel diberi nilai pada saat deklarasinya, maka variabel tersebut dikatakan
"melakukan inisialisasi" (initialization). Tentu saja, setelah inisialisasi dilakukan, kita bisa

Page 10
mengubah nilainya dengan nilai yang berbeda di lain waktu, karena memang tidak ada bedanya
antara melakukan inisialisasi variabel pada saat deklarasi di dalam pernyataan deklarasi dengan
menetapkan sebuah nilai kepada sebuah variabel sesaat setelah pernyataan deklarasi dilakukan.
int JumlahHariIzin;
jumlahHariIzin = 10-

2.2 Perintah Tidak Terstruktur


Adalah awal historis paradigma pemrograman yang mampu menciptakan Turing-
lengkap algoritma. Ini telah diikuti historis oleh prosedural pemrograman dan pemrograman
berorientasi obyek , keduanya dianggap sebagai pemrograman terstruktur .

Pemrograman Tidak terstruktur telah banyak dikritik karena menghasilkan kode tidak terbaca-
("spaghetti") dan kadang-kadang dianggap sebagai pendekatan yang buruk untuk membuat
proyek-proyek besar, tetapi telah memuji untuk kebebasan itu menawarkan kepada programer
dan telah dibandingkan dengan bagaimana Mozart menulis musik. 

Ada baik tinggi dan rendah tingkat bahasa pemrograman yang menggunakan pemrograman non-
terstruktur. Ini termasuk versi awal BASIC(seperti MSX BASIC dan GW-
BASIC ), JOSS , FOCAL , gondok , TELCOMP , COBOL , tingkat kode mesin , assembler awal
sistem (tanpa metaoperators prosedural), debugger assembler dan beberapa bahasa script seperti
MS -DOS batch file bahasa.

Konsep-konsep dasar
Sebuah program dalam bahasa non-terstruktur biasanya terdiri dari perintah berurutan
memerintahkan, atau pernyataan, biasanya satu di setiap baris. Garis biasanya nomor atau
mungkin memiliki label: ini memungkinkan aliran eksekusi untuk melompat ke baris dalam
program ini.

-Terstruktur memperkenalkan dasar pemrograman Non kontrol aliran konsep-konsep seperti


loop, cabang dan melompat. Meskipun tidak ada konsep prosedur dalam paradigma
terstruktur [non- rujukan? ], subrutin diperbolehkan. Tidak seperti prosedur, subrutin mungkin memiliki
beberapa entri dan exit point, dan langsung melompat masuk atau keluar dari subroutine adalah
(secara teoritis) diperbolehkan. Fleksibilitas ini memungkinkan realisasi coroutines , yang sulit
mungkin di benar pemrograman prosedural .

Tidak ada konsep variabel lokal di-terstruktur pemrograman non (meskipun untuk program
perakitan, register tujuan umum dapat melayani tujuan yang sama setelah penghematan entry),

Page 11
tetapi label dan variabel dapat memiliki lahan terbatas efek (Sebagai contoh, sekelompok
baris). Ini berarti tidak ada (otomatis) konteks refresh saat memanggil sebuah sub rutin, sehingga
semua variabel yang dapat mempertahankan nilai-nilai mereka dari panggilan sebelumnya. Hal
ini membuat umum rekursi sulit, tetapi beberapa kasus rekursi - mana tidak ada nilai negara
subrutin diperlukan setelah panggilan rekursif - yang mungkin jika variabel yang didedikasikan
untuk subroutine rekursif secara eksplisit dibersihkan (atau re-diinisialisasi ke nilai aslinya
mereka) di entri ke subrutin. Kedalaman bersarang juga mungkin terbatas pada tingkat satu atau
dua.

Jenis data
Bahasa Non-terstruktur hanya mengizinkan tipe data dasar, seperti angka, string dan
[ rujukan? ]
array   (set nomor variabel dari jenis yang sama).Pengenalan array ke-terstruktur bahasa
non langkah maju penting, membuat data stream pengolahan mungkin meskipun kurangnya tipe
data terstruktur

2.3 Pemrograman Terstruktur

Pemrograman Terstruktur merupakan suatu teknik yang memecah masalah besar menjadi
lebih kecil dan lebih mudah dipahami sehingga masalah yang besar dapat diselesaikan dengan
baik

Orang pertama yang mencetuskan ide pemrograman terstruktur adalah Profesor


Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide utamanya adalah bahwa
statemen GOTO sebaiknya tidak digunakan di dalam pemrograman terstruktur, sebab bisa
membuat program menjadi ruwet.
Ide ini ditanggapi oleh HD Milis, yang beranggapan bahwa pemrograman terstruktur
semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utama
adalah struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atau
tidak.
Ide pemrograman terstruktur muncul karena jumlah baris program semakin lama semakin
besar, tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih berkualitas
Dengan ide pemrograman terstruktur diharapkan dapat membantu manajemen source
code (kode program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya
Tujuan utama pemrograman terstruktur adalah : agar program-program besar menjadi
lebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi (dikembangkan) dan mudah
pula untuk ditemukan bagian yang salah ketika program sedang diuji.

Page 12
# Kriteria pemrograman terstruktur :

- Struktur programnya; jelas dan tegas


- Fasilitas penulisan kode program; jelas dan tegas
- Statemen untuk kebutuhan Selection dan Looping; lengkap
- Fasilitas menyatakan berbagai type data (struktur data); lengkap dan tegas
- Fasilitas pemberian komentar; lengkap
- Fasilitas instruksi yang tersedia (operasi arithmatik/matematik, string, …); lengkap
- Fasilitas modular (baik internal maupun eksternal); lengkap
- Fasilitas debugging, mudah dan jelas

Filosofis Terstruktur

A B C D

- Mana yang susunannya terstruktur (teratur, …)


- Mana yang lebih mudah anda hafalkan
- Jika akan ditambah satu batang lagi, dimana harus diletakkan agar posisinya dapat dinilai
benar
- Jika susunannya dirombak, mana yang lebih mudah untuk disusun kembali

Metoda dasar pemrograman terstruktur

Ide awal penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan


GOTO untuk melompat ke bagian program tertentu
Kegunaan GOTO untuk melompat ke baris program tertentu, secara umum dapat dibagi
ke dalam 2 kelompok :

1. Melompat ke bagian bawah program dari posisi program saat ini


2. Melompat ke bagian atas program dari posisi program saat ini

Page 13
Dengan pemrograman terstruktur;
Jika ada kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection (If,
Case, Select, Switch,…)
Jika ada kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for,
While, repeat-until,…)

Prinsip utamanya adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan
pengulangan

Untuk itu dalam pemrograman terstruktur hanya dikenal 3 struktur :


1. Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program
dijalankan secara normal (lurus) satu per-satu dari atas ke bawah
2. Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris
program sesuai dengan urutannya atau melompati sejumlah baris program
tersebut
3. Looping, yaitu program yang juga mengandung pilihan apakah akan mengulangi
program yang sudah pernah dijalankan sebelumnya atau tidak

7. Struktur perulangan UNTIL

Page 14
Proses1
Case of var
Kondisi1:
Proses2a
Kondisi2:
Proses2b
Kondisi3:
Proses2c
else
Proses2d
end case
Proses3

Contoh pemograman terstruktur : PASCAL, COBOL, BAHASA C

STRUKTUR KONTROL

Page 15
Struktur kontrol / struktur kendali merupakan struktur yang mengendalikan statemen /
instruksi apa saja yang harus dikerjakan
Ada tiga struktur kontrol pada pemrograman imperatif yaitu :
1. Komposisi Sekuensial
2. Seleksi
3. Iterasi
1. Komposisi Sekuensial
Digunakan bilamana lebih dari sebuah statemen yang harus dikerjakan secara berurutan
yang dipisahkan dengan menggunakan simbol/tanda khusus tertentu, misalnya titik koma (;)
dalam PASCAL. Contoh : Readl(N); Write(N);

2. Seleksi
Statemen penyeleksian kondisi menunjukkan bahwa suatu statemen akan dikerjakan bila
suatu kondisi adalah bernilai benar.
Contoh statemen penyeleksian kondisi : IF – THEN, CASE OF (Bahasa Pascal)

3. Iterasi
Statemen Iterasi (perulangan) digunakan untuk memproses statemen-statemen
tertentu berulang kali. Contoh statemen iterasi : WHILE-DO, REPEAT-UNTIL, FOR-DO
(Bahasa Pascal) SUBPROGRAM, PROSEDUR dan FUNGSI
Subprogram merupakan blok statemen yang dapat dipanggil dari lokasi yang berbeda di dalam
program. Prosedur dan Fungsi adalah suatu program terpisah dalam blok sendiri yang berfungsi
sebagai subprogram (program bagian).

Yang membedakan antara Fungsi dan Prosedur yaitu :


- Fungsi harus dideklarasikan dengan tipenya
- Suatu Fungsi jika dijalankan/dipanggil akan mengembalikan suatu nilai

2.4 Subprogram,Prosedur dan Fungsi


Subprogram
Definisi
 Subprogram merupakan program bagian dengan blok terpisah dan didalam program
utama, dan akan dipanggil pada program utama jika subprogram itu diperlukan untuk
dijalankan.
Pada Pascal dikenal 2 Subprogram yaitu :
- Procedure
- FUnction
Perbedaan
 Procedure digunakan untuk subprogram yang nilai outputnya boleh ada ataupun tidak ada
tetapi untuk Function nilai inputnya dan outputnya ada dan dapat dipanggil langsung
seperti sebuah variable sehingga untuk function harus langsung dideklarasikan tipe
datanya.
Prosedur

Page 16
 merupakan bagian program/sub program/modul•memiliki struktur algoritma yang
sama dengan struktur algoritma yang telah dipelajari
 mempunyai ciri :
- mengerjakan pekerjaan yang spesifik
- menghasilkan suatu efek netto yang dapat dilihat dari perbedaan keadaan awal dan
keadaan akhir
- dapat berdiri sendiri/independent dari algoritma utama
 keuntungan :
- mempersingkat algoritma dengan menghemat penulisan algoritma yang berulang-
ulang
- memudahkan dalam melakukan penelusuran kesalahan
- memudahkan dalam reorganisasi algoritma dan pemecahan masalah
 komponen :
- header / bagian judul
- nama prosedur dapat ditambahkan komentar sedapat mungkin merupakan kata kerja
- parameter masukan, keluaran deklarasi untuk pendefinisian variable,semua variabel
yang didelarasikan hanya dikenali lokal pada prosedur yang bersangkutan
- deskripsi untuk penulisan langkah aksi
 contoh :
procedure :

HIT_LUAS_SEGITIGA
{ procedure menghitung luas segitiga dengan rumus L= ½ a x t }
{ K.Awal : sembarang }
{ K.Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran}

DEKLARASI :
{ nama peubah }
a : real
t : real
l : real

DESKRIPSI :

input( a )
input( t )
L ←a * t / 2
output( L )

 Prosedur bukan program yang berdiri sendiri, sehingga tidak dapat dieksekusi langsung.
 Prosedur harus diakses supaya instruksi yang ada didalamnya dapat dilaksanakan.
 Cara pemanggilan dari program utama :
 NAMA_PROSEDUR
 Ketika NAMA_PROSEDUR dipanggil, maka kendali program berpindah secara otomatis
ke prosedur tersebut. Sehingga instruksi yang ada dalam prosedur dilaksanakan.

Page 17
 Contoh program utama untuk memanggil prosedur

HIT_LUAS_SEGITIGA :

algoritmaLUAS_SEGITIGA_DGN_PROC

DEKLARASI :
{ nama peubah }

procedureHIT_LUAS_SEGITIGA
{ procedure menghitung luas segitiga dengan rumus L= ½ a x t}

DESKRIPSI :
output(„Menghitung luas segitiga‟)
HIT_LUAS_SEGITIGAoutput(„Selesai‟)

procedureHIT_LUAS_SEGITIGA\
{ procedure menghitung luas segitiga dengan rumus L= ½ a x t }
{ K.Awal : sembarang }
{ K.Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran }

DEKLARASI :
{ nama peubah }

a : realt
t : realL
l : real

DESKRIPSI :
input( a )
input( t )
L ←a * t / 2
output( L )

 Penggunaan Variabel/Peubah Global


 Merupakan pertukaran nilai/informasi antara prosedur dengan program yang
memanggilnya.
 Setiap data dipertukarkan melalui mekanisme parameter formal dan parameter aktual.
 Parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur
 Parameter aktual adalah parameter yang disertakan pada waktu pemanggilan
 Pendefinisian parameter formal
 Prosedur dengan parameter diakses dari program dengan cara memanggil namanya
disertai dengan parameter aktualnya :Nama_Prosedur ( daftar parameter aktual )
 Catatan penting :

Page 18
- Jumlah parameter aktual pada saat pemanggilan harus sama dengan jumlah
parameter formal pada deklarasi prosedurnya
- Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang
bersesuaian
- Tiap parameter aktual harus diekspresikan dalam cara yang sesuai dengan
parameter formal yang bersesuaian, bergantung jenis parameter formal yang
digunakan.

Fungsi

 merupakan bagian program/sub program/modul•memiliki struktur algoritma yang


sama dengan struktur algoritma yang telah dipelajari
 mempunyai ciri:

- mengerjakan pekerjaan yang spesifik


- suatu modul yang memberikan/mengembalikan (return sebuah nilai yang bertipe
sederhana (integer, real, Boolean dan string).
- dapat berdiri sendiri/independent dari algoritma utama

 keuntungan :

- persingkat algoritma dengan menghemat penulisan algoritma yang berulang-ulang


- memudahkan dalam melakukan penelusuran kesalahan
- memudahkan dalam reorganisasi algoritma dan pemecahan masalah

 komponen :

- header / bagian judul


- nama fugsi
 dapat ditambahkan komentar
 sedapat mungkin merupakan kata kerja
 semua variabel yang didelarasikan hanya dikenali lokal pada prosedur yang bersangkutan

2.5 Penanganan Eksepsi


Penanganan Exception adalah sebuah bahasa pemrograman membangun atau perangkat keras
komputer mekanisme yang dirancang untuk menangani terjadinya pengecualian, kondisi khusus
yang mengubah aliran normal dari program eksekusi

Bahasa pemrograman sangat berbeda dalam dukungan untuk penanganan eksepsi (sebagai
pembeda dari pengecekan error yang program aliran normal yang kode untuk tanggapan terhadap
kontinjensi yang merugikan seperti perubahan keadaan tidak valid atau berakhirnya operasi tidak
berhasil dipanggil.) Dalam beberapa bahasa pemrograman ada fungsi yang tidak dapat dengan
aman disebut pada data input tidak valid ... atau fungsi yang mengembalikan nilai yang tidak

Page 19
dapat dibedakan dari pengecualian. Misalnya di C , yang atoi ( ASCII untuk integer konversi)
fungsi dapat kembali 0 ( nol nilai) untuk setiap masukan yang tidak dapat dipecah menjadi valid
suatu. Dalam bahasa seperti programmer baik harus melakukan pengecekan error (mungkin
melalui beberapa variabel global bantu seperti C's errno ) atau validasi input (mungkin
menggunakan ekspresi reguler ).

Tingkat dimana validasi eksplisit tersebut dan pengecekan error yang penting adalah berbeda
untuk mendukung exception handling yang disediakan oleh lingkungan pemrograman yang
diberikan. Hardware exception handling agak berbeda dengan dukungan yang diberikan oleh
perangkat lunak, namun konsep yang serupa dan terminologi yang lazim.

Secara umum, pengecualian ditangani (diselesaikan) dengan menyimpan kondisi saat eksekusi
di tempat yang telah ditetapkan dan eksekusi beralih ke spesifik subrutin dikenal sebagai handler
pengecualian. Tergantung pada situasi, pawang kemudian dapat melanjutkan eksekusi di lokasi
asli menggunakan informasi yang disimpan. Misalnya, kesalahan halaman biasanya akan
memungkinkan program yang akan dilanjutkan, sementara pembagian dengan nol tidak mungkin
diatasi secara transparan.

Selama program berjalan, dapat terjadi sesuatu hal yang menyebabkan error. Misalnya, array
diberi nilai index yang melebihi nilai index yang sudah dideklarasikan, atau suatu operasi
aritmatika yang membagi suatu bilangan dengan nol.

Hal ini dapat mengakibatkan program berhenti tidak seperti yang diinginkan dan biasanya
menampilkan pesan kesalahan yang tidak jelas. Bahasa pemrograman harus menyediakan
fasilitas untuk mendefinisikan eksepsi, mengenali kemunculan eksepsi dan menentukan kode-
kode apa yang harus dieksekusi ketika eksepsi muncul. Penentuan atas kode-kode apa yang harus
dieksekusi disebut Penanganan Eksepsi (Exception Handling)

Contoh Penggunaan Eksepsi dalam Bahasa C++

#include
using namespace std;
int main ()
{
try {
cout <<”Masukkan Angka :”; int num; cin >> num;
if (num>10) throw std : : exception ();
cout << “Angka Kurang dari atau sama dengan 10 “ <<
endl;
} catch (std : : exception& S) {
cout << “Angka lebih dari 10 “ << endl;
}
return 0;
}

Page 20
BAB III
PENUTUP

3.1. Kesimpulan

Imperative program ber analogi dibawah bahasa pemograman yang memacu atau
berorientasi pada objek objek system informasi yang mengarah pada system informasi.
Pembuatan program program computer dengan penguasaan data yang ada pada bahasa
pemograman untuk dikuasain agar menjadi seorang programmer handal.

Beberapa sub.dari bidang pemograman imperative diantaranya adalah variable dan


penugasan ; perintah tidak struktur ; perintah tidak dtruktur ; subprogram,prosedur dan
fungsi ; dan penanganan eksepsi.

Mengenali dan member contoh variable dan penguasaaanya,mengenali bentuk perintah


tidak terstruktur,mengenali bentuk perintah terstruktur,dapat menjelaskan bentuk bentuk
struktur control,dapat menuliskan subprogram,prosedur,dan fungsi,dan dapat mengenali serta
menjelaskan beberapa bentuk eksepsi dan penangananya.

3.2. Referensi

 http://en.wikipedia.org/wiki/Exception_handling

Page 21
 kmpk.ugm.ac.id/data/SPMKK/5a-KEPEMIMPINAN(revDes'02).doc
 http://ndoware.com/pendekatanmodulardalampemrogramanterstruktur.html

Page 22
MAKALAH ALGORITMA DAN PEMROGRAMAN
IMPERATIVE PROGRAMMING
Kelas 1KA34

Disusun Oleh :
 Ahmad Ramdhani
 Nindya Anggi Wulandari
 Rizqi Agung Kurniawan
 Santi Puspitasari
 Sintong Parulian Umardani H.

Page 23

You might also like