BAB 1
Pe n ge n a la n Pe m r og ra m a n Kom pu t e r
1 .1 Tuj ua n
Bagi an ini ak an m em b ah as dasar – dasar kom ponen dari kom put er m eliputi har dwar e
( per an gk at k er as) d an soft war e ( per angkat lun ak) . Kam i j uga ak an m eny er t akan gam bar an global t en t an g bahasa pem rogr am an dan si rkul asi pem r ogr am an . Akan dibahas pul a pada akh ir pem bah asan ini m en genai sist em dan konver si nu m erik.
Pada akh ir pem bah asan, dihar apkan pem baca dapat : Mengident ifikasi per bed aan kom ponen pada kom pu t er
Menget ahu i t ent ang bah asa pem r ogr am an kom pu t er dan kat egorin ya
Menget ahu i alur ker j a pem buat an pr ogr am dan m engaplikasikanny a pad a pem ecahan m asalah
Mem pelaj ar i t ent ang ber bagai sist em nu m er ik dan m et ode konver sin ya.
1 .2 Pen da hu lua n
Kat a kom put er b er asal dar i bah asa Lat in yait u Com pu t ar e y an g ar t in ya m en ghitun g. Dalam b ah asa I nggr is di sebu t t o com put e. Secar a definisi kom pu t er dit er j em ah kan sebag ai sekum pu lan alat elekt r onik y an g saling beker j a sam a, dapat m ener im a dat a ( in put ) , m engolah dat a ( pr oses) dan m em ber ikan infor m asi (out put ) ser t a t er koor din asi dibawah kont r ol progr am y an g t ersim pan di m em orinya. Jadi car a ker j a kom put er dap at kit a gam bar kan sebagai berikut :
Kom put er m em iliki dua kom ponen ut am a. Yan g per t am a adal ah h ar dwar e ( per an gk at ker as) y an g t er su sun at as kom ponen elekt r onik dan m ek anik.
Kom pon en ut am a yang l ain yait u soft war e ( per angkat lun ak) . Kom ponen ini t er diri at as dat a dan apli kasi – aplikasi kom put er .
1 .3 Kom p one n D a sa r Kom pu t e r
1 .3 . 1
H ARD W ARE
1 .3 .1 .1 Ce n t r a l Pr ocessin g Un it ( CPU)
Processor , m er upakan bagian dari per angk at ker as kom pu t er yang m elaku kan pem pr osesan ar i t m at ika dan logika ser t a pen gendali an oper asi kom put er secar a kesel uruh an . Prosesor t er diri at as dua bagian ut am a, yait u ALU ( Ari t hm et i c Logic Unit) dan Cont rol Unit . Kecep at an ker j a pr osesor biasan ya dit ent ukan oleh kecep at an cl ock dar i Cont rol Unit - n ya.
Contoh : ji ka pr osesor m em iliki f rekuensi clock 350 MHz, b er ar t i kecep at an pem pr osesan sat u inst r u ksinya = T = 1 / f = 1/ ( 350 x 106 Hz) , = 0 ,28 6 x 10- 8 deti k.
1 .3 .1 .2 M em or i
M e m o ri adalah m edia pen yi m pan d at a pada kom put er. Mem ori, ber dasar k an f ungsinya dibagi m enj adi dua yait u :
a . Prim a ry M e m o ry
Diper gun akan u nt uk m enyim pan dat a d an inst r uksi dari progr am yang sedan g dij al an kan. Ser in gkali di sebu t j uga sebagai RAM. Kar akt er istik dar i m em or i prim er adalah :
o Volatile ( infor m asi ada sel am a kom put er b ek er j a. Ket i ka kom pu t er
dipadam k an , in for m asi yan g disim pannya j uga h ilang)
o Ber kecepat an tin ggi o Akses r an dom ( acak)
b. Se con da ry M e m ory
Diper gun akan un t uk m enyim pan dat a at au pr ogr am biner secar a per m anen. Kar ak t er isti k dar i m em or i sekun der adalah
o Non volat il e at au per si st en
o Kecepat an r el at if r en dah ( dibandingkan m em ori prim er ) o Akses r an dom at au sekuensial
1 .4 . 2 Ka t e gori Ba h a sa Pe m r ogr a m a n
Masalah yang ak an kit a selesaikan ak an didefinisi kan pada bagian selanj u t nya.1 .5 . 1 D e finisi Pe r m a sa la h a n
dengan baik un tuk m endap at k an det ail per sy ar at an in put dan out pu t .
Sebu ah pendefinisan yang j el as adalah sebagi an dar i penyel esai an m asalah. Pem r ogr am an kom put er m em p er syar at k an u nt uk m endefiniskan pr ogr am t er l ebih dahulu sebelu m m em bu at su at u penyelesaian m asalah .
Mar i ki t a definisikan sebuah con t oh per m asalahan :
”Bua t la h se bua h progra m yan g ak an m en a m pilk an be ra pa ka li sebu ah n am a t a m pil pada sebua h da fta r”
1 .5 . 2 Ana lisa Pe r m a sa la h a n
Set el ah sebuah per m asalahan t er d efinisi secar a m em adai, lan gkah paling ringkas dan efisien dalam penyelesaian h ar us dirum uskan .
Um um nya, langk ah ber ikut n ya m elipu ti m em ecah kan m asalah t er sebu t m en j adi beber ap a b agian kecil dan rin gkas.
Con t oh m a sa la h :
Men am pilkan j um lah kem uncu lan sebuah nam a pad a d aft ar
I n pu t T e rh a d a p Prog ra m :
Daft ar Nam a, Nam a y ang akan dicar i
Ou t pu t Da ri Progra m :
Jum lah kem un cu lan nam a y an g dicar i
1 .5 . 3 D e sa in Alg orit m a da n Re p re se nt a si
Set el ah ki t a m enget ahui dengan baik dan j elas m engenai per m asalah an y an g i ngin diselesaikan , l an gkah sel an j ut n ya y ai t u m em buat r u m u san al gori t m a u nt u k m en yelesaikan per m asalahan . Dalam p em r ogr am an kom put er peny el esai an m asalah didefinisikan dal am langkah dem i langkah.
Al gori t m a adalah urut an langkah – lan gkah l ogis peny elesaian m asalah yan g di su sun secar a sist em at is dan logi s. Logi s m er upak an kun ci dar i sebu ah algorit m a. Lan gkah-langkah dalam algorit m a har us logis dan ber nil ai benar at au sal ah .
Al gori t m a dap at di ekpr esi kan dalam b ah asa m an usia, m en ggunakan pr esent asi gr afi k m elalui sebuah Fl owCh ar t ( di agr am ali r) at au pu n m elalui PseudoCode yan g m en j em bat an i ant ar a bah asa m an usia dengan bahasa pem r ogr am an.
Ber dasar kan per m asalahan yang t er j adi pada bagi an seb el um nya, bagaim anakah ki t a dapat m em ber ikan solusi pen yelesaian secar a um um dalam sebu ah alu r yang dap at dengan m u dah dim en ger t i?
1. Tent u kan daf t ar nam a
2. Tent u kan n am a yang ak an dicari , anggaplah ini m er u pakan sebuah k at a kunci 3. Bandingkan kat a kunci t er hadap set iap nam a y an g t er dapat pada daft ar
4. Jika k at a kun ci t er sebut sam a deng an n am a y an g t er dap at pada daf t ar , t am b ahk an nilai 1 pada hasil per hit ungan
5. Jika seluru h n am a t elah dibandingkan, t am pil kan h asil perhit ungan (out put )
M e n ge k spre sik a n ca ra pe n ye le sa ia n m e la lu i Flow Ch a rt :
Gam bar 2: Cont oh Flowchart
M e n ge k spre sik a n so lu si m e la lu i Pse u docod e :
li st Nam a = Daft ar Nam a keyNam a = Nam a yang di car i hi t un g = 0
Un t uk set iap n am a pad a Daft ar Nam a lakuk an : Jika n am a = = k eyNam a
Hit ung = Hit ung + 1 Tam pil kan Hi t ung
Flowchar t adalah r epr esen t asi gr afis dari l an gk ah – langkah yang h ar u s diikuti dalam dapat m enuliskan operasi- operasi yang dikenakan pada input , m aupun operasi lainnya. Sam a sepert i
Set el ah m enyelesaikan selur uh kode progr am , l an gkah selan j ut n ya yait u m engu ji pr ogr am t er sebut ap ak ah t elah ber fu ngsi sesuai t u j uann ya u nt u k m em ber ikan suat u solu si unt u k m enyelesaikan suat u m asalah. Bilam ana t er j adi kesalah an – kesalahan logika at as progr am, disebut j u ga sebagai bugs, m aka kit a per lu unt uk m engkaj i ulan g r um usan/ al gorit m a yang t elah dibuat , kem u dian m em per baiki i m plem ent asi kode pr ogr am y ang m un gkin keliru . Proses ini di sebu t dengan debu gging.
Ter dapat dua t i pe kesal ah an ( err or s) yang akan dihadapi seorang pr ogr am m er . Yan g per t am a ad alah com pile- t im e er r or , dan yang kedua adalah r un t im e er r or.
Com pile- t im e er ror s m un cul jika t er dapat k esalahan penulisan kode pr ogr am . Com piler
akan m endet eksi kesalah an yang t er j adi sehin gga kode t er sebu t t idak akan bisa dikom pilasi.
Ter lu pakannya penu lisan sem i- colon ( ; ) pada akhi r sebuah per nyat aan pr ogr am at au kesal ahan ej aan pada beber ap a p er in t ah dapat di sebu t j uga sebagai com pile– t im e er r or.
Com piler tidaklah sem pu rn a sehin gga t idak dapat m engiden tifikasi seluruh kem un gkinan kesal ahan pada w akt u kom pilasi. Um um nya kesalahan yang t er j adi ad alah kesalahan logika seper t i per ulan gan t anpa akh ir . Tipe kesalahan ini disebut dengan ru ntim e er r or. Sebagai contoh, penulisan kode pada pr ogr am t er lih at t anpa k esalahan , n am un pad a saat anda m en elu suri st r u kt ur logika kode t er sebut , bagian y ang sam a p ad a kode t er ek seku si ber ulang–ulan g t anpa akhir . Pada kasu s t er sebut com piler t idak cu ku p cer das unt u k m en an gk ap k esalah an t ipe ini pada saat pr oses kom pilasi. Sehingga saat pr ogr am dij alankan , aplikasi at au bahk an keselur uh an kom put er m eng alam i hang kar en a m en galam i proses p er ulangan yang t idak ber akhir . Con t oh lain dari r un- t im e er r or
adalah perhit ungan at as nilai yang salah , kesalahan penet ap an kon di si dan lain sebag ain ya.
Un t uk m em udah kan dalam m em er iksa su at u kesal ahan su at u pr ogr am at aupu n m em ah am i j alannya pr ogr am , ki t a j u ga per lu m em bu at su at u doku m ent asi dari progr am y ang di buat . Doku m ent asi t er sebut ber isi infor m asi m ul ai dar i t uju an dan fun gsi pr ogr am , algorit m a, ser t a car a pen ggunaanny a.
1 .6 Sist em N u m e r ik da n Kon ve r si
1 .6 . 1 Siste m Bila nga n D e sim a l
Man usia um um nya m en ggunak an bilangan pada bent u k desim al. Bilangan desim al adalah si st em bil an gan yang ber basi s 1 0. Hal ini berar t i bilangan – bilangan pada sist em ini t er diri dari 0 sam pai dengan 9 . Beriku t ini beb er apa cont oh bil an gan dalam bent u k desim al :
12610 ( u m u mn ya hany a dit ulis 126)
1110 ( um um nya han ya di t uli s 11)
1 .6 . 2 Siste m Bila nga n Bine r
Bilan gan dalam bent uk bi ner adalah bilangan ber basis 2. I ni m enyat ak an bah w a bilangan y ang t er dapat dalam sist em ini h an ya 0 dan 1. Ber ikut ini cont oh penulisan dar i bilangan bin er :
11111102
10112
1 .6 . 3 Siste m Bila nga n Ok t a l
Bilan gan dalam bent uk okt al ad alah sist em bilangan yan g ber basis 8. Hal ini berar t i bilangan– bil an gan yang diper bolehkan h an ya ber kisar ant ar a 0 – 7. Ber ikut ini cont oh penulisan dari bilangan okt al :
1768
138
1 .6 . 4 Siste m Bila nga n H e k sa de sim a l
Bilan gan dalam sist em heksad esim al adal ah sist em bilangan ber basis 16 . Sist em ini hanya m em p er bolehkan pen ggunaan bilangan dalam sk al a 0 – 9, dan m enggun aan hu ruf A – F, at au a – f kar en a per bed aan kapi t al hu ruf tidak m em ili ki efek apapu n. Ber ikut ini con t oh penulisan bilangan pada si st em h ek sad esim al :
7E16
Tabel 3: Bilangan hek sadesi m al dan per ban dingann ya t erhadap desim al
Ber ikut adalah per bandingan keselur uh an si st em penulisan bil an gan :
De sim a l Bin e r Ok t a l H e k sa de sim a l
1 2610 111 11 102 1 768 7 E16
1 110 101 12 1 38 B16
Tabel 4: Cont oh Konv ersi Ant ar Si st em Bilangan
1 .6 . 5 Konv e r si
1 .6 .5 .1 Desim a l k e Bin e r / Bine r k e De sim al
Un t uk m engubah angka desim al m enj adi an gk a bin er digun ak an m et ode p em bagian dengan an gk a 2 sam bil m em per hat ikan si sany a. Am bil h asil bagi dar i proses pem bagian sebelu m n ya, d an bagi kem b ali bilangan t er sebut dengan angka 2 . Ulangi l angkah-langkah t er sebut hingga h asil bagi akhir ber nilai 0 at au 1 . Kem udian su sun nilai–nilai sisa dim ulai dar i nilai si sa t er akh ir seh ingga diper oleh bent u k bi ner dar i angka bilan gan t er sebu t .
Se ba ga i Con t oh :
12610 = ? 2
H a sil Ba gi N ila i Si sa
126 / 2 = 63 0
63 / 2 = 31 1
31 / 2 =
15 1
15 / 2 = 7 1
7 / 2 = 3 1
3 / 2 = 1 1
1 / 2 = 1
Hek sa de sim a l 0 1 2 3 4 5 6 7 8 9 A B C D E F
N ila i Da la m De sim a l 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dengan m enuliskan n ilai sisa m ulai dari bawah k e at as, didapat kan angka bin er 11111102 .
Konver si bilangan biner ke desim al didapat k an dengan m en j um lahkan per k ali an sem u a bit biner dengan per pan gk at an 2 sesuai dengan posisi bi t t er sebut .
Se ba ga i Con t oh :
1100110 12 = ? 10
An gka desim al 20 5 diper oleh dar i penj um lahan an gk a yang diar si r . Set iap biner yan g ber nilai 1 ak an m engalam i perhitu ngan, sedan gk an yang ber n ilai 0 tidak ak an dihit un g k ar en a han ya akan m en ghasilkan nil ai 0.
1 .6 .5 .2 D esim a l k e Ok t al/ H ek sa desim a l dan Ok t a l/ He k sa desim a l ke De sim a l
Pengubah an bil an gan desim al ke bilangan okt al at au bilangan h eksadesim al pad a dasar n ya sam a dengan kon ver si bil an gan desim al ke biner . Per bedaan nya t er let ak p ad a bilangan pem bagi. Jika pada konver si biner pem bagin ya adalah an gka 2, m aka p ad a konversi okt al pem bagin ya adal ah an gk a 8, sedangkan p ad a konver si h eksadesim al pem bagin ya ad al ah 16.
Con t oh k on ve rsi Ok t a l :
12610 = ? 8
Dengan m enuliskan nilai sisa dar i bawah ke at as, ki t a per oleh bilangan okt al 1768
H a sil Ba gi N ila i Sisa
1 26 / 8 = 15 6
15 / 8 = 1 7
Con t oh k on ve rsi H e k sa de sim a l :
12610 = ? 16
Dengan m en uli skan n ilai sisa dar i baw ah k e at as, kit a p er oleh bil an gan Hek sadesim al 7E1 6
Konver si bil angan Okt al dan Heksad esim al sam a dengan konver si bil angan Biner ke Desi m al. Per bedaan ya hanya t er d ap at pada penggun aan angka b asis. Jika sist em Bin er m en ggu nakan basis 2 , m aka pada bilangan Okt al , basis yang digunakan adalah 8 dan pada bilangan Heksadesim al adalah angka 16.
Con t oh k on ve rsi Ok t a l : 1768 = ? 10
H a sil Ba gi N ila i Sisa
126 / 1 6 = 7 1 4 ( E)
7 / 1 6 = 7
Po sisi 2 1 0
Dig it Ok t a l 1 7 6
6 x 80 = 6 7 x 81 = 56 1 x 82 = 64
Con t oh k on ve rsi H e k sa de sim a l :
7E16 = ? 10
Po sisi 1 0
Dig it H e k sa d e sim a l 7 E
1 4 x 160 = 14 7 x 161 = 112
T OTAL: 1 2 6
1 .6 .5 .3 Bine r k e Ok t al da n Ok ta l k e Bine r
Un t uk m en gubah bilangan biner k e okt al, kit a pilah bilangan t er sebu t m en j adi 3 bit bilangan biner dari kanan ke kiri. Tabel berikut ini m enunj u kkan r epr esen t asi bilan gan biner t er h adap bil an gan okt al :
Digit Ok t a l Re p re se n t a si Bin e r
0 0 00
1 0 01
2 0 10
3 0 11
4 1 00
5 1 01
6 1 10
7 1 11
Sebagai con toh :
11111102 = ? 8
0 0 1 1 1 1 1 1 0
1 7 6
Men gu bah sist em bilangan okt al m enj adi bilangan biner dil akukan dengan car a k eb alikan dar i konver si biner ke okt al. Dalam h al ini m asing–m asin g digit bilangan okt al diu bah langsung m enj adi bilangan biner dalam kelom pok t i ga bit , kem udian m er angkai kelom pok bi t t er sebut sesuai ur u t an sem u la.
Sebagai con toh :
1768 = ? 2
1 7 6
0 0 1 1 1 1 1 1 0
1 .6 .5 .4 Bine r k e He k sa de sim a l da n He k sa desim a l k e Bin e r
Pengubah an bilangan Biner ke Heksad esim al dilaku kan dengan pen gelom pokan set iap em p at bit Biner dim ulai dari bit paling kan an . Kem udian konver sikan set i ap k el om pok m en j adi sat u digit Hek sadesi m al. Tab el beri ku t m enu nj u kkan r epr esen t asi bilangan Bin er t er had ap di git Heksadesim al :
Digit H e k sa de sim a l Re pre se n t a si Bin e r
0 0000
1 0001
2 0010
3 0011
Digit H e k sa de sim a l Re pre se n t a si Bin e r
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Tabel 6: Bi langan hek sadesim al dan konv er sinya dal am biner
Sebagai con toh :
11111102 = ? 16
0 1 1 1 1 1 1 0
7 E
Konver si bilangan Hek sadesim al ke Biner dilakuk an dengan m em b alik u rut an dar i proses pengubah an Biner ke Heksad esim al . Sat u digit Hek sadesim al di konver si m enj adi 4 bit Biner.
Sebagai con toh :
7E16 = ? 2
7 E
1 .7 Lat ih a n
1 .7 . 1 M e ny usun Algorit m a
Dar i per m asalahan–per m asalah an di bawah ini, susunlah sebu ah algorit m a u ntu k m en yelesaikann ya. Anda d ap at m enyusun nya d en gan m enggun ak an pseudocode at au pun flowch ar t .
1. Mem asak Rot i
2. Men ggun ak an Kom pu t er di Labor at oriu m 3. Men ghit un g r at a– r at a dar i 3 bu ah bil an gan
1 .7 . 2 Konv e r si Siste m Bila ng a n
Konver sikan bil an gan – bil an gan berikut ini :
1. 198010 ke si st em bil angan Biner , Heksadesim al dan Okt al
2. 1001001 10 12 ke si st em bil an gan Desi m al, Heksadesi m al dan Okt al
3. 768 ke sist em bilangan Bin er , Heksadesim al dan Desim al