P. 1
Makalah Algoritma 1

Makalah Algoritma 1

|Views: 4,431|Likes:
Published by anon_427659951

More info:

Published by: anon_427659951 on Mar 24, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

10/17/2014

pdf

text

original

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.............................................................................................. Daftar Isi....................................................................................................... BAB I PENDAHULUAN 1.1. Pendahuluan Imperative Programming................................ 1.2. Sejarah Bahasa Imperative.................................................... BAB II PEMBAHASAN 2.1.Variabel dan Penugasan........................................................ 2.2.Perintah Tidak Terstruktur .................................................... 2.3.Pemrograman Terstruktur....................................................... 2.4.Sub program, Prosedur, dan Fungsi....................................... 2.5.Penanganan Eksepsi«««««««««««««««« BAB III PENUTUP ................................................................................. 3.1. Kesimpulan........................................................................... 3.2. Referensi «««..««««««««««««««««. 1 2 3 3 5 10 11 19 22 24 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 byte class case const base catch continue double bool char decimal else false foreach int long break checked default enum finally goto interface namespace

delegate do event fixed if

explicit extern float for

implicit in lock object

internal is new null

operator out protected public sbyte sealed string true unchecked void get value

override params private readonly ref short struct try unsafe sizeof return

stackalloc static throw ulong virtual alias set

switch this typeof ushort uint using add remove

volatile while global where partial 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 data Prefiks byte sbyte ushort short int uint long ulong decimal string float char bool double array by sb us s i ui l ul m atau dec str fl ch b d atau dbl 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 mengubah nilainya dengan nilai yang berbeda di lain waktu, karena memang tidak ada bedanya

Page 10

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 Turinglengkap 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 nonterstruktur. Ini termasuk versi awal BASIC(seperti MSX BASIC dan GWBASIC ), 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), tetapi label dan variabel dapat memiliki lahan terbatas efek (Sebagai contoh, sekelompok
Page 11

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 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
[ rujukan? ]

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

Page 14

Page 15

Page 16

Page 17

Page 18

Contoh pemograman terstruktur : PASCAL, COBOL, BAHASA C

STRUKTUR KONTROL
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)

Page 19

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 y 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 y 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 y merupakan bagian program/sub program/modul‡memiliki struktur algoritma yang sama dengan struktur algoritma yang telah dipelajari y 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 y keuntungan : - mempersingkat algoritma dengan menghemat penulisan algoritma yang berulangulang - memudahkan dalam melakukan penelusuran kesalahan - memudahkan dalam reorganisasi algoritma dan pemecahan masalah y 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
Page 20

y

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 )

y y y y y y

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. 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 }
Page 21

{ 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 )
y y y y y y y y 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 : - 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 y y 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

Page 22

y

keuntungan : persingkat algoritma dengan menghemat penulisan algoritma yang berulang-ulang memudahkan dalam melakukan penelusuran kesalahan memudahkan dalam reorganisasi algoritma dan pemecahan masalah

y

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

y y y

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 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.
Page 23

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 kodekode 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 24

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  kmpk.ugm.ac.id/data/SPMKK/5a-KEPEMIMPINAN(revDes'02).doc  http://ndoware.com/pendekatanmodulardalampemrogramanterstruktur.html

Page 25

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 26

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->