cont oh bah an ajar

28
BAHAN AJAR Mata Kuliah Bibit Waluyo Jati Pelatihan Applied Approach 2 s/d. 4 November 2010

Upload: mesakh-pasgo-pasaribu

Post on 22-Jul-2015

47 views

Category:

Documents


0 download

TRANSCRIPT

BAHAN AJARMata Kuliah

Bibit Waluyo Jati

Pelatihan Applied Approach2 s/d. 4 November 2010

PENDAHULUANA. Identitas Mata Kuliah 1. Nama Mata Kuliah 2. Kode / SKS 3. Semester 4. Dosen B. Kompetensi 1. Utama Mahasiswa memahami berbagai tipe data diantaranya tipe data sederhana, string, terstruktur serta pointer sehingga bisa mengatur pemakaian memori primer dalam implementasi program-program komputer. 2. Khusus Setelah menempuh mata kuliah ini mahasiswa diharapkan mengetahui dan memahami (kompetensi hardskill) : a. Berbagai tipe data dan pendeklarasiannya, pemetaan ke storage serta organisasi data fisik dan lojik. b. Jenis-jenis array dan pendeklarasiannya, pemetaan array ke storage serta record, Stack dan operasi-operasi, deklarasi dan pemakaiannya. c. Queue, penyajian dalam array, queue berprioritas dan dequeue. d. Linked list, penyajian dalam memori, kunjungan dan operasi-operasinya, header, circular dan doubly linked list yang diimplementasikan menggunakan pointer. e. Senarai berantai biasa dan banyak, penyajian dalam memori, operasi-operasinya, header, circular dan doubly linked list yang diimplementasikan menggunakan pointer. f. Tree, binary tree, kunjungan pohon biner dan beberapa bentuk binary tree. g. Graph dan penyajian graph dengan matrix. h. Berbagai algoritma sortir dan dapat membandingkannya. i. Metode-metode searchingterhadap suatu struktur data. Setelah menempuh mata kuliah ini mahasiswa diharapkan (kompetensi softskill) : a. Adaptif terhadap perkembangan bahasa pemrograman dan teknologi informatika terutama tentang tipe-tipe data. b. Berpikir kritis terhadap pemilihan tipe-tipe data yang sesuai. : Struktur Data & Praktikum : TINF-209 & TINF-210 / 2 +1 sks : IV (genap) : Bibit Waluyo Jati, S.T., M.Eng.

c. d. e. f. g.

Kreatif merancang aplikasi. Mampu menganalisa kelemahan aplikasinya. Berargumen logis dalam membuat aplikasi. Bersemangat untuk menyelesaikan aplikasi. Berkomunikasi, bekerjasama dan dapat mengatasi stress ketika mengalami kesulitan dalam membuat aplikasi. h. Kemauan belajar untuk mencari jawaban dari kesulitan yang dialami dalam membuat aplikasi.

BAB I

P

e S n e dk o a l a h h u

P e P m r oi l d h i .a i m e m b p er om s a k k a a n i a n o m e m o r i m e n y e k b e a s b a k l ao nm a p n u t a s i a k i b a h s p e s i f i k a s i m a u p u n b a t a s a D a l a m p e m r o g r a m a n s e r i n s e b u a h p e r m u be an h y i ym a p n ag n b li se ab d a r i s e bd a t a a h b n a i h l ak ia n u d e n g a b e r b e d a J . e n- J i s n e i s D a P e n y im p- d a a n t aa n p ad da at a m (a Pn ad a s n c t ea r ls t e/ r mu D ko t reui t e r s i m p o p e r a s i .n y a e f i s i e n P e n g a m b i l a n k e p u t u s a n t e p e m r o g r a m a n c om cu a on n kt au k y a n g t i p e d a t a y a n g a d a .

T l i nu g a g ni T e k n o l o g i D u m a i t nT e t ki p n e i k d I a n t fa o ry ma na g i k k a u (r aS n1 g) t

d

a

n

d

a

p

S

T R U K D A T A

T U

t a s e h i n g g l p h i ) r s e c a rp r h a d a a l i n g p

t n t i p e d g k a l i h a i h n t i p e y

R

o le h

B . W

a lu y o

J a ti

S

t r u k t u rS p m s d D a

D

a t a

t r u k t u a r d D a a l ta a h c a r a p e n y i m p a n a n e n g o r g a n - d i sa at a s i p a a n d d a a mt a e m o r i k o m a u p u n f i l e s e c a r a e f e k t i f s e h i n g e c a r a e f i s i e n ,- o t pe er m r a a s s i u d k i o p e r a s i a l a m n y a . i d a l a m s t r u k t u r d a t a k i t a b e r h u b k t i v i t a s : M e n d e s k r i p s o i k ay en k yk d au a nm t ga p su al a h n b s e s u a i d e n g a n t i p e d a t a y a n g a d M e n u n j u k k a n om p e e k-r aa s n i i s m e k e r j a o p e r a s in y a S t r u k t u r d a t a = o b y e k d a t a + [ o p e r a d a t a ]

d a n p u t e g a d u n g

a

s i m

T e r m

i n o l o g i: d j ea nt a i s d s u a t u b p u t e r . e k : kd u a m t a p k s u a t u r c :e k c o o d d e r a m m e r p i l e : p ( be u n m o b je c m b ly ) . a t a y a n g m a h a s a p e m

T o k O u S p C d a

i p e le h o m b y n t u o u r o g o m a la s s e

a m p u d it a n g r o g r a m a n p a

.

u la n e le m e n y a n g m u n t ip e d a t a t e r t e n t u . e p r o g r a m y a n g d it u lis

gi l ud b) a h a n s o u r c e c o d e t c o d e ( b is a b a h a s a m e

T e r m

i n o l o g i

. . .n , t p a d a p r o s e

K

I d e n t i f i e r : / np a e mn a e y n g a. l d i b e r i k a g v a r ia b e l, k o n s t a n t a , p r o g r a m d s b . y g . d ib u a t p r o g r a m m e r . V a r i :a n i e l a l i m e n g a c u b k e a la m a k o m p u t e r y a n g d iw a k ili s u a t u n ila in y a d a - up ba at hb e s r e u l ba am h a e k s e p r o g r a m . K o n s : t av n rt ia a b e l y g . n i l a i n y a a t e

m e m n a m a k u s i t a p .

e t e n t u a n

I d e n t i f i e rr . a u ip a ( k r a n i e g a m q t a n d a

M a x . 6 3 D ia w a li s c o r e ) [ K a r a k t e a n g k a d R e s e r v e b a h a s a N a m a i s

k a r a k t e h u r u f a t _ ] . r y a n g d a n t a n d d w o r d p e m r o g e c a r a u

g a r is n a h d a o l

b a w

r b o le h k a a r is b a w t a y g . s u a n t a k b .

a d a la . h d ip e h d ig

P

a s c a lh e t a m ip ip ip ip lp e je t a

/

D

e l p h is c a l m e m g a n i m r o g r a m k a la r )

B a t ip d a P e T T T T ( D e ( m o b d a

a s a p e m r o g r a bm a a n n y P ka a dt e a l tdi a t a i ,h n a n d d a a l a m l m e n a n d ib a n d in g b a h a s a p e b a g ia n t ip e d a t a n y a : e S e d e r h a n a / d a s a r ( s e T e r s t r u k t u r e P o in t e r e S t r in g h i3 m e n Pa m o b c a e h d k u a r n a l t i p r n a n g a n i p r o s e d u r d a n k V ) ad r a i( nn ni l at i n y a a d in a m is la in k e c u a li p o in t e r d

a

e f u n g s i s e d a r i t ip e a n c la s s ) )

T i p e

DSO

a t ae d e r h a n ar d in a l

T

ip eT

( s k a la r ):

:b y t e ,

ip e

( b u la t )

T i p e S t ai n n t e ga e r : , s h o r t i n w , ol o r nd g i n t , d r t b o o l (e t r a u n& e f a l )s e&c h a ra M t r t 1a e r2 t e r4 t k b1 k b2 e m n b d y at a b n y dt a b n y dt e b r ty a t e b r ty a t o r i e a e a e n d a e n d a e

T i p e J a n g k a u a n F o r m S h o r -t 1i n 2 t 8 1 2 7 8 b i t b e I n t e g - e3 r 2 7 6 3 8 2 7 6 7 1 6 b i t b L o n g - i 2 n 1 t 4 7 4 8 2 3 1 6 4 4 7 8 4 83 32 6 b 4 i 7 t b B y t e 0 2 5 5 8 b i t t a W o r d 0 6 5 5 3 5 8 b i t t a

T i p eD o e

- D l a a j tu at n

a n

l p h i m e r d i n a l m

n a m e n j a

b a h d i :

k

a

n

d

a

n

m

e

r u

T ip e S m a - 3l l 2I n 7 I n t e g-2 e 1 r 4 L o n g I n t C a r d0 i n. .a

J a n g k a u a n F o r m a tM e m o r i t 6 8 . . 3 2 7 8 6 b 7 i t b e 1 r t ab ny td e a / 7 4 8 3 6 4 81 6 . . b 2 i 1 t 4b 4 7e 4rb t 8ay 3n e 6d 4a t 2l 1 4 7 4 8 3 1 6 6 4 7 i t t a4 k b b b e r t a n d a y t e

7

T i p eC h ba e r ( A m I n f o 8 b i e b

- D l a a j tu at n

a n

r n i l a i s a t u k a r a k t e r A S C I I e r i c a n S t a n d a r d C o d e f o r r m a t i o n I n t e r c h a n g e ) d e n g t ( 1 b y t e ) . t i p e

a

D

l p h i m e n aA m N b aI C h1 h k a a r n S ( y t e )W d i a e (C 2 h ba ry t e ) . d n

T i p eB

- D l a a j tu at n

a n

o o l b e ea rn n i l a i T r u e a t a u F a l s e u k u r a n 8 b i t ( 1 b y t e ) , d i m a n b e r n i l a i l e b i h k e c i l d a r i p a d a l p h i m e n aB m y t b e a B 1h o k o a l n ( t i p b y t We ) o, r d ( B 2 o b o y l t Le o) n d g a B n o o l ( 4 b y t e ) . e e

d a T

e

n F r u

D

T i p e

- D l a a j tu at nSe O r d i n

a n

T

ip eT

e d e r h a n aa l ( b u

( s k a la r )l a t ) :i p e m a k a i) t dt a n d a l a m k n g k a a t a u h a n n ila i u r u t r k e c il a d a la d ila k u k a n p ea n g l i n g k u p a t a u h u r u f ) .

:e e u a h e r d lo r u n p r b d a y a ir i a t a s m p o k f ) s e s u a d a la h o s is i d a a n d in g t a n g m e m : a i a n t a a n ili

i p

T i p U e s - De re f i (n d e e d f i n i s t e r b i l ea n g m( )e r: a u t r e u u d a t a ( b is a d a t a a m a s - m i n ag s i n g d e n g d e n g a n a n g k a t e k ir i. N ila i in i b is a s u b j a n g s k u a b u ra )a n :n (rg u ( b is a d a t a a n g k a b a t a s a n t e r t e n t u

T i p eC T o n t o h y p e

- D l a a j tu at n

a n

d e ek nl a u r am s : ei tr i ap se i

T ip e ju r u s a n = ( I n d u s t r i, V aj ur r u s a n : T i p e j u r u s a n ;

I n f o r m

a t ik a ,

S

ip il) ;

A V

t a: u aj ur r u s a n

:

( I n d u s t r i,

I n f o r m

a t ik a ,

S

ip il) ;

T i p eC T o n t o h y p e

- D l a a j tu at n

a n

d e sk ul a b r ar a:s in t gi p e e

T ip e h a r i = ( s e n in , s e la s a , h a r ik u lia h = s e n in . . ju m a t ; V a r h a r it u g a s : h a r ik u lia h ; N ila i : 'A '. . 'E '; A V t a: u ah r a r i t u g a s N ila i : 'A

r a b u ,

k a m

is ,

ju m

a t

:

s e n in . . ju m ';

a t ;

'. . 'E

T i p e

- D l a a j tu at nSee l 2 l e 1 b l e5 n d 5 e p -2 6 , , , , 9 5 0 0d 3

a n

T

ip eT i pT ip e a i n g o u x t e o m

e d e r h a n ae a l ( p e c aK 1 e t s s / d 5 s 9 s 9 s

( s k a la r )a n ) :m dy yi dy db dy o r i it e i t g tt e it e i t g iy g t e t i it e i t g

:

R

h

R S D E C

J a n g -3 x 9 1 1 0 -4 x 5 1 3 0 -3 x 2 4 10 1 -4 x 9 51 01 1 6 3- 1 2

k a u a n , 7 3 x8 1 10 , 4 3 x8 1 70 , 7 3 x0 8 1 1 0 , 1 4 x9 3 1 2 1 0 1

e l i t i M ne a / d 16 2 b 8 4 d ib g / d 18 6 b / d 21 00 / d 28 0 b

T i p eD

- D l a a j tu at nlp h i m e

a n

eC 9 9 b D m b m 1 u 2 2 y a e u i 2

n

a

m

b

a

h

ka 8 8 u

an 0 0 b

n8 7

t i p

e

da n

a

t am

r r ed n e c n y g a n j- a n g k a u 2 3 3 7 2 0 3 6 8 5 4 7 7 , 5 2 3 3 7 2 0 3 6 8 5 4 7 7 , 5 t e . dt e a T n i m y eg . b e r t i p e D o n y i m p a n d a t a w a k l a n , m i n g g u , h a r i , j l i d e t i k ) d e n g a n n i l a / 3 0 / 1 8 9 9 ( 3 0 D e s e

s / d . d e n g

l e u n t u k t u ( d i m u l a i d a a m , m e n i t , d e t i m i n i m u m a d m b e r 1 8 9 9 )

T i p e

- D l a a j tu at n

a n

T i pS e t r i (n d g e r e t a n A k S a ) C r ma I Ika t k e s r i m a l 2 5 5 k a r a k t e r j i k a t i d a k d i d e f i n i s i k a n j u C o n t o h y a n g d i d e f i n is i k a n ( d e k l a r a s i ) v a nr a m a : s t r i n g b i , [ 2 0 ] ; t i p e d i a n s t r i n g g g a p : s e b a g

D e l p h i m e n a m ( d e f a u l t D e l p h

a h k a n S t r i n g

T i p eD e lp h i m ( d e f a u ltS S A L W T h o t r i n n s o n i d ip e r t S g i S t g S e S

- D l a a j tu at ne n a m D.n . . . g n n

a nt ip e s t r in g : s e b a g a i A

b a h k a n S t r in ga u a k t e k t e a u n s r r

e lp h i,g2 5 5 2 5 5 . . /3 G g . g. 1 , 5

d ia n g g a pM 6 b a 4t a bu i s 8a bm 1 0

n s i

t r 0i 0 r i n0 t r i t r 0i

J a n g k k a r a k a r a B a t G B

e m o r i y t e y s t ea m p a y e t em o r i b y t e

i

3

G

B

T i p e

- D l a a j tu at n

a n

P

o i n t e r T e r :s t ri pu ek t du ar t a y i m p a n le b i h i s n y a :r(d (

T i p e m e n J e

y a n g b i s a d a r i s a t u e

le

m

n

L a r a i kr r )( a y R H B e k a rm e a )n c o im p us ne) at n ( e r kf ia l) es

D R

e

l p h i m e Cn la a ms as bC n al a h s k s a d e f e r e n c e

n

D

e k l a r a s iDV

e eo

k l aB

r a:

s i s i s i s i s i

V K T L F

a o y p a u b

r i a n e

b

e n

l t a

aA r ,

in t e g e r ;

DC

k l a k l a k l a k l a

r a r a r a r a

s t a

nj u s r tu s a n = 3 ; p e m b a g i : r e a l = D

1 . 2 ; , S M P , S M A ) ;

DT

e e e

y ps e k o l a h = ( T K , S w a k t u = 0 . . 2 3 ;

DL

e g

l s i d a n P r o s e d u r

a b 1 e0 l 0 ;

D

n

F u n c r t e i or a n t a ( x , y : i n t e g e r ) : r e a l ; P r o c e j ud mu r l ae h ( x , y : i n t e g e r , v a r

z : in t e g e r ) ;

P

r o c e d u r eP r o c ed F u n cm t n i l a i a C o n t oF u B e R E n P B n g e d

&

F u n c t i o n

da F un u r en cm i e o mn i l i k t a s f u h d e k

t i eo i k n g l a r

rnu p a k a n s u b p r o g r a m . e l e b i h a n y a i t u b i s a m e s i t e r s e b u t . a s i F u n g s i d a n P r o s e d: in t e g e r ) : r e a l; y ) / 2 ;

c R t e i or a n t a ( x , y in r a t a : = ( x + ; c e Ju m rla h d u e in = x + y ; ; ( x ,

r o e g z : e n d

y

:

in t e g e r ,

v a r

z

:

in t e g e r ) ;

P

e m

e t a a n

d i

M

e d i a

S

i m

p a n) m u

1 b i at d a l a h t a n d a n o l ( 0 ) a t a u s a t u ( 1 m e r u p a k a n k o d e b a h a s a m e s i n k o 1 b y t= e8 b i t ( 8 d i g i t b e r u p a t a n d a 0 a t a 1 k a r a k t e r ( a n g= 1 k a b / yh t u e r u f / s i m b o l ) C o n t o h d a t a a n g k a : D i s i m p a n d a t a a n g k a 1 0 p a d a t i p e i n t e g e r . b y t e = m e m e r l u k a n 1 b y t e m e m o r i i n t e g e r = m e m e r l u k a n 2 b y t e m e m o C o n t o h d a t a k a r a k t e r : D i s i m p a n d a tA a p sa ad t a u t ki p a e r a d k a t e t a r c h a r d a n s t r i n g . c h a r = m e m e r l u k a n 1 b y t e m e m o r i s t r i n g = m e m e r l u k a n 2 b y t e m e m o r

d

r

i

U

k u r a nD

D

a t an k a

I n p u tp e m m e s il p c il k in il ih a n t ip e d n y im p a n d a t e n g o la h a n n m e m o r i t e r p a c e p a t e k s e k

t e m S m p S / p e

ip e r lu k a p a t u n t u a u p u n h e m a k in a k a s e m r o g r a m . e m a k in e r h it u n g k s e k u s i

k e a

b e s a r k e t e lit ia n d a a n m a k a s e m a k in p r o g r a m .

Teori Dasar Bahasa Pemrograman Pascal / DelphiPascal adalah sebuah bahasa pemrograman yang merupakan bahasa level tinggi (high level language). High level language adalah bahasa pemrograman yang mendekati bahasa manusia sehingga mudah dimengerti oleh manusia. Contoh bahasa sejenisnya adalah C, C++, Pascal, Java dan lain-lain. Untuk memulai Pascal maka yang perlu digunanakan adalah Turbo Pascal For Window yang harus diinstal di komputer kita. Pada Praktikum Struktur Data ini digunakan Pascal sebagai bahasa pemrogramannya. Untuk membuat file baru, pilihlah menu File|New dan file itu akan bernama NONAME.PAS yang harus kita ubah seperti yang kita inginkan.

Deklarasi dan Bentuk UmumDeklarasi bagian-bagian bahasa pascal adalah sbb: USES ; CONST ; VAR ; PROCEDURE ; FUNCTION ; BEGIN END. Setiap program kira-kira akan berisi bagian-bagian seperti diatas.

1. USES USES adalah wajib dideklarasikan yang berguna untuk mendeklarasikan piranti yang akan digunakan oleh pascal. Unit-unit piranti yang dikenal oleh pascal adalah: WinCRT, Strings, WinDOS dan System. Bentuk umum: USES ; Contoh: uses wincrt, windos; Unit system sudah tidak perlu dideklarasikan lagi sedangkan WinCRT berguna untuk memanipulasi tampilan monitor/screen, unit WinDOS untuk fungsi-fungsi DOS seperti DiskFree, SetTime, dll. Unit String untuk memanipulasi tipe data string. 2. CONST CONST adalah pendeklarasian untuk mendeklarasikan constanta pada pascal. Constanta adalah nilai yang bersifat tetap. Contoh sederhananya adalah PHI (3,14). Dengan konstanta kita dapat menghemat penulisan program dan mempermudahnya karena kita akan lebih mudah menuliskan phi daripada 3,14 pada program kita dan jika nilai phi ingin kita ubah kita hanya mengubah phi nya bukan angkanya. Bentuk umum: CONST :=; Contoh: CONST phi:real=3.14; 3. VAR VAR adalah pendeklarasian variabel pada pascal. Variabel digunakan untuk membuat variabel(nilai yang berubah-ubah). Bentuk umum: VAR :; Contoh: VAR nilai:byte; 4. PROCEDURE dan FUNCTION PROCEDURE adalah kumpulan program kecil yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat dipakai berkali-kali tanpa harus menuliskan ulang kodenya lagi. Prosedur juga digunakan untuk memecah program sehingga mudah dibaca, dimengerti, dan diperiksa ulang. Prosedur ada yang memakai parameter ada yang tidak. Bentuk umum: PROCEDURE ; PROCEDURE (); Contoh: PROCEDURE hitung; PROCEDURE hitung(a,b:byte, var c:real); FUNCTION adalah kumpulan program kecil yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat dipakai berkali-kali tanpa harus menuliskan ulang kodenya lagi. Fungsi juga digunakan untuk memecah program sehingga mudah dibaca, dimengerti, dan diperiksa ulang. Prosedur ada yang memakai parameter ada yang tidak. Perbedaannya dengan prosedur adalah fungsi menyimpan nilai pada dirinya sedangkan prosedur tidak. Bentuk umum: FUNCTION :; FUNCTION ():; Contoh: FUNCTION hitung:byte; FUNCTION hitung(a,b:byte, var c:real):byte; 5. BEGIN dan END Merupakan bagian penanda awal dan akhir program. Daftar Perintah Dasar Pascal: 1. write, writeln. 2. read, readln 3. if..then..else, case..of 4. for..to..do, while..do, repeat..until

: untuk menulis di layar : untuk membaca input : untuk percabangan : untuk perulangan

ContohProgram menghitung luas lingkaran. Contoh dengan procedure : uses wincrt; const phi:real=3.14; var r,luas:real; procedure luaslingk; begin luas:=phi*r*r; writeln('Luas Lingkaran:',luas); end; begin clrscr; write('Panjang jari-jari');readln(r); luaslingk; end. Contoh dengan function : uses crt; const phi:real=3.14; var jari, hasil:real; function luaslingk(r:real):real; begin hasil:=phi*r*r; end; begin clrscr; write('Panjang jari-jari');readln(jari); writeln('Luas Lingkaran:',luaslingk(jari)); end.

TugasBuatlah program untuk menghitung luas segitiga, bujur sangkar / segi empat dengan input yang dinamis (input bisa diganti-ganti!)

Soal Latihan1. Secara umum dalam program Pascal dibagi 3 bagian. Sebutkan bagianbagian tersebut dan dibagian manakah jenis-jenis data yang akan dipakai didaftarkan dalam program Pascal! 2. Sebutkan 3 alasan mengapa kita harus memilih tipe data yang tepat dalam pembuatan program? 3. Sebutkan 2 tipe data sederhana dan 2 tipe data terstruktur dalam Pascal!(5%) 4. Apakah yang dimaksud dengan tipe data terstruktur?

ReferensiSantosa, P. Insap. 1995. Struktur Data Menggunakan Turbo Pascal 6.0; Andi Offset, Yogyakarta. Kadir, Abdul. 1989. Pemrograman Turbo Pascal Untuk IBM PC Menggunakan Versi 5.0 dan 5.5; Elex Media Komputindo, Jakarta. Nugroho, Eko. 1993. Bahasa Pemrograman Pascal. Andi Offset, Yogyakarta. Pranata, Antony. 1998. Pemrograman Borland Delphi Edisi II. Andi Offser, Yogyakarta.