Professional Documents
Culture Documents
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 $
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)
S1 Teknik Informatika-Unijoyo
S1 Teknik Informatika-Unijoyo
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
S1 Teknik Informatika-Unijoyo
12
S1 Teknik Informatika-Unijoyo
1$
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:
% 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
S+,+SAI
S1 Teknik Informatika-Unijoyo
1=
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-
% %