Anda di halaman 1dari 4

Modul Praktikum

Algoritma dan Pemrograman Pascal (Alpro-1)


Semester 1
Oleh :
Acep Taryana, SSi
Arie! "atchul #uda, SSi
$urusan Teknik %n!ormatika (S1)
%nstitut Agama %slam &egeri Sunan 'unung ()ati *andung
Tahun A)aran +,,, - +,,1
Pengantar :
Bahasa program merupakan suatu wahana untuk menuangkan pikiran manusia yang dapat
dimengerti oleh mesin komputer sehingga bernilai guna. Suatu bahasa program akan terikat aturan
dari paradigma bahasa. Ada berbagai macam paradigma bahasa : Prosedural, Fungsional, Deklaratif,
b!ect riented, "onkuren. Paradigma yang dia!arkan dalam #atakuliah Algoritma dan Pemrograman
ini adalah paradigma prosedural.
Perlu diperhatikan perbedaan antara bela!ar bahasa program dengan bela!ar memprogram$$$
Bela!ar bahasa program hanya bela!ar tentang sintak %aturan& dari bahasa sedangkan bela!ar
memprogram akan tercakup beberapa hal yang didalamnya terkandung tentang bela!ar bahasa program
itu sendiri. 'ang harus diperhatikan oleh mahasiswa yang sedang bela!ar memprogram, yaitu :
Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. "egiatan dilakukan di kelas,
melalui permainan. (ontoh : #engurutkan tinggi badan mahasiswa dari tinggi ke pendek atau
sebaliknya. Permainan dapat dilakukan secara manual maupun dengan komputer.
Analisis masalah secara lebih formal dan membuat spesifikasi dan algoritma dalam notasi yang
ditetapkan. #ahasiswa harus menuliskan solusi algoritmiknya dalam notasi standar di kelas.
Penulisan notasi algoritmik bertu!uan untuk menyeragamkan pemahaman tentang algoritma
program yang terbebas dari sintak %aturan& penulisan bahasa program .
Menulis program, yaitu menter!emahkan notasi algoritmik ke dalam sintak bahasa program.
(e-ugging dan mengu)i co-a program. )al ini bertu!uan untuk mendapatkan program yang
benar. Program dikatakan benar !ika terbebas dari salah lo!ik dan sintak bahasa. Secara ideal
mahasiswa hanya diberi kesempatan untuk me*run program sebanyak + kali : pertama untuk
membersihkan program dari kesalahan sintak dan kedua untuk mendapatkan program benar.
Pada tahap ini diharapkan tidak ter!adi kesalahan lo!ik !ika analisa benar.
Mengamati peristi.a eksekusi, perlu dilakukan untuk meningkatkan kepercayaan bahwa !ika
analisa benar maka sisa peker!aan men!adi mudah. Pada pemrograman prosedural, aspek ini
penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur data.
Mem-aca program : orang akan dapat menulis dengan baik kalau sering membaca. )al ini !uga
berlaku dalam memprogram. "egiatan yang dapat dilakukan di kelas adalah dengan saling tukar
menukar teks algoritma, dan saling mengkritik algoritma teman. #ahasiswa harus berlatih sendiri
pada kegiatan bela!ar bersama.
Mem-uktikan ke-enaran program secara !ormal , satu*satunya hal yang men!amin
kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan sehari*hari. Program yang
hanya lima baris pembuktiannya bisa sehalaman, sehingga seringkali tidak pernah diterapkan
dalam aplikasi nyata. Aktifitas ini dicakup dalam matakuliah Analisis Algoritma.
Petun!uk Praktikum :
Dari pengantar dapat disimpulkan bahwa peker!aan memprogram tidak ,-- . di depan
komputer %artinya mahasiswa tidak langsung memecahkan permasalahan di komputer& melainkan ada
fase sebelum di depan komputer yaitu fase /Analisa0. 1ntuk program yang kecil anda bisa langsung
memecahkan di depan komputer namun bagaimana untuk program yang besar 2 Secara kon3ensional,
isi fase /Analisa0 berupa oret*oretan di kertas yang men!elaskan tentang solusi permasalahan. 1ntuk
itu maka ditetapkan langkah*langkahnya,
Fase 4 % analisa sederhana &: )asil proses dari fase ini adalah oretan 5otasi Algoritmik yang siap
diter!emahkan ke dalam bahasa program pascal. Fase ini dilakukan sebelum masuk ke
laboratorium. Di 6ab, mahasiswa hanya diperkenankan membawa oretan 5otasi Algoritmik
untuk masalah yang bersangkutan ditambah (atatan kuliah dan Buku pendukung
lainnya% artinya mahasiswa tidak diperkenankan membawa lembaran source code yang telah
tercetak untuk masalah yang bersangkutan&
Fase 44 % pembuatan source code& : #eliputi penter!emahan notasi algoritmik, debugging dan
run, dan testing program. Dilakukan di dalam 6ab selama waktu yang ditentukan untuk setiap
praktikum. )asil dari fase ini adalah Source (ode yang benar dan "asus u!i.
Fase 444 %dokumentasi &: merupakan rekaman hasil kegiatan dari setiap fase di atas. #ahasiswa
harus membuatkan laporan yang terdiri dari : /Analisa #asalah yang dilengkapi dengan 5otasi
Algoritmik0, /Source (ode0, /"asus 1!i0, dan /"esimpulan0 !ika perlu. Source (ode dan
kasus 1!i harus merupakan hasil Print*ut "omputer di 6ab, sedangkan yang lainnya bebas
%boleh dengan tulisan tangan&. Fase ini dilakukan di luar 6ab.
Fase 47 %pengumpulan laporan &: 6aporan diserahkan ke Assistan 6ab untuk Pascal dalam waktu
yang telah ditentukan. Pengumpulan laporan di luar waktu yang telah ditentukan tidak akan
diterima.
(ontoh : )arus dibuatkan program pascal untuk memilah suatu bilangan bulat %integer& yang terdiri
dari bilangan negatif, nol dan positif. Bilangan diinputkan dari keyboard. )asil pemilahan harus
ditampilkan ke layar.
% Analisa Masalah
#emilah bilangan men!adi 8 bagian, yaitu wilayah negatif , nol dan positif. 9ilayah negatif akan
dicirikan oleh suatu aturan !ika bilangan yang diinputkan dari keyboard adalah lebih kecil dari nol
% dalam bahasa #atematik /bilangan : - / &. 9ilayah positif adalah !ika bilangan lebih besar dari nol
Modul Praktikum / Alpro-1 / AT, AFH/ 31-05-14 Halaman 1 dari 4
atau /bilangan ; - / sedangkan wilayah nol adalah bilangan samadengan nol % yaitu bilangan yang
bukan bagian dari /bilangan ; - dan bilangan : -0&. <ika perlu gambarlah garis bilangannya$$$
11 Spesi!ikasi :
4nput : suatu nilai bertipe integer yang ditampung dalam 3ariabel /Bil0
Proses : memilah klasifikasi bilangan.
utput : /5egatif / !ika Bil : -
/Positif0 !ika Bil ; -
/5ol0 !ika Bil = -
1+ &otasi Algoritmik :
Program PilahBilangan
> dibaca Bil%4nteger&, bilangan bulat secara sembarang dari keyboard ?
> harus dituliskan klasifikasi Bil : apakah negatif, positif atau nol ?
"amus
Bil : 4nteger
Algoritma @ Proses
4nput %Bil&
4f Bil : - Ahen
utput%B Bilangan 5egatifC&
Dlse if Bil ; - Ahen
utput%B Bilangan PositifC&
Dlse utput%B Bilangan 5olC&
Dndif
Dndif
+ Source /ode
Program PilahBilanganE
{ Name of File : c:\pilah.pas }
{ Create by : Pulan bin Wulan }
{ Date : 12 !ustus 2""" }
{ Description : }
{ #ibaca $il%&nte!er'( bilan!an bulat secara sembaran! #ari )eyboar# }
{ harus #itulis)an )lasifi)asi $il : apa)ah ne!atif( positif atau nol }
uses crt*
{+amus}
,ar
$il : &nte!er*
$e!in
{l!oritma - Proses}
{.....&nput %$il'.... }
/rite%01asu)an bilan!an : 0'*
rea#ln%$il'*
&f $il 2 " 3hen
{.....4utput%0 $ilan!an Ne!atif0'....}
/rite%0$ilan!an itu a#alah bilan!an Ne!atif0'
5lse if $il 6 " 3hen
{......4utput%0 $ilan!an Positif0'.....}
/rite%0$ilan!an itu a#alah bilan!an Positif0'
5lse { .... 4utput%0 $ilan!an Nol0'.... }
/rite%0$ilan!an itu a#alah bilan!an Nol0'*
rea#ln { untu) menahan la7u proses beri)utnya }
en#.
0 1asus 2)i

)arus diu!ikan kasus*kasus yang dapat mewakili domain permasalahan. Pada kasus ini domain
permasalahannya adalah bilangan 4nteger. Berarti harus diinputkan bilangan*bilangan yang termasuk
ke dalam kriteria 4nteger. Dalam spesifikasi disebutkan diinputkan bilangan 4nteger%artinya program
tidak akan berfungsi dengan benar !ika dimasukan nilai selain 4nteger&.
"asus u!i bilangan yang diinputkan :
)arus dicobakan minimal satu bilangan untuk wilayah 5egatif
)arus dicobakan minimal satu bilangan untuk wilayah Positif
)arus dicobakan satu bilangan - untuk wilayah 5etral
)asil program :
1asu)an bilan!an : .2"""
$ilan!an itu a#alah bilan!an Ne!atif
1asu)an bilan!an : 8"""
$ilan!an itu a#alah bilan!an Positif
1asu)an bilan!an : "
$ilan!an itu a#alah bilan!an Nol
#emunculkan kasus u!i merupakan usaha untuk mendeteksi program dari kesalahan lo!ik yang tidak sesuai dengan
spesifikasi. Pendeteksian kebenaran program didasarkan atas kecocokan kasus u!i dengan domain permasalahan
yang ada dalam spesifikasi. (ontoh : <ika program di atas di !alankan, kemudian user memasukan nilai F.G % dibaca
empat koma delapan, merupakan bilangan real&. "omputer akan memberikan warning kesalahan dari input data user
karena tidak cocok. Pada kasus ini program tidak salah, yang salah adalah user : #engapa user memasukan
bilangan Heal 2 Padahal spesifikasi program mengharapkan masukan bilangan 4nteger.
esimpula! " Program aka! disebut be!ar #ika #ala!!$a program sesuai de!ga! spesi%ikasi&
Format penulisan laporan bebas, yang penting isinya meliputi hal*hal yang telah disebutkan di atas.
"$
Modul Praktikum / Alpro-1 / AT, AFH/ 31-05-14 Halaman 2 dari 4
Praktikum : 4
Aopik : Assignment, %nput dan Output
Aanggal :
9aktu :
Soal ,. %#erupakan soal 9arming 1p Pemrograman Pascal, !ika anda benar membuatkan program
ini maka kepercayaan diri anda akan muncul, selamat mencoba$&. Buatlah program untuk menuliskan
kalimat /Assalammualikum wH. 9B0 ke layar.
Soal +. Buatlah program untuk mendeklarasikan sebuah 3ariabel bertipe integer dan isilah
3ariabel tersebut dengan cara assignment kemudian mencetak nilai 3ariabel tersebut. (obalah
assignment 3ariabel tersebut dengan bilangan real, apa yang ter!adi, amatilah $$$
Soal 8, SoalF, SoalI. 4dem no +, dengan tipe data lainnya %real, karakter, boolean&.
(obalah untuk mengisi 3ariabel dengan nilai yang berbeda dengan tipe data 3ariabel tersebut $$$
Soal J. Dibaca bilangan yang menyatakan tinggi badan seseorang dalam centimeter. 5ilai tinggi
badan dimungkinkan dalam pecahan %,--,F E ,J-,JK E ,+-, FI&. Buatlah program yang tepat untuk
mendeklarasikan 3ariabel, mengisi 3ariabel dan mencetak isi 3ariabel sesuai permasalahan tersebut.
Praktikum : 44
Aopik : 1onstanta 3 1alkulasi, Operator 3 4kspresi
Aanggal :
9aktu :
Soal ,. Buatlah program yang mendeklarasikan suatu bilangan bertipe real, mengisi bilangan
bertipe real tersebut dari keyboard, lakukan operasi tambah L kurang L bagi L kali* kurangdari*
lebihdari. Aampilkan hasil dari setiap operasi ke layar.
Soal +. Program untuk menghitung luas lingkaran. 6uas lingkaran didefinisikan sbb : 6= pi M r M r,
dimana pi adalah konstanta yang bernilai 8,,F,I sedangkan r adalah !ari*!ari lingkaran.
Soal 8. 4dem dengan soal no +. #isal 6=JI.IJKG maka penulisan luas lingkaran di layar adalah sbb
: JI.IK % lebar tulisan adalah N digit dengan + digit di belakang koma&
Soal F. Bool, dan Bool+ adalah 3ariabel yang masing*masing berisi nilai AH1D dan FA6SD.
Buatlah program untuk melakukan operasi A5D, H, OH, 5A terhadap 3ariabel tersebut.
Soal I. Diketahui nilai 3ariabel n= G %desimal&. Buatlah program untuk menggeser bit bilangan G
dalam desimal sebanyak + ke kiri dan 8 ke kanan..
Praktikum : 444
Aopik : 1ondisional
Aanggal :
9aktu :
Soal ,. Program yang membaca nilai integer dan menuliskan nilainya !ika positif.
Soal +. Program yang membaca nilai integer dan menuliskan B5ilai a positifC !ika a ;= - dan
B5ilai a negatifC !ika a : -.
Soal 8. Program yang membaca nilai integer dan menuliskan B5ilai a positifC !ika a ; - , B5ilai a
negatif B !ika a : -, dan B5ilai 5ol B !ika a=-.
Soal F. Dibaca tiga buah harga a, b dan c, harus dituliskan secara terurut mulai dari yang terkecil
sampai dengan yang terbesar. "etiga bilangan yang dibaca selalu berlainan harganya.
Soal I. 4dem no F. Bagaimana !ika ketiga bilangan yang dibaca adalah sama 2
Soal J. Dibaca suatu nilai bertipe integer.
<ika dimasukan harga , maka tulis di layar BSAA1C
<ika dimasukan harga + maka tulis di layar BD1AC
<ika dimasukan harga 8 maka tulis di layar BA4PAC
QQQQQ
<ika dimasukan harga N maka tulis di layar BSD#B46A5C
<ika dimasukan harga - maka tulis di layar B56C
<ika dimasukan harga selain - s@d N maka tulis di layar BB46A5PA5 SD6A45 - s@d NC
Soal K. Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan
oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan men!adi dua
golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar , !uta rupiah dengan syarat
bahwa ia telah beker!a paling tidak I tahun dan umurnya sudah mencapai I- tahunE staf yang beker!a
kurang dari I tahun dan berapapun umurnya, hanya mendapat bonus sebesar Hp. I--.---. Pegawai non
staf yang telah beker!a lebih dari I tahun akan mendapat bonus sebesar Hp. F--.--- !ika berumur lebih
dari I- tahun sedangkan pegawai non staf yang berumur kurang dari I- tahun hanya mendapat bonus
Hp. +I-.---. Pegawai staf yang umurnya kurang dari I- tahun akan mendapat bonus Hp. 8--.---
Praktikum : 44
Modul Praktikum / Alpro-1 / AT, AFH/ 31-05-14 Halaman 3 dari 4
Aopik : Pengulangan (5epeat-2ntil, 6hile, "or)
Aanggal :
9aktu :
Soal ,. Program untuk mencetak bilangan bulat dari , s@d 5 menggunakan struktur pengulangan
Hepeat*1ntil, 9hile dan For. 5ilai 5 diinputkan dari keyboard.
Soal +. Program untuk mencetak bilangan bulat dari 5 s@d , menggunakan struktur pengulangan
Hepeat*1ntil, 9hile dan For. 5ilai 5 diinputkan dari keyboard.
Soal 8. Program untuk mencetak bilangan bulat sbb: , 8 I K N ,, ,8 ,I menggunakan
struktur pengulangan Hepeat*1ntil, 9hile dan For.
Soal F. Program untuk mencetak bilangan bulat sbb: ,I ,8 ,, N K I 8 ,
menggunakan struktur pengulangan Hepeat*1ntil, 9hile dan For.
Soal I. Program untuk memasukan bilangan yang lebih besar dari nol. Program akan terus
menerus minta inputan !ika nilai yang dimasukan lebih kecil atau samadengan nol.
Modul Praktikum / Alpro-1 / AT, AFH/ 31-05-14 Halaman 4 dari 4

Anda mungkin juga menyukai