CLICK HERE FOR BLOGGER TEMPLATES AND MYSPACE LAYOUTS »

Rabu, 15 Oktober 2008

PEMROGRAMAN PROSEDURAL

Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma adalah proses yang procedural.

Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.

Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural. Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming). Paradigma pemrograman ini merupakan trend baru dan sangat populer akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrogramn deklaratif dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikan paradigma pemrograman procedural saja.

Pemrograman Prosedural :
a. Diselesaikan dalam bentuk prosedur atau fungsi
b. Program merupakan urut-urutan instruksi
c. Program dipecah-pecah ke dalam sub program yang lebih sederhana
d. Fokus utama pada prosedur dan fungsi
e. Fungsi dan prosedur digunakan untuk memanipulasi data
f. Sedangkan data sendiri bersifat pasif

Hal-hal yang menjadi dasar dalam pemrograman prosedural, meliputi definisi algoritma dan konstruktor pemrograman prosedural, serta konsep Input, Proses, dan Output yang sangat lazim dalam dunia pemrograman prosedural.

1. Algoritma
Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.
Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu dengan tepat.

2. Konstruktor (elemen) Pemrograman Prosedural
Elemen bahasa pemrograman procedural adalah:
a. Program utama
b. Tipe
c. Konstanta
d. Variabel
e. Ekspresi, operator, dan operand
f. Struktur Data
g. Instruksi dasar
h. Program Moduler
i. File eksternal
j. Rekurens

3. Input, Proses, dan Output
Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input, proses, dan output.

Struktur Bahasa Program Procedural
Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. Yang memiliki dua bagian utama yaitu:
1. Bagian deklarasi
2. Bagian Statement

1.Bagian Deklarasi
Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal suatu variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program.

2. Bagian Statement
Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya jika blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal { dan }. Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa Pascal (kiri) dan Bahasa C (kanan).

Bahasa Pascal:
procedure Cetak (kal: String);
function Tambah (a,b:Integer): Integer;
Bahasa C:
void Cetak (char *String);
int Tambah (int a, int b);
uses crt;
const phi = 3.14;
var diameter, radius,
Luas : real;
begin
readln(diameter);
radius := diameter / 2;
Luas := phi * radius * radius;
writeln(Luas);
end.
#include
void main()
{ const phi = 3.14;
float diameter, radius, Luas;
scanf(“%f”, &diameter);
radius = diameter / 2.0;
Luas = phi * radius * radius;
printf(“%f”,Luas);
}

Selasa, 07 Oktober 2008

Pemrograman Berorientasi Obyek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep dasar dari Pemrograman Berorientasi Objek

Pemrograman orientasi-objek menekankan konsep berikut:

* kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

* Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

* Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

* Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

* Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

* Inheritas - Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.



Selasa, 23 September 2008

Artikel dan Tabel Karakter ASCII


KARAKTER ASCII
Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal.

TABEL KARAKTER ASCII

Karakter

Nilai Unicode
(heksadesimal)

Nilai ANSI ASCII
(desimal)

Keterangan

NUL

0000

0

Null (tidak tampak)

SOH

0001

1

Start of heading (tidak tampak)

STX

0002

2

Start of text (tidak tampak)

ETX

0003

3

End of text (tidak tampak)

EOT

0004

4

End of transmission (tidak tampak)

ENQ

0005

5

Enquiry (tidak tampak)

ACK

0006

6

Acknowledge (tidak tampak)

BEL

0007

7

Bell (tidak tampak)

BS

0008

8

Menghapus satu karakter di belakang kursor (Backspace)

HT

0009

9

Horizontal tabulation

LF

000A

10

Pergantian baris (Line feed)

VT

000B

11

Tabulasi vertikal

FF

000C

12

Pergantian baris (Form feed)

CR

000D

13

Pergantian baris (carriage return)

SO

000E

14

Shift out (tidak tampak)

SI

000F

15

Shift in (tidak tampak)

DLE

0010

16

Data link escape (tidak tampak)

DC1

0011

17

Device control 1 (tidak tampak)

DC2

0012

18

Device control 2 (tidak tampak)

DC3

0013

19

Device control 3 (tidak tampak)

DC4

0014

20

Device control 4 (tidak tampak)

NAK

0015

21

Negative acknowledge (tidak tampak)

SYN

0016

22

Synchronous idle (tidak tampak)

ETB

0017

23

End of transmission block (tidak tampak)

CAN

0018

24

Cancel (tidak tampak)

EM

0019

25

End of medium (tidak tampak)

SUB

001A

26

Substitute (tidak tampak)

ESC

001B

27

Escape (tidak tampak)

FS

001C

28

File separator

GS

001D

29

Group separator

RS

001E

30

Record separator

US

001F

31

Unit separator

SP

0020

32

Spasi

!

0021

33

Tanda seru (exclamation)

"

0022

34

Tanda kutip dua

#

0023

35

Tanda pagar (kres)

$

0024

36

Tanda mata uang dolar

%

0025

37

Tanda persen

&

0026

38

Karakter ampersand (&)

‘

0027

39

Karakter Apostrof

(

0028

40

Tanda kurung buka

)

0029

41

Tanda kurung tutup

*

002A

42

Karakter asterisk (bintang)

+

002B

43

Tanda tambah (plus)

,

002C

44

Karakter koma

-

002D

45

Karakter hyphen (strip)

.

002E

46

Tanda titik

/

002F

47

Garis miring (slash)

0

0030

48

Angka nol

1

0031

49

Angka satu

2

0032

50

Angka dua

3

0033

51

Angka tiga

4

0034

52

Angka empat

5

0035

53

Angka lima

6

0036

54

Angka enam

7

0037

55

Angka tujuh

8

0038

56

Angka delapan

9

0039

57

Angka sembilan

:

003A

58

Tanda titik dua

;

003B

59

Tanda titik koma

<

003C

60

Tanda lebih kecil

=

003D

61

Tanda sama dengan

>

003E

62

Tanda lebih besar

?

003F

63

Tanda tanya

@

0040

64

A keong (@)

A

0041

65

Huruf latin A kapital

B

0042

66

Huruf latin B kapital

C

0043

67

Huruf latin C kapital

D

0044

68

Huruf latin D kapital

E

0045

69

Huruf latin E kapital

F

0046

70

Huruf latin F kapital

G

0047

71

Huruf latin G kapital

H

0048

72

Huruf latin H kapital

I

0049

73

Huruf latin I kapital

J

004A

74

Huruf latin J kapital

K

004B

75

Huruf latin K kapital

L

004C

76

Huruf latin L kapital

M

004D

77

Huruf latin M kapital

N

004E

78

Huruf latin N kapital

O

004F

79

Huruf latin O kapital

P

0050

80

Huruf latin P kapital

Q

0051

81

Huruf latin Q kapital

R

0052

82

Huruf latin R kapital

S

0053

83

Huruf latin S kapital

T

0054

84

Huruf latin T kapital

U

0055

85

Huruf latin U kapital

V

0056

86

Huruf latin V kapital

W

0057

87

Huruf latin W kapital

X

0058

88

Huruf latin X kapital

Y

0059

89

Huruf latin Y kapital

Z

005A

90

Huruf latin Z kapital

[

005B

91

Kurung siku kiri

\

005C

92

Garis miring terbalik (backslash)

]

005D

93

Kurung sikur kanan

^

005E

94

Tanda pangkat

_

005F

95

Garis bawah (underscore)

`

0060

96

Tanda petik satu

a

0061

97

Huruf latin a kecil

b

0062

98

Huruf latin b kecil

c

0063

99

Huruf latin c kecil

d

0064

100

Huruf latin d kecil

e

0065

101

Huruf latin e kecil

f

0066

102

Huruf latin f kecil f

g

0067

103

Huruf latin g kecil

h

0068

104

Huruf latin h kecil

i

0069

105

Huruf latin i kecil

j

006A

106

Huruf latin j kecil

k

006B

107

Huruf latin k kecil

l

006C

108

Huruf latin l kecil

m

006D

109

Huruf latin m kecil

n

006E

110

Huruf latin n kecil

o

006F

111

Huruf latin o kecil

p

0070

112

Huruf latin p kecil

q

0071

113

Huruf latin q kecil

r

0072

114

Huruf latin r kecil

s

0073

115

Huruf latin s kecil

t

0074

116

Huruf latin t kecil

u

0075

117

Huruf latin u kecil

v

0076

118

Huruf latin v kecil

w

0077

119

Huruf latin w kecil

x

0078

120

Huruf latin x kecil

y

0079

121

Huruf latin y kecil

z

007A

122

Huruf latin z kecil

{

007B

123

Kurung kurawal buka

¦

007C

124

Garis vertikal (pipa)

}

007D

125

Kurung kurawal tutup

~

007E

126

Karakter gelombang (tilde)

DEL

007F

127

Delete


0080

128

Dicadangkan


0081

129

Dicadangkan


0082

130

Dicadangkan


0083

131

Dicadangkan

IND

0084

132

Index

NEL

0085

133

Next line

SSA

0086

134

Start of selected area

ESA

0087

135

End of selected area


0088

136

Character tabulation set


0089

137

Character tabulation with justification


008A

138

Line tabulation set

PLD

008B

139

Partial line down

PLU

008C

140

Partial line up


008D

141

Reverse line feed

SS2

008E

142

Single shift two

SS3

008F

143

Single shift three

DCS

0090

144

Device control string

PU1

0091

145

Private use one

PU2

0092

146

Private use two

STS

0093

147

Set transmit state

CCH

0094

148

Cancel character

MW

0095

149

Message waiting


0096

150

Start of guarded area


0097

151

End of guarded area


0098

152

Start of string


0099

153

Dicadangkan


009A

154

Single character introducer

CSI

009B

155

Control sequence introducer

ST

009C

156

String terminator

OSC

009D

157

Operating system command

PM

009E

158

Privacy message

APC

009F

158

Application program command


00A0

160

Spasi yang bukan pemisah kata

¡

00A1

161

Tanda seru terbalik

¢

00A2

162

Tanda sen (Cent)

£

00A3

163

Tanda Poundsterling

¤

00A4

164

Tanda mata uang (Currency)

¥

00A5

165

Tanda Yen

¦

00A6

166

Garis tegak putus-putus (broken bar)

§

00A7

167

Section sign

¨

00A8

168

Diaeresis

©

00A9

169

Tanda hak cipta (Copyright)

ª

00AA

170

Feminine ordinal indicator

«

00AB

171

Left-pointing double angle quotation mark

¬

00AC

172

Not sign

­


00AD

173

Tanda strip (hyphen)

®

00AE

174

Tanda merk terdaftar

¯

00AF

175

Macron

°

00B0

176

Tanda derajat

±

00B1

177

Tanda kurang lebih (plus-minus)

²

00B2

178

Tanda kuadrat (pangkat dua)

³

00B3

179

Tanda kubik (pangkat tiga)

´

00B4

180

Acute accent

µ

00B5

181

Micro sign

00B6

182

Pilcrow sign

·

00B7

183

Middle dot