Download - Modul RPL Dasar Pemrograman: Algoritma
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
1/34
BAB IPENDAHULUAN
A. DESKRIPSI JUDUL
Melakukan perancangan pengumpulan data merupakan modulberisi materi dasar tentang pemahaman prosedur pengumpulandata. Modul ini terdiri dari 3 (tiga) kegiatan belajar. Kegiatan belajar1 berisi tentang memahami prosedur pengumpulan data/pemetaandata. Kegiatan belajar 2 berisi tentang mempersiapkan pokok-pokok kebutuhan data. Kegiatan belajar 3 berisi tentang melakukanperancangan pengumpulan data.
Modul ini digunakan sebagai bahan ajar untuk menguasaikompetensi Menguasai Algoritma Pemrograman Dasar.
Dengan menguasai modul ini peserta diklat mampu menguasaikompetensi Menguasai Algoritma Pemrograman Dasar.
B. PRASYARAT
Modul perancangan pengumpulan data merupakan modul lanjutanpemelajaran maka membutuhkan persaratan modul ang lain ataukemampuan lain ang harus dimiliki peserta diklat sebelummempelajari modul ini aitu modul mengoperasikan !" stand alonedengan sistem operasi berbasis #$% dan mengoperasikan peri&eral.
. PETUNJUK PEN!!UNAAN M"DUL
#. Petun$u% &agi Peserta Di%lat!eserta diklat diharapkan dapat berperan akti& dan berinteraksidengan sumber belajar ang dapat digunakan' karena itu harusmemperhatikan hal-hal sebagai berikut
a. Lang%a'(lang%a' &ela$ar )ang *item+u'
1) !ersiapkan alat bantu berupa komputer2) *acalah dengan seksama uraian materi pada setiap kegiatan
belajar
3) "ermatilah langkah-langkah kerja pada setiap kegiatan belajarsebelum mengerjakan' bila belum jelas tanakan padainstruktur
+) ,angan menghidupkan komputer sebelum disetujui olehinstruktur
) apikan komputer ang telah digunakan
&. Perleng%a+an )ang Harus Di+ersia+%an
#una menunjang keselamatan dan kelancaran tugas/ pekerjaanang harus dilakukan' maka persiapkanlah seluruh perlengkapanang diperlukan. *eberapa perlengkapan ang harus dipersiapkan
adalah lat tulis
,. Hasil Pelati'an
!eserta diklat mampu membuat program dalam bahasa !ascalmaupun bahasa " dengan merancang algoritma terlebih dahuludan jika diperlukan menggunakan flowchart untuk membantudalam pembuatan algoritma ang kompleks.
-. Peran !uru
1
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
2/34
#uru ang akan mengajarkan modul ini hendakna mempersiapkandiri sebaik-baikna aitu mencakup aspek strategi pemelajaran'penguasaan materi' pemilihan metode' alat bantu mediapemelajaran dan perangkat e0aluasi.
#uru harus meniapkan rancangan strategi pemelajaran angmampu meujudkan peserta diklat terlibat akti& dalam prosespencapaian/ penguasaan kompetensi ang telah diprogramkan.!enusunan rancangan strategi pemelajaran mengacu pada kriteriaunjuk kerja (K$K) pada setiap subkompetensi ang ada dalam#*!!.
D. TUJUAN AKHIR
Peserta diklat dapat melakukan perancangan pengumpulan data.
2
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
3/34
A. KE!IATAN BELAJAR
#. Kegiatan Bela$ar # Pema'aman +rose*ur +engum+ulan*ata/ +emetaan *ata
&. Tu$uan Kegiatan Pemela$aran
etelah mempelajari kegiatan belajar ini peserta diklat mampumemahami dan menjelaskan prosedur pengumpulan data/pemetaan data dan mampu menusunna dalam sebuahalgoritma pemrograman serta menentukan peralatan bantudalam melakukan pengumpulan data/pemetaan data.
,. Uraian Materi
#0 Pengertian Algoritma
!andangan mengenai komputer sebagai sebuah mesin angpintar4 adalah pandapat ang salah' karena komputer hanalahsuatu alat ang diberi serangkaian perintah oleh manusiasehingga dapat menelesaikan permasalahan secara cepat'akurat' bahkan berulang-ulang tanpa kenal lelah dan bosan.ekumpulan instruksi ang merupakan penelesaian masalah itudinamakan +rogram. gar program dapat dilaksanakan olehkomputer' program tersebut harus ditulis dalam suatu bahasaang dimengerti oleh komputer. *ahasa komputer angdigunakan dalam menulis program dinamakan &a'asa+emrograman. $rutan langkah-langkah ang sistematis untukmenelesaikan sebuah masalah dinamakan algoritma. ,adi
algoritma adalah urutan logis pengambilan keputusan untukpemecahan masalah. Kata logis merupakan kata kunci. 5angkah-langkah tersebut harus logis' ini berarti nilai kebenaranna harusdapat ditentukan' benar atau salah. 5angkah-langkah ang tidakbenar dapat memberikan hasil ang salah. ebagai contoh tinjaupersoalan mempertukarkan isi dua buah bejana' dan *. *ejana berisi larutan ang berarna merah' sedangkan bejana * berisiair berarna biru. Kita ingin mempertukarkan isi kedua bejana itusedemikian sehingga bejana berisi larutan berarna biru danbejana * berisi larutan berarna merah. da 2 algoritma untukmenelesaikan permasalahan tersebut' aitu
a) lgoritma ang pertama' ada dua langkah
(1) 6uangkan larutan dari bejana ke dalam bejana *(2) 6uangkan larutan dari bejana * ke dalam bejana
lgoritma tukar isi bejana di atas tidak menghasilkanpertukaran ang benar' karena langkah-langkahna tidak logissehingga ang terjadi adalah percampuran keduana.
b) lgoritma ang kedua' ada 3 langkah
(1) 6uangkan larutan dari bejana ke dalam bejana "(2) 6uangkan larutan dari bejana * ke dalam bejana
(3) 6uangkan larutan dari bejana " ke dalam bejana *
ekarang' dengan algoritma tukar isi bejana ang sudahdiperbaiki ini' isi bejana dan * dapat dipertukarkan denganbenar.
Dari kedua contoh algoritma di atas dapat diambil 2 pesanpenting. !ertama' algoritma harus benar. Kedua' algoritma harusberhenti' dan setelah berhenti' algoritma memberi hasil angbenar.
3
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
4/34
-0 Pengertian Pemrograman
Komputer hanalah salah satu pemroses. gar dapatdilaksanakan oleh komputer' algoritma harus ditulis dalam notasibahasa pemrograman sehingga dinamakan program. ,adi program
adalah perujudan atau implementasi algoritma ang ditulisdalam bahasa pemrograman tertentu sehingga dapatdilaksanakan oleh komputer. !rogram ditulis dalam salah satubahasa pemrograman' dan kegiatan membuat program disebut
pemrograman (programmming). 7rang ang menulis programdisebut pemrogram (programmer). 6iap-tiap langkah di dalamprogram disebut pernyataan atau instruksi. ,adi' programtersusun atas sederetan instruksi. *ila suatu instruksidilaksanakan' maka operasi-operasi ang bersesuaian denganinstruksi tersebut dikerjakan oleh komputer.
10 Me%anisme Pela%sanaan Algoritma ole' Pemroses
ecara garis besar komputer tersususn atas empat komponenutama piranti masukan' piranti keluaran' unit pemroses utamadan memori. $nit pemroses utama (Central Processing Unit CPU) adalah otak4 komputer' ang ber&ungsi mengerjakanoperasi-operasi dasar seperti operasi perbandingan' operasiperhitungan' operasi membaca dan operasi menulis. Memoriadalah komponen ang ber&ungsi menimpan atau mengingat-ingat.8ang disimpan di dalam memeori adalah program (berisioperasi-operasi ang akan dikerjakan oleh "!$) dan data atauin&ormasi (sesuatu ang diolah oleh operasi-operasi). !irantimasukan atau keluaran (I/O e!ices) adalah alat angmemasukkan data atau program kedalam memori' dan alat angdigunakan komputer untuk mengkomunikasikan hasil-hasilakti0itasna. "ontoh piranti masukan adalah keyboar" mouse"scanner an isk. "ontoh alat keluaran adalah monitor' printer'
plottterdan isk.
#ambar 1.Komponen-komponen $tama Komputer
20 Ba'asa Pemrograman
aat ini kita dapat berkomunikasi dengan komputer denganmenggunakan bahasa ang kita mengerti. 9al ini dapat kitalakukan karena para ahli telah berhasil membuat kamus angdisebut dengan bahasa pemrograman ang akan
menterjemahkan bahasa ang kita buat menjadi bahasa mesin'kamus ini disebut dengan om+iler. !roses penterjemahanbahasa manusia ke bahasa mesin disebut dengan kompilasi.dapaun bahasa-bahasa pemrograman tersebut antara lain
Ba'asaPemrograman
Ti+e Di&uat
:76; !rosedural 1
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
5/34
5%! :ungsional 1
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
6/34
lgoritma berisi langkah-langkah penelesaian suatu masalah.5angkah-langkah tersebut dapat berupa runtunan aksi' pemilihanaksi dan pengulangan aksi. Ketiga jenis langkah tersebutmembentuk konstruksi suatu algoritma. ,adi' sebuah algoritma
dapat dibangun dari 3 buah struktur dasar' aitu (1) untunan (se&uence)(2) !emilihan (selection)(3) !engulangan (repetition)
,0 Runtunan
ebuah runtunan terdiri dari satu atau lebih instruksi. 6iapinstruksi dikerjakan secara berurutan sesuai dengan urutanpenulisanna. $rutan instruksi menentukan keadaan akhir darisuatu algoritma. *ila urutanna diubah' maka hasil akhirnamungkin juga akan berubah.
*0 Pemili'an
da kalana sebuah instruksi dikerjakan jika kondisi tertentudipenuhi. !enulisan pemilihan secara umum
%& kondisi thenA%si
Dalam bahasa indonesia' i& berarti jika4 dan then artinamaka4. Kondisi adalah persaratan ang dapat bernilai salahatau benar. ksi hana dilakukan jika kondisi bernilai benar.!erhatikan kata ang digarisbaahi' i& dan then merupakan kata
kunci(keywors) untuk struktur pemilihan ini. Dalam kehidupansehari-hari' kita sering menuliskan pernataan tindakan bila suatupersaratan dipenuhi. Misalna
%& Caki memperoleh juara kelas thenah akan membelikanna sepeda
%& jalan panenan macet thenmbil alternati& jalan dipati ukur
truktur pemilihan i&-then hana memberikan satu pilihan aksi jikakondisi dipenuhi (bernilai benar)' dan tidak memberi pilihan aksilain jika bernilai salah. *entuk pemilihan ang lebih umum ialah
memilih satu dari dua buah aksi bergantung pada nilaikondisina
%& kondisi thenA%si #
BlseA%si -
Blse artina kalau tidak4. *ila kondisi bernilai benar' aksi 1 akandikerjakan' tetapi kalau tidak' aksi 2 ang akan dikerjakan.Misalna pada pernataan berikut
%& hari hujan then!ergilah dengan naik becaBlse
!ergilah dengan naik motor
,ika kondisi hari hujan4 bernilai benar' maka aksi pergilahdengan naik beca4 dilakukan' sebalikna aksi pergilah dengannaik motor4 akan dilakukan jika hari hujan4 tidak benar.
e0 Pengulangan
>
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
7/34
alah satu kelebihan komputer adalah kemampuanna untukmelakukan melakukan pekerjaan ang sama berulang kali tanpamengenal lelah. truktur pengulangan disebut kalang (loop)' danbagian algoritma ang diulang (aksi) dinamakan badan kalang
(loop boy).50 Stru%tur Program Ba'asa Pas,al *an Ba'asa
a0 Algoritmi%
AlgoritmanamaalgoritmaEkepala algoritma berisi penjelasan seperlunaFDe%larasi Eberisi 0ariabel ang terlibatFDes%ri+si Eberisi detail algoritmaF
&0 Ba'asa Pas,al
Program nama6+rogram7Gdeklarasi labelHGdeklarasi konstanHGdeklarasi tipeHGdeklarasi 0ariableHGdeklarasi subprogramHBegin
!ernataanIJJ!ernataan
En*.
,0 Ba'asa
8in,lu*e 9st*io.':Gdeklarasi subprogramHMain;0
?0 @aria&el
ariabel (perubah) merupakan suatu nama ang meniratkanlokasi memori komputer ang dapat digunakan untuk menimpannilai' dimana isina dapat diubah-ubah. ariabel dapatdipandangsebagai abstraksi dari lokasi. 9asil e0aluasi dari 0ariabel adalahnilai dari 0ariabel itu. ;ilai dari suatu 0ariabel dapat diubahdengan assignment statement. ebuah assignment statementterdiri dari sebuah 0ariabel di sebelah kirina dan suatu ekspresidisebelah kananna.
Algoritmi% Ba'asa Pas,al Ba'asa Des%ri+si
,umlah *1 @ *2 ,umlah L *1 @ *2 ,umlah L *1 @ *2
ariabel jumlah diubah nilaina menjadi nilai dari ekspresi *1 @*2 setelah die0aluasi. Dalam suatu program !ascal maupun "'setiap 0ariabel ang akan digunakan terlebih dahuludideklarasikan' dimana setiap 0ariabel harus mempunai tipe.Deklarasi 0ariabel berguna untuk memberi in&ormasi kepada
?
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
8/34
compiler serta membantu programmer untuk berpikir secara jelasdan berencana.
Algoritmi% Ba'asa Pas,al Ba'asa
De%larasi*1'*2'jumlahinteger @ar*1'*2'jumlahintegerI %nt *1'*2'jumlahI
Aturan +enamaan suatu aria&el
a) !ada bahasa pascal penulisan dengan huru& besar dan keciltidak dibedakan' sedangkan pada bahasa " dibedakan (Case'ensitif).
b) *oleh terdiri dari angka dengan sarat penulisanna setelahhuru&' misal
$mur31epeda3
c) 6idak boleh mengandung spasi' terdiri dari unerscore(karakter )' misal
uhuruang (boleh)uhu ruang (tidak boleh)uhuuang (boleh)
d) 6idak boleh ada 2 atau lebih nama ang samae) 6idak boleh menggunakan reser!e wor (kata kunci)'
misal
Dalam pascal program' end' begin' 0ar' dll Dalam " include' 0oid' dll
0 Konstanta
ariabel ang mempunai nilai ang si&atna tidak bisa diubah'nilai ditentukan pada saat pende&inisian. Misal
Nnama konstanta1O L Nnilai1OI!hi L 3.1+I
C0 Jenis/Ti+e Data
!ada aktu suatu 0ariabel dideklarasikan' maka tipena sekaligusditentukan. 6ipe dari suatu 0ariabel menatakan
a) ,enis nilai ang dapat disimpan dalam lokasi memori untuk0ariabel tersebut' (membatasi himpunan nilai-nilai angdapat dipunai 0ariabel tersebut).
b) ,enis operasi ang dapat dilakukan terhadap 0ariabelbersangkutan.
#=0 E%s+resi Matemati%a
Bkspresi matematika adalah kalimat matematika ang akanmemberikan nilai jika die0aluasi.
a) Bkspresi aritmatika uatu ekspresimatematika ang memberikan hasil bertipe angka jikadie0aluasi. 7perator ang digunakan @' -' P' /' (' )"ontoh
> P @ ? 3?
+ P > / 3 A
A
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
9/34
b) Bkspresi 5ogika uatu ekspresimatematika ang memberikan hasil berupa nilai kebenaran(benar/salah' true/&alse). 7perator ang digunakan
(1) !erbandingan L' N' O' NL' OL' NO
(2) 5ogika and' or
"ontoh
6rue and true true
6rue and &alse &alse
(+NL) and (OL1)
6rue and true true
##0 Prioritas "+erator
ebuah ekspresi matematika ang terdiri dari beberapa operator'
beberapa operator die0aluasi terlebih dahulu dibandingkanoperator ang lain. ebuah operator didahulukan berartimempunai prioritas lebih tinggi. $rutan prioritas
a) 7perator aritmatikab) 7perator logika dan perbandingan
"ontoh 2 @ NL @ ?
? NL 12
true
$rutan prioritas operator aritmatika
a) P' /b) @' -
,ika 2 operator mempunai prioritas sama' maka ang paling kirididahulukan.
"ontoh
? @ P > Q 1= ? @ 3= Q 1= 3? -1= 2?
(+ @ ) / (2 @ 1) < / 3 3
(Bkspresi ang terletak dalam tanda kurung harus didahulukan).
Aritmati%aArti Pas,al
@ !enjumlahan @ @- !engurangan - -
di0 !embagianinteger
di0 /
modulo isa pembagian mod R
Dalam bahasa pascal dan bahasa "' pernataan ang berkaitandengan operasi dasar adalah sebagai berikut
Pern)ataan Algoritmi% Pas,al %nput read read atau readln scan& output rite rite atau riteln print& !enugasan L L
khir pernataan I I
:ungsi ang sering digunakan
Pas,al Arti
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
10/34
Sr !o KuadratSrt Srt kar kuadrat5n 5og 5ogaritma alami
BTp BTp eksponensial
#-0 lo,'art
Kadang-kadang perlu digambarkan bagaimana arus data darialgoritma ang sudah dibuat' terutama kalau algoritma sudahcukup kompleks. $ntuk itu algoritma dapat disajikan dalambentuk &lochart. imbol ang diperlukan diantarana
No
Sim&ol Ma%na
1. start / mulaiend / selesai
2. %nput/output
3. Kondisi
+. ;ilaiaal/inisialisasi
. !erulangan &or
>. !roses/penugasan
,. Rang%uman #
1) Dalam membuat suatu program komputer' menusunalgoritma adalah langkah pertama ang harus dilakukan
2) Dalam membuat algoritma dapat digunakan &lochart
*. Tugas #
1) !elajarilah uraian materi tentang prinsip algoritma2) !elajarilah uraian materi tentang prinsip pemrograman3) !elajarilah uraian materi tentang prinsip dari mekanisme oleh
pemroses+) !elajarilah beberapa macam bahasa pemrograman) !elajarilah uraian materi tentang dasar-dasar algoritma>) !elajarilah simbol-simbol dari &lochart
1=
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
11/34
e. Tugas ormatiF #
1) ebutkan bahasa pemrograman proseduralU2) Memahami sintaks program dengan menggunakan bahasa
pascal dan bahasa "U
3) Mampu membuat algoritma mencari jumlah 3 buah bilanganbulat dengan &lochartU
+) Mampu membuat algoritma mencari hasil kali dari 2 buahbilangan dengan &lochartU
F. Kun,i Jaa&an ormatiF #
1) *ahasa pemrograman prosedural !ascal' "' "obol' *asic':ortran.
2) intaks program dengan menggunakan bahasa pascal danbahasa " adalah sebagai berikut
Ba'asa Pas,al
Program nama6+rogram7Gdeklarasi labelHGdeklarasi konstanHGdeklarasi tipeHGdeklarasi 0ariableHGdeklarasi subprogramHBegin
!ernataanIJJ!ernataan
En*.
Ba'asa
8in,lu*e 9st*io.':Gdeklarasi subprogramHMain;0
3) lgoritma mencari jumlah 3 buah bilanganbulat dengan &lochart L
Algoritmamencari jumlah 3 buah bilangan bulat
De%larasia'b'c integer
jumlah integer
Des%ri+siead(a'b'c)
,umlah a @ b @ cVrite(jumlah)
lo,'artn)a
11
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
12/34
#ambar 2. :lochart lgoritma Mencari ,umlah 3 *uah *ilangan*ulat
+) lgoritma mencari hasil kali dari dua buah bilangan dengan&lochart L
Algoritmamencari hasil kali dari dua buah bilangan
De%larasia'b integerhasil integer
Des%ri+siead(a'b)
hasil a P bVrite(hasil)
lo,'artn)a
12
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
13/34
#ambar 3:lochart lgoritma lgoritma Mencari 9asil Kali dari Dua *uah
*ilangan
g. Lem&ar Ker$a #
Alat *an Ba'aneperangkat komputer ang telah diinstal dengan Microso&t isiodan program turbo pascal dan turbo ".Kese'atan *an Keselamatan Ker$a1) *erdoWalah sebelum memulai kegiatan belajar 2) *acalah dan pahami petunjuk praktikum pada setiap lembar
kegiatan belajar3) *ila telah selesai matikan komputer sesuai dengan prosedur
Lang%a' Ker$a1) Kumpulkan data ang diperlukan' kemudian coba analisis
data ang ada dan kelompokkan sesuai dengan jenisdatana.
2) 6entukan 0ariabel dan jenis datana sesuai dengan tipedatana.
3) nalisis struktur algoritma dari data ang ada' tentukan dataang ada menggunakan runtutan' pemilihan ataupengulangan.
+) *uat &lochartna berdasarkan hasil dari analisis strukturalgoritma menggunakan program bantu untuk membuat&lochart aitu Microso&t isio.
) plikasikan &lochart dalam bahasa pemrograman. *ahasapemrograman ang dipakai aitu bahasa pascal atau
bahasa ".>) !elajari perbedaan penulisan dan beberapa operator pada
bahasa !ascal maupun bahasa ".
13
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
14/34
-. Kegiatan Bela$ar - Mem+ersia+%an +o%o%(+o%o%%e&utu'an *ata
a. Tu$uan Kegiatan Pemela$aran
etelah mempelajari kegiatan belajar ini peserta diklat mampumenganalisa data sehingga dapat mengidenti&ikasna menjadibeberapa tipe data sesuai dengan si&at datana.
&. Uraian materi -
#0 Ti+e Data Dasar
a0 Ti+e *ata &ilangan &ulat
;ama tipe integerange nilai -32.?>A sd 32.?>?
7perator binar
@' -' P integer T integer integer
/ integer T integer real
Mod' di0 integer T integer integer
Keterangan
Mod adalah sisa hasil bagi dari dua bilangan ang bertipeinteger
Di0 adalah hasil bagi dari dua bilangan ang bertipe integer
"ontoh 1 di0 3 L 1 mod 3 L =+ di0 + L 11+ mod + L 1
7perator unar
- integer integer
&0 Ti+e *ata real
;ama tipe real
ange nilai 2.
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
15/34
e0 Ti+e *ata &oolean
;ama tipe *ooleanange nilai 6rue dan :alse
7perator
*inar
or' and' Tor boolean T boolean boolean
$nar not boolean boolean
;ot true &alse
6abel Kebenaran P G P an* G P or G P or G
6rue 6rue 6rue 6rue :alse6rue :alse :alse 6rue 6rue
:alse
6rue :alse 6rue 6rue
:alse
:alse :alse :alse :alse
-0 Pemili'an / Kontrol Program
alah satu kemampuan komputer dalah dapat melakukan prosespemilihan dari beberapa alternati& sesuai dengan kondisi angdiberikan. Dalam persoalan sehari-haripun hampir selalu adakondisi dimana kita harus memilih diantara alternati&-alternati&
ang ada. ebagai contoh' seorang sisa memperoleh nilai ?.pakah dengan nilai tersebut sisa itu lulusU ,ika batas kelulusanminimal >= maka sisa tersebut lulus ujian. ,ika kurang dari >=maka sisa tersebut tidak lulus ujian. *ahasa pemrogramanseperti pascal maupun " juga mendukung pernataan bersarat.
6ata cara penulisanna tersaji berikut ini
Algoritmi% Pas,al %& (kondisi) then aksiend i&
%& (kondisi) thenaksiI
%& (kondisi) aksiI
%& (kondisi) then aksi1else aksi2end i&
%& (kondisi) thenaksi1
else aksi2I
%& (kondisi)aksi1I
else aksi2I
!ernataanmajemuk
begin JJ..end EJJJ..F
*aik aksi' aksi1' maupun aksi2 bisa merupakan pernataantunggal maupun pernataan majemuk. elain itu' bila kondisibertipe ordinal' seperti integer' bte atau ang lain (kecuali realatau string)' bisa digunakan pernataan dibaah ini
Algoritmi%Pas,al
case (nama) Nlabel1Oaksi1 Nlabel1Oaksi2 JJJ.
case (nama)o&Nlabel1Oaksi1I
sitch (nama)E "aselabel1aksi1I
breakI"ase label2aksi2I
breakI
1
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
16/34
Nlabel1Oaksi; else aksiYendcase
Nlabel1Oaksi2I JJJ.
Nlabel1Oaksi;I else aksiYIendI
JJJ."ase label;aksi;I
breakI de&ault aksiTIF
10 Perulangan/ Loo+
alah satu kelebihan komputer dibandingkan dengan manusiaadalah kemempuanna untuk melaksanakan suatu instruksiberulangkali tanpa mengenal lelah dan bosan. Didalam algoritma'pengulangan atau kalang (repetition atau loop) dapat dilakukansejumlah kali' atau sampai kondisi berhenti pengulangan tercapai.
a0 Stru%tur +engulangan
truktur pengulangan terdiri atas dua bagian
Kondisi pengulangan' aitu ekspresi boolean ang harusdipenuhi untuk melakukan pengulangan. Kondisi ini adaang dinatakan secara eksplisit oleh pemrogram ataudikelola sendiri oleh komputer (implisit).
*adan (boy) pengulangan' aitu satu atau lebih aksi angakan diulang.
&0 Stru%tur HILE(D"
*entuk umum struktur hile-do adalah Vhile NkondisiO do
ksi endhile
!enjelasan
ksi akan dilaksanakan berulangkali sepanjang NkondisiObooleanmasih tetap bernilai true. ,ika NkondisiO bernilai false'badan pengulangan tidak akan dilaksanakan. !engulanganselesai.
,0 Stru%tur REPEAT(UNTIL
*entuk umum struktur repeat-until adalah
epeat aksi$ntil NkondisiO
!enjelasan
;otasi ini mendasarkan pengulangan pada kondisi berhenti. ksididalam badan kalang diulang sampai kondisi berhenti booleanbernilai true. Dengan kata lain' jika kondisi berhenti masih salah'pengulangan masih terus dilakukan. Karena pengulangan harusberhenti' maka didalam badan kalang harus ada aksi angmengubah harga kondisi.
truktur re+eat(untilmemiliki makna ang sama dengan 'ile(*o' dan dalam beberapa masalah kedua struktur tersebut
1>
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
17/34
komplemen satu sama lain. ;amun ada perbedaan angmendasar diantara keduana. !ada struktur re+eat(until' aksidilakukan minimal satu kali' karena kondisi pengulangan diperiksapada akhir struktur' sedangkan pada struktur 'ile(*o kondisi
pengulangan diperiksa pada aal struktur sehinggamemungkinkan pengulangan tidak akan pernah dilaksanakanbila kondisi pengulangan bernilai &alse.
*0 Stru%tur "R
truktur For digunakan untuk menghasilkan pengulangansejumlah kali tanpa penggunaan kondisi apapun. truktur inimenebabkan aksi diulangi sejumlah kali (tertentu). *entukumum struktur :7 ada 2 macam menaik (ascening) ataumenurun (escening).
:7 menaik
&or peubahnilaiaal to nilaiakhir do ksi end&or
Keterangan
ksi akan dilakukan berulang-ulang selama peubah diberinilai dari nilaiaal s/d nilaiakhir dengan step1.
!eubah bertipe integer atau karakter
;ilaiaal' nilaiakhir hasilna bertipe sama dengan tipepeubah
;ilaiakhir OL nilaiaal' jika tidak maka aksi tidak akandilakukan
ksi satu aksi atau beberapa aksi dalam blok &egin en*.
:7 menurun
&or peubahnilaiakhir donto nilaiaal do ksi Bnd&or
Keterangan
;ilaiakhir harus lebih besar atau sama dengan nilaiaal.,ika nilaiakhir lebih kecil dari nilaiaal' maka badanpengulangan tidak dimasuki.
!ada aalna' peubah diinisialisasi dengan nilaiakhir. ;ilaipeubah secara otomatis berkurang satu setiap kali aksidiulangi' sampai akhirna nilai peubah sama dengannilaiaal
!eubah bertipe integer atau karakter
,umlah pengulangan ang terjadi adalah nilaiaal-nilaiakhir @1.
,. Rang%uman -
Dengan mengetahui tipe data dasar pada suatu bahasapemrograman tertentu maka diharapkan peserta dapatmengidenti&ikasi suatu data sesuai dengan tipe datana. Dalammelakukan pemilihan dan perulangan peserta diharapkan mampumemilih jenis-jenis pemilihan dan perulangan ang sesuai.
1?
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
18/34
*. Tugas -
1) !elajarilah uraian materi tentang tipe data dasar 2) !elajarilah uraian materi tentang pemilihan3) !elajarilah uraian materi tentang perulangan
e. Tes ormatiF -
1) 6entukan jenis data dari data ang terdapat pada 0ariabeldibaah ini
a) ;ama sho&a' Zaki' imam' mirab) lamat asal jogja' solo' semarangc) tatus Menikah a' tidakd) *erat badan 23.3' +=.A' =.?' 1.=e) $mur 23' +' >' 1' 3' ?
2) *uatlah algoritma dan &lochartna untuk menentukanbilangan terbesar antara dua bilangan bulatU
3) ebutkan 3 macam notasi struktur pengulangan U+) *uatlah algoritma dan &lochartna untuk mencetak
bilangan 1 sampai + menggunakan perulangan U
F. Kun,i $aa&an tes FormatiF -
1) 6ipe Data dari masing-masing 0ariabel adalah sebagaiberikut
a) 6ipe data 0ariabel nama adalah stringb) 6ipe data 0ariabel alamat asal adalah string
c) 6ipe data 0ariabel status menikah adalah booleand) 6ipe data 0ariabel berat badan adalah reale) 6ipe data 0ariabel umur adalah integer
2) lgoritma untuk menentukan bilangan terbesar antara duabilangan bulat
Algoritma ma%simum
Emenentukan nilai terbesar antara 2 buah bilanganbulatFDe%larasi
' * integerDes%ri+si
read('*) i& (O*) then rite(X*ilangan terbesar adalah LW) else rite(X*ilangan terbesar adalah LW *) endi&
lo,'art
1A
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
19/34
#ambar +:lochat untuk Menentukan *ilangan 6erbesar antara Dua *ilangan
*ulat
3) 6iga Macam notasi struktur pengulangan aitu
a) truktur V9%5B-D7*entuk umum struktur hile-do adalah Vhile NkondisiO do
ksiBndhile
b) truktur B!B6-$;6%5
*entuk umum struktur repeat-until adalah epeat aksi$ntil NkondisiO
c) truktur :7
:7 menaik
&or peubahnilaiaal to nilaiakhir do ksi
end&or
:7 menurun
&or peubahnilaiakhir donto nilaiaaldo ksi end&or
+) lgoritma untuk mencetak bilangan 1 sampai +menggunakan perulangan
a) :or loopAlgoritmacetakangka
De%larasi% integer
Des%ri+si
:or i1 to + doVrite(i)
Bnd&or
1
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
20/34
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
21/34
:lochat Mencetak *ilangan 1 sampai + dengan Vhile 5oop!erulangan
c) epeat until loop
AlgoritmacetakangkaDe%larasi
% integerDes%ri+si
%1 repeat
Vrite(i)
%i@1 $ntil(iO+)
Bndrepeat
lo,'art
#ambar ?:lochat Mencetak *ilangan 1 sampai + dengan epeat $ntil
g. Lem&ar Ker$a -
Alat *an Ba'an
eperangkat komputer ang telah diinstal dengan Microso&tisio dan program turbo pascal dan turbo ".
Kese'atan *an Keselamatan Ker$a
1) *erdoWalah sebelum memulai kegiatan belajar 2) *acalah dan pahami petunjuk praktikum pada setiap lembar
kegiatan belajar3) *ila telah selesai matikan komputer sesuai dengan prosedur
Lang%a' Ker$a
1) !elajari dan data ang ada dan tentukan 0ariabel dengan tipedata ang sesuai.
21
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
22/34
2) !ilihlah jenis pemilihan kondisi atau perulangan ang sesuaidengan masalah atau data
3) *uatlah &lochart dengan microso&t 0isio+) plikasikan dalam program menggunakan turbo pascal dan
turbo "
22
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
23/34
1. Kegiatan &ela$ar 1 Mela%u%an +eran,angan +engum+ulan*ata
a. Tu$uan Kegiatan Pemela$aran
!eserta diklat mampu Melakukan perancangan pengumpulan data
&. Uraian materi 1
#0 Stack/Tum+u%an
alah satu konsep ang sangat berguna di dalam ilmu komputeradalah satu bentuk struktur data ang disebut tumpukan (stack).ecara sederhana' tumpukan bisa diartikan sebagai suatukumpulan data ang seolah-olah ada data ang diletakkan di atasdata ang lain. atu hal ang perlu diingat baha dalam stackbisa menambah (menisipkan) data' dan mengambil(menghapus) data leat ujung ang sama' ang disebut sebagaiujung atas tumpukan (top of stack). tack merupakan suatusenarai (list) ang mempunai si&at masuk terakhir keluarpertama (last in first outQ 5%:7)
#ambar A. %lustrasi tack
23
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
24/34
"+erasi +a*a tum+u%an
da dua operasi dasar ang bisa dilaksanakan pada sebuahtumpukan' aitu operasi menisipkan data atau mempush data
dan operasi menghapus data atau mempop data. "ontohpemakaian tumpukan dalam membalik kalimat denganmelakukan pembalikan perkata' sebagai contoh' jika kalimat angdibaca adalah
*B5, !"5 D59 M$D9 D; MB;8B;;#K;
etelah dibalik' maka kalimat diatas menjadi
;K#;;B8;BM ;D 9D$M 95D 5"! ,5B*
-0 Queue/ Antrian
ntrian merupakan satu jenis struktur data ang sering digunakanuntuk mensimulasikan keadaan dunia nata. ntrian adalahsuatu kumpulan data ang mana penambahan elemen hana bisadilakukan pada suatu ujung (disebut dengan sisi belakang ataurear)" dan penghapusan (pengambilan elemen) dilakukan leatujung lain (disebut dengan sisi depan atau front). %stilah angdigunakan apabila seseorang masuk dalam sebuah antrian adalahEnqueue. edangkan istilah ang sering dipakai bila seseorangkeluar dari antrian adalah Dequeue. 6umpukan menggunakanprinsip masuk terakhir keluar pertama4 atau 5%:7 (ast In irstOut)' maka pada antrian prinsip ang digunakan adalah masukpertama keluar pertama4 atau :%:7 (irst In irst Out). Dengan
kata lain' urutan keluar elemen akan sama dengan urutanmasukna. ntrian banak kita jumpai dalam kehidupan sehari-hari. Mobil-mobil ang antri membeli karcis di pintu jalan tol akanmembentuk antrianI orang-orang ang membeli karcis untukmenaksikan &ilm akan membentuk antrian' dan contoh-contohlain ang banak dijumpai dalam kehidupan sehari-hari.
10 Tree/ Po'on
6ree adalah bentuk struktur data tak linear ang mempunaisi&at-si&at dan ciri-ciri khusus. truktur ini biasana digunakanuntuk menggambarkan hubungan ang bersi&at hirarkis antara
elemen-elemen ang ada. "ontoh paling sederhana ang bisakita lihat dalam kehidupan sehari-hari' khususna dalam keluargaadalah silsilah keluarga. #ambar di baah menunjukkan puhonsilsilah keluarga bdul KholiS sampai dengan cucuna. !ohonseperti gambar di baah disebut dengan linear chart dimanasetiap elemen bisa mempunai lebih dari dua buah cabang.
#am#ambar
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
25/34
ecara sederhana pohon bisa dide&inisikan sebagai kumpulanelemen ang salah satu elemenna disebut dengan a%ar (root)'dan sisa elemen ang lain (ang disebut sim+ul) terpecahmenjadi sejumlah menjadi himpunan ang saling tidak
berhubungan satu sama lain' ang disebut dengan subpohon(subtree)' atau juga disebut dengan cabang. ,ika kita lihat padasetiap subpohon' maka subpohon inipun juga mempunai akardan sub-subpohonna masing-masing. Dalam gambar di atasakarna adalah bdul KholiS' ang mempunai dua subpohon.ubpohon ang pertama berakar pada rani' dan subpohonang kedua berakar pada i&Wah. elanjutna jika kita lihat padasubpohon rani' maka subpohon ini juga mempunai tiga buahsubpohon' aitu ang berakar pada ho&a' Mila dan Didin. *egitu
juga dengan subpohon ang berakar pada i&Wah' maka subpohonini juga mempunai dua buah subpohon' aitu ang berakar pada%da dan lin.
#ambar 1=. %lustrasi :ungsi 6ree
,ika kita perhatikan gambar tree di atas' maka akar dinatakansebagai tinkat = dan simpul-simpul lainna dinatakan bertingkat1 lebih tinggi dari aahna. elain de&inisi di atas ada jugabeberapa buku ang menatakan baha ting%at (le!el) suatusimpul ditentukan dengan pertama kali menentukan akar sebagaibertingkat 1. jika suatu simpul dinatakan sebagai tingkat ;'maka simpul-simpul ang merupakan anakna dikatakan beradadalam tingkat ;@1.
elain tingkat' juga dikenal istilah *era$at (egree) dari suatusimpul. Derajat suatu simpul dinatakan sebagai banakna anakatau turunan dari simpul tersebut.
Daun juga sering disebut dengan sim+ul luar (e*ternal noe).ehingga simpul lain ' kecuali akar' juga sering disebut dengansim+ul *alam(internal noe).
Tinggi(height) atau%e*alaman(epth) dari suatu pohon adalahtingkat maksimum dari simpul dalam pohon tersebut dikurangidengan 1.
An,estor suatu simpul adalah semua simpul ang terletakdalam satu jalur dengan simpul tersebut dari akar sampai simpulang ditinjau.
Hutan (forest) adalah kumpulan sejumlah pohon ang tidaksaling berhubungan.
20 Graph
#raph bisa dibaangkan sebagai kumpulan obek atau akti0itas'sebagai contoh' rute bis kota dari satu terminal ke terminal lain'rute perjalanan pak pos pada saat ia mengantar surat dari saturumah ke rumah lain' dan contoh-contoh lain ang bisa disajikansebagai suatu graph. "ontoh kedua diatas merupakan contoh
2
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
26/34
klasik dengan teori graph ang lebih dikenal dengan tra!ellingsalesman problem atau shortest path problem" ang padaprinsipna mencari jalur terpendek dari semua tempat ang harusdipenuhi' sehingga bisa menghemat aktu' tenaga' maupun
biaa. #raph secara umum bisa dide&inisikan sebagai kumpulantitik (noes atau !ertices) dan garis (arcs atau eges). Karenagaris selalu diaali dengan suatu titik dan diakhiri pada titik anglain' maka garis bisa dituliskan sebagai pasangan antara dua titik.
,. Rang%uman 1
truktur data ang digunakan pada algoritma pemrograman adabeberapa metode' aitu stack' Sueue' tree' graph. !emilihanmetode ang digunakan sangat bergantung dengan data' baikdalam proses pengumpulan maupun penimpananna.
*. Tugas 1
1) !elajarilah uraian materi tentang prinsip dan &ungsi stack2) !elajarilah uraian materi tentang prinsip dan &ungsi antrian
(&ueue)3) !elajarilah uraian materi tentang prinsip dan &ungsi pohon
(tree)+) !elajarilah uraian materi tentang prinsip dan &ungsi graph
e. Tes ormatiF 1
1) Diberikan data sebagai berikut ang diimplementasikan padasuatu stackatau antrian
a) Data L =A1A22A2A
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
27/34
pop
e) Data L 6eknik in&ormatika5akukan operasi
pop
pop
pop
pop
push L oke
2) Diberikan data sebagai berikut ang diimplementasikan padasuatu &ueue atau antrian
a) Data L sho&atul5akukan operasi
BnSueue L ma
DeSueue
DeSueue
BnSueue L iuun
BnSueue L da ri
b) Data L sekolah5akukan operasi
DeSueue BnSueue L jangan
DeSueuec) Data L uni0ersi
5akukan operasi BnSueue L tas
DeSueue
DeSueue
3) ,elaskan dan sebutkan komponen dari tree ang termasuktingkat (le!el)' derajat (egree)' daun (leaf)' tinggi (height)atau kedalaman (epth) dan ancestor pada gambar treedibaah ini
#ambar 11. #ambar oal 3)
2?
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
28/34
+) pa ang anda ketahui tentang graph dan bagaimana prinsipdari graph secara umum U
F. Kun,i Jaa&an tes FormatiF 1
1) 7perasi pop adalah operasimenghapus data pada suatu stack. 7perasi push adalahoperasi menisipakan data pada stack.
a) Data L =A1A22A2A
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
29/34
digunakan apabila seseorang masuk dalam sebuah antrian.edangkan Dequeueadalah istilah ang sering dipakai bilaseseorang keluar dari antrian .a) Data L sho&atul
7perasi enSueue(ma)
sho&atulma
7perasi deSueue ho&atulma
7perasi deSueue o&atulma
7perasi enSueue(iuun) o&atulmaiuun
7perasi enSueue(da ri) o&atulmaiuunda rib) Data L sekolah
7perasi deSueue ekolah
7perasi enSueue(jangan) ekolahjangan
7perasi deSueue kolahjanganc) Data L uni0ersi
7perasi enSueue(tas) uni0ersitas
7perasi enSueue ni0ersitas 7perasi deSueue i0ersitas
3) 6ree adalah bentuk strukturdata tak linear ang mempunai si&at-si&at dan ciri-cirikhusus.
#ambar 12. #ambar ,aaban oal 3)
a) tingkat (le!el) tingkat =/1
tingkat 1/2 *' "
tingkat 2/3 D' B' :' #' 9
tingkat 3/+ %' ,' K' 5' M
tingkat +/ ;' 7b) derajat (egree) impul mempunai derajat 2
impul * mempunai derajat 2impul " mempunai derajat 3
c) daun (leaf) impul :' 9' %' ,' K' 5' ;' 7 berderajat =d) tinggi (height) atau kedalaman (epth) semua daun ang
berakar pada mempunai tinggi atau kedalaman +.e) +ncestor dari simpul5 adalah adalah ' " dan #
2
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
30/34
+) #raph secara umum bisa dide&inisikan sebagai kumpulantitik (noes atau !ertices) dan garis (arcs atau eges).Karena garis selalu diaali dengan suatu titik dan diakhiri
pada titik ang lain' maka garis bisa dituliskan sebagaipasangan antara dua titik. !rinsip graph secara umumadalah mencari jalur terpendek dari semua tempat angharus dipenuhi' sehingga bisa menghemat aktu' tenaga'maupun biaa.
g. Lem&ar Ker$a1
Alat *an Ba'an
eperangkat alat tulis
Kese'atan *an Keselamatan Ker$a
1) *erdoWalah sebelum memulai kegiatan belajar 2) *acalah dan pahami petunjuk praktikum pada setiap
lembar kegiatan belajar3) *ila telah selesai matikan komputer sesuai dengan prosedur
Lang%a' Ker$a
1) !elajari dan analisis data ang ada kemudian pelajari jikadata tersebut menggunakan struktur data stack' Sueue' treedan graph
2) !elajari beberapa istilah ang ada pada struktur data stack'
Sueue' tree dan graph.
3=
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
31/34
BAB IIIE@ALUASI
A. PERTANYAAN
1. *uatlah algoritma' &lochart kemudiantranslasikan kedalam bahasa pascal dan " kasus berikut "arilah kon0ersi suhu dari "elcius menjadi eamur' :ahrenheitdan Kel0in
2. *uatlah algoritma dan &lochart dari kasusKon0ersikan nilai angka menjadiberikut nilai huru& denganketentuan sebagai berikut
Nilai ang%a Nilai HuruF=-2= B21-+= D+1->= ">1-A= *
A1-1==
B. KUNI JAABAN E@ALUASI#. Analisis
umus kon0ersi dari "elcius menjadi eamur' :ahrenheit'dan Kel0in adalah sebagai berikut
eamur +/ celcius
:ahrenheit
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
32/34
#ambar 13. :lochart ,aaban oal 1Ba'asa Pas,al
!rogram kon0ersisuhuI$ses incrtI
ar " integerI' &' k realI
*eginVrite(XMasukkan suhu derajat celcius X)Ireadln (c)I L +/@cI: L =)then nilaihuru&W"W
Blse %&(nilaiO>=)and(nilaiNLA=)then nilaihuru&W*W
Blse nilaihuru&XWBndi&Vrite(nilaihuru&)
32
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
33/34
lo,'art
#ambar 13. :lochart ,aaban oal 2
. KRITERIA KELULUSAN
As+e%
S%or
;#(#=0
Bo&ot Nilai Keterangan
oal 1 + arat lulusnilai minimal?= dan skorsetiap aspek
minimal ?
oal 2 +
Ketepatan aktu 2
Nilai A%'ir
Kategori kelulusan?= Q ?< Memenuhi kriteria mininal. Dapat bekerja dengan bimbingan.A= Q A< Memenuhi kriteria minimal. Dapat bekerja tanpa bimbingan.
-
7/22/2019 Modul RPL Dasar Pemrograman: Algoritma
34/34
etelah menelesaikan modul ini dan mengerjakan semua tugas sertae0aluasi maka berdasarkan kriteria penilaian' peserta diklat dapat
dinatakan lulus/ tidak lulus. pabila dinatakan lulus maka dapatmelanjutkan ke modul berikutna sesuai dengan alur peta kududukanmodul' sedangkan apabila dinatakan tidak lulus maka peserta diklatharus mengulang modul ini dan tidak diperkenankan mengambil modulselanjutna.
ooo7ooo
DATAR PUSTAKA
9artanto' *udi. (2==3). Pembuatan Program C Secara Mudah. .ndi 7&&set. 8ogakarta
9endroati' etno [ 9arianto' *ambang. (2===). LogikaMatematika. %n&ormatika. *andung
Kadir' abdul. (2==1). Pemrograman Dasar Turbo C. ndi 7&&set.8ogakarta
Munir' inaldi. (1