You are on page 1of 24

Algoritma Pemrograman

Pertemuan Ke-1
(Pengantar Algoritma) :: Noor Ifada ::

S1 Teknik Informatika-Unijoyo

Su Pokok !a"a#an
Penda"uluan Arti Penting Algoritma Program Ter#truktur dan Algoritma Nota#i Algoritma

S1 Teknik Informatika-Unijoyo

Penda"uluan
% Kom&uter adala" alat elektronik untuk mengola" data dengan menggunakan &rogram tertentu untuk meng"a#ilkan informa#i % 'ung#i kom&uter adala" untuk &engola"an data (data processing)( #e"ingga kom&uter juga di#e ut #e agai &engola" data elektronik) Pro#e# dari &engola"an data dengan menggunakan kom&uter di#e ut #e agai Pengola"an *ata +lektronik (+*P atau Electronic Data Processing) % *i dalam kom&uter( terda&at agian yang di#e ut #e agai Software (Perangkat ,unak)) Perangkat lunak ini meru&akan &rogram-&rogram yang di&erlukan untuk menjalankan agian dari kom&uter yang di#e ut #e agai Hardware (Perangkat Kera#)
S1 Teknik Informatika-Unijoyo $

% .a/am-ma/am &erangkat lunak:

0 Operating System (Sistem Operasi)( adala" &rogram kom&uter yang di&erlukan untuk mengatur #emua yang kegiatan #i#tem kom&uter)( #ejak kom&uter mulai di"idu&kan "ingga kom&uter #ia& dimatikan) Kom&uter mengendalikan &enggunaan #emua &erangkat yang di&a#ang di kom&uter) 1onto" operating system adala" UNI2( 3+NI2( .S *4S( 5in NT) 0 Language Software (Bahasa Komputer)( adala" a"a#a yang digunakan untuk mem uat &rogram kom&uter) Karena digunakan untuk mem uat &rogram kom&uter( a"a#a kom&uter #ering di#e ut juga dengan a"a#a &emrograman (programming language)) 0 Application Software (Program Aplikasi)( yaitu &rogram yang ditera&kan &ada #uatu a&lika#i tertentu) Kom&uter di/i&takan untuk memenu"i e era&a ke utu"an( #e"ingga &rogram a&lika#i yang di uat &un erma/am-ma/am( di antaranya &rogram a&lika#i untuk mengola" kata( mengola" data( menggam ar( mengaran#ir mu#ik dan lain #e againya)
S1 Teknik Informatika-Unijoyo -

% !a"a#a &emrograman kom&uter digunakan #e agai #arana komunika#i untuk menjem atani "u ungan antara manu#ia dan kom&uter) Ia meru&akan #uatu &ro#edur atau tata /ara &enuli#an &rogram( yang dalam "al ini adala" kata( ek#&re#i( &ernyataan atau kom ina#i #emuanya yang di#u#un dan dirangkai dan eru&a urutan langka"-langka" untuk menyele#aikan ma#ala") % 'aktor-faktor yang "aru# di&er"atikan dalam a"a#a &emrograman:

0 Sintaksis( yaitu tata a"a#a yang digunakan dalam &rogram a&a ila terjadi ke#ala"an #intak#i#( maka akan lang#ung terli"at( karena kom&uter akan menam&ilkan &e#an #ala") 0 Semantik( yaitu mak#ud yang dikandung dalam #etia& &ernyataan yang ada dalam &rogram ke#ala"an #emantik ia#anya terjadi karena kekurang&a"aman ter"ada& #etia& &ernyataan yang dituli#kan &ada &rogram( #e"ingga 7alau&un &rogram erjalan teta&i tidak #e&erti yang dike"endaki) 0 Kebenaran logika( yaitu er"u ungan dengan enar atau tidaknya urutan &ernyataan yang ada di dalam &rogram entuk ke#ala"an ke enaran logika meru&akan ke#ala"an dalam mengim&lementa#ikan ma#ala" yang di"ada&i( #e"ingga &rogram yang dituli# tidak enar #e/ara logika)
S1 Teknik Informatika-Unijoyo 6

Pengelom&okan a"a#a &emrograman: % !a"a#a &emrograman tingkat renda" (low level programming language)
0 !ia#anya #ulit di&a"ami karena er"u ungan dengan me#in kom&uter itu #endiri atau ia#a di#e ut #e agai a"a#a me#in) 0 1onto" : a"a#a A##em ler)

% !a"a#a &emrograman tingkat tinggi (high level programming language)


0 .eru&akan a"a#a &emrograman yang memakai kata-kata dan &ernyataan yang muda" dimengerti manu#ia( me#ki&un ma#i" jau" er eda dengan a"a#a manu#ia #e#unggu"nya) 0 1onto" : !a"a#a Pa#/al( 1( 199

S1 Teknik Informatika-Unijoyo

Keterangan-keterangan yang diperlukan dalam penyusunan program komputer :


1. ". #. $. &. '. ata apa yang akan diproses!tersedia data ini di&erlukan untuk menentukan ti&e data yang di&erlukan ole" &rogram kom&uter) Bagaimana data dimasukkan keterangan ini di&erlukan untuk menentukan jeni# in#truk#i ma#ukan yang akan digunakan) imana data diletakkan keterangan ini di&erlukan untuk menentukan ;aria el-;aria el yang "aru# di#ediakan dalam &rogram) Operator apa sa%a yang dapat digunakan keterangan ini di&erlukan untuk menentukan o&erator-o&erator yang di&erlukan ole" &rogram) Bagaimana urutan instruksi disusun keterangan ini di&erlukan untuk menentukan jeni# &ro#e# yang di&erlukan (urutan( kondi#ional<&er/a angan( &engulangan) Bagaimana menyampaikan in(ormasi hasil pengolahan keterangan ini di&erlukan untuk menentukan jeni# in#truk#i keluaran yang akan digunakan)

S1 Teknik Informatika-Unijoyo

% Suatu &rogram kom&uter dikatakan aik jika ia memenu"i kriteria-kriteria:


0 Terintegra#i dan memiliki logika yang jela# 0 +fi#ien ter"ada& 7aktu dan &enggunaan memori 0 .enera&kan &rin#i& modularita# 0 .emiliki kelu7e#an dalam &enggunaan 0 Ke#eder"anaan

S1 Teknik Informatika-Unijoyo

Arti Penting Algoritma


Ta"a&an-ta"a&an untuk meme/a"kan #uatu &er#oalan dengan menggunakan kom&uter #e elum diim&lementa#ikan dalam #e ua" &rogram: 1) )enganalisa dan memahami suatu permasalahan yang ertujuan untuk menemukan kemungkinan &enyele#aian ter"ada& &erma#ala"an) ") )eran*ang algoritma yang meru&akan &ola &ikir ter#truktur yang eri#i ta"a&-ta"a& &enyele#aian #uatu &erma#ala"an #) )embuat program komputer yaitu mengu a" kode dari algoritma yang tela" di uat ke dalam &ernyataan-&ernyataan yang #e#uai dengan a"a#a &emrograman yang di&akai ?coding@ $) )en%alankan program se*ara rutin untuk menemukan ke#ala"an-ke#ala"an dalam &enuli#an #uatu &ernyataan dalam &rogram ?testing@ dan menemukan ke#ala"anke#ala"an dalam &rogram dan ke#ala"an yang ditemukan di&er aiki #am&ai tidak mun/ul ke#ala"an lagi ?debugging@ &) )elakukan dokumentasi ter"ada& #etia& langka" yang dilakukan ?documentation@
Keterangan:
0 0 Ta"a& 1 dan 2 meru&akan fa#e &enyele#aian ma#ala" (problem solving phase) Ta"a& $( - dan 6 terma#uk dalam fa#e im&lementa#i (implementation phase) S1 Teknik Informatika-Unijoyo >

Kriteria yang "aru# di&enu"i ole" &ro#edur &enyele#aian ma#ala" dengan algoritma:
0 Setia& langka" "aru# er#ifat &a#ti atau tertentu (definite) 0 Terda&at #etidaknya #atu keluaran (output) 0 Ter#truktur dan #i#temati# 0 .emiliki kriteria untuk meng"entikan &ro#e#
S1 Teknik Informatika-Unijoyo 1A

% Algoritma yang aik "aru# er#ifat efi#ien 7aktu dan &enggunaan memori kom&uter) Ba#il ak"ir fa#e &enyele#aian ma#ala" adala" &enyele#aian dalam entuk algoritma) % Tujuan algoritma adala" mem erikan &etunjuk tentang langka"-langka" logika &enyele#aian ma#ala" dalam entuk yang muda" di&a"ami nalar manu#ia #e agai a/uan yang mem antu dalam mengem angkan &rogram kom&uter) Pema"aman ter"ada& algoritma akan men/ega" #ejak dini kemungkinan terjadinya ke#ala"an logika &ada &rogram kom&uter yang dikem angkan)
S1 Teknik Informatika-Unijoyo 11

Syarat-#yarat yang "aru# di&enu"i ole" #uatu algoritma:


1) ,ogika &ro#edur &ada algoritma "aru# /uku& muda" di&a"ami nalar manu#ia 2) Calidita# &ro#edur &ada algoritma da&at ditelu#uri dengan muda" $) Tidak menim ulkan keran/uan inter&reta#i agi orang lain -) Pro#edur &ada algoritma "aru# /uku& muda" dikon;er#i ke &rogram kom&uter 6) Pro#edur &ada algoritma tidak ter&engaru" atau tergantung &ada a"a#a &emrograman a&a &un

S1 Teknik Informatika-Unijoyo

12

Program Ter#truktur dan Algoritma


% Program ter#truktur mem erikan e era&a keuntungan( antara lain : 0 Penuli#an &rogram menjadi le i" teratur 0 Program ter#u#un #e/ara #i#temati# 0 Program ter#u#un #e/ara ter#truktur 0 ,e i" muda" di&a"ami 0 Urutan atau alur &ro#e# dalam &rogram menjadi #eder"ana dan muda" di&a"ami % 1onto" a"a#a &emrograman ter#truktur adala" Pa#/al( 1( 199)

S1 Teknik Informatika-Unijoyo

1$

Komponen utama komputer :

0 piranti masukan dan piranti keluaran (I/O devices) &eralatan-&eralatan yang digunakan untuk mema#ukkan data atau &rogram ke dalam memori dan &eralatan-&eralatan yang digunakan untuk menam&ilkan "a#il dari #uatu o&era#i) 0 unit pemroses utama (+P, - Central Processing Unit) unit yang mengerjakan #eluru" o&era#i-o&era#i da#ar #e&erti o&era#i &er"itungan( o&era#i &er andingan( o&era#i mem a/a dan o&era#i menuli# 0 memori kom&onen yang erfung#i #e agai &enyim&an) Dang di#im&an di dalam memori adala" &rogram ( eri#i o&era#i-o&era#i yang akan dikerjakan ole" 1PU) dan data atau informa#i yang tela" diola" ole" o&era#i-o&era#i
Piranti .a#ukan Unit Pemro#e# Utama (1PU) Piranti Keluaran

.emori
S1 Teknik Informatika-Unijoyo 1-

Pengelompokan struktur proses dalam algoritma: % Proses urutan (sequence) 0 Pro#edur &ro#e# dalam algoritma yang dilakukan #e/ara urut langka" demi langka") 0 Se ua" urutan terdiri dari #atu atau le i" in#truk#i) Tia& in#truk#i dilak#anakan #e/ara erurutan #e#uai dengan urutan &elak#anaan( artinya #uatu in#truk#i akan dilak#anakan #etela" in#truk#i #e elumnya tela" #ele#ai dilak#anakan) % Proses penyeleksian (selection) 0 Suatu in#truk#i dikerjakan jika #uatu kondi#i tertentu di&enu"i) *engan adanya &ro#e# ini maka ada kemungkinan e era&a jalur ak#i yang er eda erda#arkan kondi#i yang ada) % Proses pengulangan (looping) 0 Suatu &ro#e# melakukan ek#eku#i #uatu &rogram #e/ara erulang-ulang &ada #uatu lok in#truk#i tertentu yang terkendali)
S1 Teknik Informatika-Unijoyo 16

Nota#i Algoritma
% Nota#i algoritma ukan meru&akan nota#i a"a#a &emrograman) Namun nota#i ini da&at diterjema"kan ke dalam er agai a"a#a &emrograman) Penota#ian algoritma "aru# dilakukan #edemikian "ingga muda" di a/a dan dimengerti) .e#ki&un nota#i algoritma tidak er entuk aku #e&erti nota#i a"a#a &emrograman( namun kon#i#ten#i ter"ada& nota#i &erlu di&er"atikan untuk meng"indari terjadinya kekeliruan) % !entuk nota#i algoritma:
0 Uraian de#kri&tif 0 *iagram-alir (flowchart) 0 Pseudocode

S1 Teknik Informatika-Unijoyo

18

Uraian *e#kri&tif
% *engan nota#i ergaya uraian( de#kri&#i #etia& langka" dijela#kan dengan a"a#a yang gam lang) Pro#e# dia7ali dengan kata kerja #e&erti E a/aF atau Emem a/aF( F"itungF atau Emeng"itungF( E agiF atau Emem agiF( EgantiF atau Emem agiF( dan #e againya( #edangkan &ernyataan kondi#ional dinyatakan dengan Ejika ))) maka )))F) % 1onto" menyele#aikan &erma#ala"an meng"itung lua# dan keliling #uatu lingkaran
Algoritma Hitung_Luas_dan_Keliling_Lingkaran DESKRIPSI: Masukkan jari-jari lingkaran (r) Hitung luas lingkaran dengan rumus L = r! Hitung keliling lingkaran dengan rumus K = ! "am#ilkan luas lingkaran "am#ilkan keliling lingkaran

S1 Teknik Informatika-Unijoyo

1:

*iagram Alir (flowchart)


.U,AI

% Flowchart adala" gam aran dalam entuk diagram alir dari algoritmaalgoritma dalam #uatu &rogram( yang menyatakan ara" alur &rogram ter#e ut) % 1onto" meng"itung lua# dan keliling lingkaran yang algoritmanya dinota#ikan dalam entuk diagram alir (flowchart)

P"i G3 (1 4

!a/a r

, GP"i H r H r

K G2 H P"i H r

1etak ,ua# ,ingkaran (,) 1etak Keliling ,ingkaran (K)

S+,+SAI

S1 Teknik Informatika-Unijoyo

1=

Sim ol-#im ol dalam diagram alir:

S1 Teknik Informatika-Unijoyo

1>

Pseudocode
% nota#i yang menyeru&ai nota#i a"a#a &emrograman tingkat tinggi( k"u#u#nya !a"a#a Pa#/al dan 1) % umumnya mem&unyai nota#i yang "am&ir miri& untuk e era&a in#truk#i dalam e era&a a"a#a &emrograman( #e&erti nota#i if-then-else( while-do( repeat-until( read( write( dan #e againya)
S1 Teknik Informatika-Unijoyo 2A

1onto" menyele#aikan &erma#ala"an meng"itung lua# dan keliling #uatu lingkaran dengan menggunakan entuk pseudocode:
Algoritma Hitung_Luas_dan_Keliling_Lingkaran $ Dimasukkan nilai jari-jari lingkaran (r)% &arila' dan (etak luas dan keliling lingkaran terse)ut dengan menggunakan rumus L=#'i r r dan K=! #'i r * DEKL+R+SI: (,nst #'i = -%./ r0 L0 K = real DESKRIPSI: read(r) L #'i r r K ! #'i r 1rite(2Luas lingkaran = 20L) 1rite(2Keliling lingkaran = 20K)

S1 Teknik Informatika-Unijoyo

21

Summary
% Algoritma meru&akan &ola &ikir yang ter#truktur untuk menyele#aikan #uatu ma#ala") *alam algoritma ini eri#i langka"-langka" yang di&erlukan ole" #eorang &emrogram untuk mem uat #e ua" &rogram) Iadi da&at dikatakan a"7a algoritma adala" "im&unan er"ingga langka"-langka" atau &ro#edur-&ro#edur logika yang "aru# dilak#anakan untuk menyele#aikan #uatu ma#ala" yang erorienta#i &ada &emrograman kom&uter) % Nota#i uraian de#kri&tif agu# jika digunakan dalam algoritma yang &endek( akan teta&i jika digunakan dalam algoritma yang e#ar( nota#i ini tidak efi#ien) Selain itu( &erkon;er#ian nota#i algoritma ke dalam nota#i a"a#a &emrograman akan relatif #ukar) % *iagram alir le i" menggam arkan aliran in#truk#i di dalam &rogram #e/ara ;i#ual dari&ada mem&erli"atkan #truktur &rogram) % Tidak #e&erti a"a#a &emrograman yang dire&otkan dengan tanda titik koma (semicolon)( indek#( format keluaran( kata-kata k"u#u# dan #e againya( #em arang ;er#i pseudocode da&at digunakan a#alkan &erinta"nya tidak mem ingungkan &em a/a) Keuntungan menggunakan nota#i pseudocode adala" kemuda"an mengkon;er#inya atau mentran#la#inya ke nota#i a"a#a &emrograman( karena terda&at kore#&onden#i antara #etia& pseudocode dengan nota#i a"a#a &emrograman) Kore#&onden#i ini da&at di7ujudkan dengan ta el tran#la#i dari nota#i algoritma ke nota#i a"a#a &emrograman a&a&un)
S1 Teknik Informatika-Unijoyo 22

Tuga#
% Install software a&lika#i a"a#a &emrograman Pa#/al

S1 Teknik Informatika-Unijoyo

2$

*aftar Pu#taka
% Andri Kri#tanto ?2AA$@) Algoritma dan Pemrograman dengan +..( Jra"a Ilmu( Dogyakarta) Iogiyanto B. ?1>=>@) /urbo Pas*al( Andi 4ff#et( Dogyakarta) Noor Ifada ?2AA6@) iktat )atakuliah Algoritma Pemrograman0 Bi a" Kom&eti#i A1( Iuru#an Teknik Informatika( Uni;er#ita# Trunojoyo) Kinaldi .unir ?2AA$@) Algoritma dan Pemrograman dengan Pas*al dan + edisi Kedua( Pener it Informatika( !andung)
S1 Teknik Informatika-Unijoyo 2-

% %

You might also like