Anda di halaman 1dari 30

KUG1E3/ Pemrograman Terstruktur 1

KUG1E3/ Pemrograman Terstruktur 1


Yuliant Sibaroni M.T, Abduraman !ai"al M.Kom
KK Algoritma dan Kom#utasi
KUG1E3/ Pemrograman Terstruktur 1
Pengantar Algoritma
Tentang Mata Kulia
Kasus$Kasus Pemrograman
Paradigma Pemrograman
Se%ara !aasa Pemrograman
&otasi Algoritmik
Ti#e 'asar dan (#erasin)a
* +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Tentang Mata Kuliah
Hubungan dengan Mata Kuliah lain
Mata kulia #emrograman terstruktur 1 menga%arkan konse#$ konse#
#emrograman se-ara #rosedural/terstruktur
Mata kulia ini memiliki keterkaitan dengan MK #ada tingkat atas
Penguasaan )ang baik terada# MK ini diara#kan akan berguna sebagai
sebagai bekal bagi maasis.a dalam mengambil mata kulia #emrograman
#ada tingkat )ang lebi atas se#erti / MK
Pemrograman Terstruktur 2,
esain dan Analisis Algoritma
Kom!utasi Paralel
"istem Terdistribusi
Gra#ika Kom!uter dan Kom!utasi Kiner$a Tinggi
3 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Tentang Mata Kuliah
Titik %erat Pembela$aran
Mata kulia ini menga%arkan konse# #emrograman ke#ada
maasis.a, bukan !aasa Pemrograman tertentu
&otasi )ang digunakan dalam kulia ini adala sebagian besar
adala notasi algoritmik )ang menga-u ke#ada re0erensi 112.
Titik berat/ maasis.a dia%arkan untuk men)elesaikan suatu
masala dengan langka$langka )ang sistematis menggunakan
notasi standar 3notasi algoritmik4 )ang tela diteta#kan
, +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
'(er(ie)
Kasus #emrograman menggunakan #erinta$ #erinta 'asar
Kasus #emrograman dengan Pen-abangan
Kasus #emrograman dengan Perulangan
'alam sub$bab ini, akan diberikan kasus$kasus )ang ter%adi dalam
dunia n)ata beserta solusin)a. Solusi )ang diberikan beru#a
sederetan instruksi / langka$langka untuk men)elesaikan kasus
tersebut . !ebera#a kom#onen algoritma )ang terkait dengan kasus
tersebut kemudian disebutkan.
5 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
Kasus&Kasus dengan Perintah& Perintah asar* assignment, +/'
,ontoh 1-1
'imiliki * gelas 3A dan !4 dengan bentuk dan ukuran )ang sama, berisi te dan
ko#i
!agaimana -ara mem#ertukarkan isi * gelas tersebut 6
"olusi
'i#erlukan 1 gelas kosong berukuran sama/ 7
Tuangkan isi gelas A ke 7 3 7 sekarang berisi te4
Tuangkan isi gelas ! ke A 3 A sekarang berisi ko#i4
Tuangkan isi gelas 7 ke ! 3 ! sekarang berisi te4
8 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
Kasus&Kasus dengan Perintah& Perintah asar* assignment, +/'
,ontoh 1-2
'imiliki 9erigen 3 liter dan 5 liter
!agaimana -ara menda#atkan air te#at , liter dari sumber air )ang tak
teringga an)a dengan menggunakan kedua %erigen tersebut 6
"olusi
a. :si %erigen 5 liter sam#ai #enu
b. Tuangkan air dari %erigen 5 liter ke %erigen 3 liter sam#ai #enu
Saat ini / %erigen 5 liter berisi * liter air, %erigen 3 liter berisi 3 liter air
-. !uang semua air #ada %erigen 3 liter
d. Tuangkan semua air dalam %erigen 5 liter ke %erigen 3 liter
Saat ini / %erigen 5 liter kosong, %erigen 3 liter berisi * liter air
e. :si #enu %erigen 5 liter
0. isi %erigen 3 liter sam#ai #enu menggunakan %erigen 5 liter
; +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
Kasus Pen.abangan
,ontoh 1-3
Menentukan maasis.a )ang tertinggi dari dua orang maasis.a 3A
dan !4 tan#a menggunakan #engukur
"olusi
a.Kedua maasis.a diminta berdiri #ada lantai )ang datar
b.'iliat #osisi ke#ala kedua maasis.a, %ika A lebi tinggi maka
A adala maasis.a tertinggi, %ika tidak / ! )ang tertinggi
< +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
Kasus Perulangan
,ontoh 1-/
Men-ari ku#on undian )ang bernama !udi dari 1=== ku#on.
"olusi
a.Ambil sebua ku#on
b.!a-a nama )ang tertulis, a#aka >!udi? atauka tidak
-.Ulangi langka a dan b sam#ai ketemu ku#on dengan nama
>!udi? atau ku#on tela abis 3 sam#ai ku#on ke$1===4
+ +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Kasus&kasus Pemrograman
Kasus Pen.abangan dan Perulangan
,ontoh 1-0
Men-ari rute ter#endek dari kota A ke kota G, dengan asumsi / kita tidak
memiliki #eta, an)a tau %arak dari satu kota ke kota lainn)a6
"olusi
a.Mulai dari kota A
b.7oba buat rute sembarang ke kota lainn)a sam#ai berakir ke G.
%ika tidak berasil, ulangi langka a. 9ika berasil itung total %arakn)a@
-.Ulangi langka a dan b, sam#ai tidak ada rute )ang sama terulang
d.Pili rute dengan %arak )ang terke-il
1= +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Paradigma Pemrograman
e#inisi Paradigma !emrograman 1&orman , Kurt2
"ebuah !ola 1ang ber#ungsi sebagai !anduan dalam !emrograman kom!uter
Paradigma Pemrograman da!at diKlasi#ikasi&kan men$adi 1&orman , Kurt2 *
A- Paradigma Pemgrograman Utama
:m#eratiAe
Bungsional
Cogik
(b%e-t$(riented
%- Paradigma Pemrograman 2ainn1a 1ang Mungkin
Disual
Parallel
7onstraint !ased
!ebera#a ali ber#enda#at, klasi0ikasi #aradigma se#erti ini sulit diim#lementasi
!an)ak baasa #emrograman )ang tidak bisa digolongkan se-ara te#at dalam
#aradigma tertentu teta#i meru#akan gabungan dari bebera#a #aradigma
3Multi!le Paradigm4
11 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Paradigma Pemrograman
'(er(ie) Paradigma +m!erati(e
'isebut %uga #aradigma !rosedural
Kata kun-i 1&orman , Kurt22/ Birst do this and neEt do that
'alam #aradigma ini, #en)elesaian kasus dilakukan dengan men)usun instruksi$
intruksi #emrograman se-ara terurut, dalam masala n)ata al ini da#at
dianalogikan se#erti #rosedur$#rosedur administrasi )ang ada di suatu
#erusaaan, #rosedur #emasangan alat, #rosedur #en)etelan dll
!aasa #emrograman )ang menggunakan / Pas-al, 7
,ontoh 1-3
Pen.arian 4ilai Terbesar antara a,b, dan .
Cangka$langkan)a/
Asumsikan/ nilai terbesar 3Maks4 adala a
!andingkan Maks dengan b, %ika b lebi besar dari Maks, maka nilai Maks F b
!andingkan Maks dengan -, %ika - lebi besar dari Maks, maka nilai Maks F -
Tam#ilkan Maks
1* +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Paradigma Pemrograman
'(er(ie) Paradigma 5ungsional
:den)a berasal dari konse# matematis tentang 0ungsi, kata kun-i 1&orman , Kurt22/
E(aluate an e6!ression and use the resulting (alue #or something
'alam #aradigma ini , model kom#utasin)a adala sebagai eAaluasi eks#resi . Pemrograman
0ungsional memerlukan 0ungsi adala sebagai #irst&.lass, )aitu 0ungsi di#erlakukan sebagai
nilai )ang da#at dikirim sebagai argumen ke 0ungsi lainn)a atau asil dari suatu 0ungsi 152.
7onto baasa #emrograman / (-aml, Erlang, Gaskell
,ontoh 1-7
Perhitungan 5ibona..i dengan Erlang 839
13 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Paradigma Pemrograman
'(er(ie) Paradigma 2ogik
Kata kun-i 1&orman , Kurt22/
Ans)er a :uestion (ia sear.h #or a solution
Paradigma ini sangat -o-ok bila ditera#kan dalam masala )ang berubungan
dengan ekstraksi #engetauan dari 0akta$0akta dasar dan relasi.
!aasa Pemrograman / Prolog
,ontoh 1-;
Pende#inisian Hubungan Keluarga dan Peman#aatann1a
Cangka$langkan)a/
'ide0inisikan relasi A)a3A,!4 H A A)a !I
'ide0inisikan relasi A)a3A,74
'ide0inisikan relasi A)a3',A4
'ide0inisikan relasi Kakek3J,K4 A)a3J,Y4 A&' A)a3Y,K4
'a#at disim#ulkan ba.a / ' kakek ! dan 7
1, +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
Paradigma Pemrograman
'(er(ie) Paradigma 'b$e.t&'riented
Kata kun-i 1&orman , Kurt22/
"end messages bet)een ob$e.ts to simulate the tem!oral e(olution
o# a set o# real )orld !henomena
Paradigma ini saat ini -uku# luas digunakan dalam dunia #emrograman terutama
dalam #emrograman )ang menggunakan GU: 3Gra#i-al Unit :nter0a-e4 didalamn)a.
'alam #aradigma ini, sebua #rogram kom#uter di#andang sebagai ob)ek L ob)ek
)ang saling berubungan. Proses #embuatan #rogram dia.ali dengan #ende0inisian
semua ob)ek )ang terkait beserta o#erator$o#eratorn)a.
!aasa Pemrograman / 9aAa, 7MM
,ontoh 1-<
Pembuatan Kalkulator "ederhana
Cangka$langkan)a/
'ide0inisikan (b)ek Kotak+n!ut , dg o#erator utama / is!la1Kotak, ,learKotak, Get+n!ut
'ide0inisikan (b)ek Kali, dengan o#erator utama/ HitungKali
'ide0inisikan (b)ek =umlah, dengan o#erator utama/ Hitung=umlah
'ide0inisikan (b)ek %agi, dengan o#erator utama/ Hitung%agi
15 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
"e$arah %ahasa Pemrograman
'(er(ie)
!aasa #emrograman suda berkembang -uku# #esat se%ak kom#uter
#ertama dibuat. !an)ak sekali baasa #emrograman )ang tela dibuat sam#ai
saat ini, biasan)a disesuaikan dengan kom#uter )ang digunakan #ada saat itu.
!erikut adala #erkembangan baasa #emrograman ditin%au dari sisi
#aradigma dan 0okus/#embaaruan )ang dilakukan #ada #eriode .aktu
tersebut 1'enis Sureau 2
Tahun />&an*
!aasa Pertama, -onto / E4+A, ,oding "1atem, A?, Assembl1
Tahun 0>&an *
Pembuatan !aasa Tingkat Tinggi 3)ang lebi dekat ke baasa manusia4.
7onto / Auto.ode , +P2 3:n0ormation Pro-essing Canguage4
Tahun 3>&an*
Pengembangan ke ara baasa dengan 0ungsi )ang kusus
7onto / 2+"P 3C:St Pro-essing4, ,'%'237(mmon !usiness (riented Canguage4. 18 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
"e$arah %ahasa Pemrograman
2an$utan "e$arah %ahasa Pemrograman
Tahun 7>&an*
Pemrograman Terstruktur. 'uel antara Pas.al dan ,. 'asar
#engembangan P7 sam#ai taun <=s$an.
Tahun ;>&an*
Eks#erimen keara #aradigma lain termasuk ob%e-ts.
7onto / ,@@, 'b$e.t Pas.al
Tahun <>&an dan 2>>>&an*
Generalisasi ob$e.t&oriented !rogramming dengan didukung
kiner$a mi.ro.om!uters 1ang semakin .e!at-
7onto / =a(a, P1thon, Aisual %asi., %orland el!hi
+nternet Programming Bdan ino(asi lainn1aC-
7onto / PHP, =a(a".ri!t, ,D
Tahun 2>1>&an*
7on-urren-) dan as)n-roni-it).
7onto / ,@@11, Go, ?ust 1; +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
'(er(ie)
'idalam kulia #emrograman terstruktur 1 ini, kita tidak
menggunakan baasa #emrograman tertentu
&otasi )ang digunakan dalam kulia ini/ 4otasi Algoritmik
Tidak di#erlukan so0t.are tertentu untuk men%alankan / me$
running #rogram )ang dibuat dengan notasi algoritmik
Kebenaran sebua #rogram da#at di#eriksa berdasarkan
kete#atan #enggunaan notasi algoritmik dan kebenaran logika
)ang digunakan
1< +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kom!onen Utama
Ada 3 kom#onen utama #en)usun sebua #rogram, )aitu/
=udul
'ia.ali dengan kata Program dilan%utkan dengan nama #rogram
Kamus
!erisi #ende0inisian T)#e, Konstanta, Dariabel, 0ungsi, dan #rosedur
Algoritma
!erisi instruksi$instruksi algoritmik untuk men)elesaikan suatu masala
Selain 3 kom#onen utama tersebut, terda#at bagaian lain )ang disebut komentar-
Pembuatan komentar dia.ali dengan >H >dan diakiri dengan >I?. Komentar berisi
#en%elasan dari sebua #rogram. Komentar sangat #enting dalam #embuatan sebua
#rogram 3.a%ib ada4, karena akan sangat membantu bagi kita dalam memaami alur
logika sebua #rogram, terlebi untuk #rogram )ang -uku# kom#leks.
1+ +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
,ontoh 1-1>
Membuat #rogram kosong
"olusi
Program Kosong
Kamus
Algoritma
*= +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
=udul
&otasi / Program nama NProgram
Pemberian nama #rogram tidak memiliki aturan )ang ketat, teta#i #erlu
di#eratikan al$al sebagai berikut/
'ia.ali dengn al#abeti-al
Tidak menggunakan nama )ang sama dengan )ang ada dalam notasi
algoritmik
'iusaakan nama #rogram sesuai dengan a#a )ang diker%akan #rogram
Kalau terdiri dari * kata atau lebi, %angan di#isa dengan s#asi

*1 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus
Kamus digunakan untuk mende0inisikan segala sesuatu )ang akan digunakan dalam #rogram
ini, meli#uti /
Ti!e bentukan
'idalam notasi algoritmik, ada 5 ti#e dasar )ang bisa digunakan 3 integer, real, -ara-ter,
boolean , string4. Kita bisa mende0inisikan ti#e lainn)a dengan -ara tertentu. Ti#e ini
disebut sebagai ti#e bentukan
Konstanta
9ika didalam #rogram, %ika kita #erlu menggunakan suatu nilai tertentu 3 terutama untuk
nilai )ang memiliki digit besar4, kita bisa de0inisikan nilai terebut dalam bentuk konstanta
Aariabel
Selama #rogram di%alankan, biasan)a kita #erlu men)im#an nilai )ang diola #rogram
dalam sebua .ada. Oada )ang dimaksud disebut sebagai Aariabel.
5ungsi / s#esi0ikasin)a sa%a
Prosedur / s#esi0ikasin)a sa%a
** +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus* Ti!e&ti!e dasar
Ketika mende0inisikan sebua Aariabel, maka %uga arus diikuti dengan #ende0inisian
ti#e datan)a. Ada 5 ti#e dasar )ang bisa digunakan )aitu /
?eal
Ti#e ini digunakan bila datan)a beru#a bilangan #e-aan, se#erti nilai rata$rata,
data #engukuran dll
+nteger
Ti#e ini digunakan bila datan)a beru#a bilangan bulat, se#erti %umla orang, %umla
benda , mata uang dll
,hara.ter
Ti#e ini digunakan bila datan)a an)a terdiri dari satu karakter, se#erti %enis kelamin
3 C/P4 , %a.aban multi#le -oi-e dll
%oolean
Ti#e ini digunakan bila datan)a bernilai true/0alse, misaln)a dalam #en-arian data,
dide0inisikan Aariabel 0ound berti#e boolean
"tring 3 kum#ulan karakter4
Ti#e ini digunakan bila datan)a terdiri dari ban)ak karakter , se#erti nama,alamat dll
*3 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus
,ontoh 1-11
!erikut -ara mende0insikan suatu kamus berisi ti#e bentukan, konstanta dan Aariabel/
Kamus
Type logika : boolean Hmende0insikan ti#e bentukan dg nama logikaI
Constant Phi : Real=3.14 Hmende0inisikan konstanta bernama PiI
a,b : integer Hmende0inisikan Aariabel a dan b berti#e integerI
c : String H mende0inisikan - berti#e String I
d : logika H mende0inisikan Aariabel d berti#e logika I
,atatan
Penulisan notasi algoritmik beru#a ti#e atau instruksi lainn)a menggunakan
underline, -onto integer , T1!e, dll.
*, +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus* '!erasi&o!erasi !ada ti!e&ti!e dasar
!ebera#a ti#e dasar )ang sia# digunakan memiliki bebera#a o#erasi
3o#erator4 )ang .a%ib diketaui /
Ti#e / ?eal
7onto / *.3 1=.= ,.1 *5,8
'!erator etail Keterangan Eks!resi BTi!eC
Aritmatika M , E, /, $ Pen%umlaan, #erkalian,
#embagian, #engurangan
a M b 3real4
a E b 3real4
a / b 3real4
Perbandingan F, P,Q,PQ Sama dengan, lebi ke-il,
lebi besar, tidak sama
a F b 3boolean4
a PQ b 3boolean4
PF, QF Cebi ke-il atau sama, a PF b 3boolean4
a QF b 3boolean4
*5 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus* '!erasi&o!erasi !ada ti!e&ti!e dasar
Ti#e / +nteger
7onto / * 1= *5 *1
(#erator )ang digunakan sama dengan ti#e Real, ditamba
'!erator etail Keterangan Eks!resi
Bti!eC
Aritmatika
'iA Gasil Pembagian
!ulat
1= 'iA 3
3 asiln)a 3/
integer4
Mod Sisa Pembagian
!ulat
1= Mod 3
3 asiln)a 1/
integer4
*8 +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus* '!erasi&o!erasi !ada ti!e&ti!e dasar
Ti#e / %oolean
7onto / True Balse 3nilain)a an)a ini sa%a4
'!erator etail Keterangan Eks!resi Bti!eC
Cogika A&' !ernilai true %ika kedua #ern)ataan
3A,!4 true
A A&' !
3boolean4
(R !ernilai #alse %ika kedua #ern)ataan
3A,!4 #alse
A (R ! 3boolean4
&(T &egasi / &ilain)a berla.anan dengan
nilai #ern)ataan
&(T A 3boolean4
ES EkuiAalen/ !ernilai true bila kedua
#ern)ataan bernilai sama
A ES ! 3boolean4
J(R EElusiAe (r/ bernilai true bila an)a
terda#at satu #ern)ataan )ang
bernilai true
A J(R !
3boolean4
*; +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
4otasi Algoritmik
Kamus* '!erasi&o!erasi !ada ti!e&ti!e dasar
Ti#e / ,hara.ter
7onto / >A? >!? >3?
'!erator etail Keterangan Eks!resi Bti!eC
Perbandingan F ,
PQ
Gan)a untuk membandingkan
a#aka dua karakter sama
atauka tidak
A PQ !
3boolean4
Ti#e / "tring 3 arra) o0 -ara-ter4
7onto / >A#a? >!antal? >k3k1?
(#erator )ang digunakan se#erti 7ara-ter, ditamba
'!erator etail Keterangan Eks!resi Bti!e* booleanC
Konstruksi T Konkatenasi /
Menggabungkan *
string
A T !
>ruma? T >TUA? 3 Gasil/
rumaTUA4
*< +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
?e#erensi
1. :nggriani Ciem, 'iktat Kulia :B**3 Algoritma 'an Pemrograman,
9urusan Teknik :n0ormatika !andung, 1+++
*. Rinaldi Munir, Algoritma dan Pemrograman, edisi ke$3, #enerbit
:n0ormatika *==,
3. &ormark, Kurt. Overview of the four main programming #aradigms.
tt#///#eo#le.-s.aau.dk/ Unormark diakses tanggal 1* Se#tember
*=13.
,. tt#///....askell.org/askell.iki/Bun-tionalN#rogramming diakses
tanggal 1,/=+/*=13
5. tt#///en..iki#edia.org/.iki/Bun-tionalN#rogramming , diakses
tanggal 1,/=+/*=13
8. 'enis Sureau, History and Evolution of Programming Languages,
tt#///....s-ri#tol.-om/#rogramming/istor).## diakses tanggal
1;/=+/*=13
*+ +/13/1,
KUG1E3/ Pemrograman Terstruktur 1
THANK YOU
3= +/13/1,

Anda mungkin juga menyukai