Upload
tubagus-purworusmiardi
View
226
Download
0
Embed Size (px)
Citation preview
8/16/2019 Prak Algo Fasilkom
1/20
Modul Pr aktikum
ALGORITMA
DAN
PEMROGRAMAN
Surabaya, April 2013
8/16/2019 Prak Algo Fasilkom
2/20
PENGANTAR
Mata kuliah Algoritma dan Pemrograman mer upakan mata kuliahyang mendasari teknik pemrograman komputer . Sebagai mata kuliah
dasar, para mahasiswa per lu memiliki pengetahuan dan keter ampilan yang cukup mengenai algoritma dan dasar pemr ogr aman ter sebut. Karena itu diper lukan pengalaman pr aktek dengan car a mencobalangsung melakukan pemrograman menggunakan per angkat lunakcomputer dengan bahasa pemrograman ter tentu.
Modul Pr aktikum Algoritma dan Pemrograman Komputer ini disusundengan menya jikan tiga macam bahasa pemrograman berbasis per intahbaris (Command Line Interface, CLI) yaitu PASCAL, C++, dan B ASIC.Disajikannya tiga macam bahasa pemrograman ini dimaksudkansupaya para mahasiswa dapat memiliki pengalaman belajar yangbervariasi serta dapat membandingkan gaya pemrograman ketiganya.Meskipun demikian, pada tahap selan jutnya para mahasiswa tidakharus mengembangkan keter ampilan pemrograman dengan ketiga-
tiganya, melainkan bias hanya memilih salah satu sesuai kebutuhanatau peminatannya.
Mengapa masih menggunakan CLI, bukan berbasis GUI (Gr aphical UserInter f ace)? Menur ut hemat penyusun, dengan pemrograman ber basisCLI para mahasiswa bias lebih focus pada algoritma dan logikapemrogramannya. Jika praktikum ini menggunakan GUI, sangatmungkin kegiatan praktikum akan menghabiskan banyak waktu saatkegitan perancangan antarmuka gr af isnya.
Untuk dapat menggunakan modul praktikum ini secar a maksimal, par amahasiswa dianjurkan mengikuti petun juk ber ikut ini:
1. Sebelum praktikum, mahasiswa membaca, mencermati danmencoba memahami alur ker ja kode program yang ada di modul,
serta memper kir akan hasil atau tampilan keluar annya.
2. Mengetik kode program seperti yang ada di dalam tiap-tiap bagianLATIHAN, kemudian melakukan kompilasi, memperbaiki kesalahan
8/16/2019 Prak Algo Fasilkom
3/20
8/16/2019 Prak Algo Fasilkom
4/20
(OUTLINE)
I. Judul Per cobaan
II. Tu juan
III. Dasar Teor i
IV. Alat
V. Langkah Kerja
VI. Hasil Per cobaan
VII. Analisa
A. Diagr am Alir Pr ogr am
B.Pembahasan VIII. Penutup
A.Kesimpulan
B.Sar an
IX. Daf tar Pustaka
Lampir an
-Listing Pr ogr am
-Lampir an lain
8/16/2019 Prak Algo Fasilkom
5/20
MODUL 1 Modul Praktikum Algoritma dan Pemrograman 2
return 0;
}
A. TUJUAN
Setelah menyelesaikan praktikum ini, Anda diharapkan dapat:
1. Memahami str uktur dasar pr ogr am.
2. Menggunakan tipe data, konstanta, dan variabel dalam pr ogr am.
3. Membuat ekspresi dengan menggunakan oper ator bahasapemr ogr aman.
B. PER AL AT AN
Untuk mengerjakan praktikum ini, dibutuhkan per alatan:
1. Per sonal komputer dengan sistem oper asi Windows XP atau yanglebih bar u.
2. Per angkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKEN ARIO
Pr aktikan membuat program dengan bahasa pemrograman yang sesuaipada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,praktikan mengerjakan Tugas Pr aktikum tanpa bimbingan Instr uktur .Tugas Pr aktikum diker jakan menggunakan salah satu BahasaPemrograman pilihan Pr aktikan.
D. L ATIHAN
Latihan 1.a
Ber ikut ini adalah program untuk menampilkan teks “Selamat Datang
di Praktikum Algoritma” pada layar monitor. Buatlah kode program
ter sebut lalu lakukan kompilasi.
Bahasa C
#include int main() { cout
8/16/2019 Prak Algo Fasilkom
6/20
STRUKTUR DASAR PROGRAM 3
writeln(‘Hasil x + y = ‘,jml);readln; end.
Bahasa Basic:
DIM x,y,jml as Integer PRINT "Masukkan x: "; :INPUT xPRINT "Masukkan y: "; :INPUT yjml=x+y; PRINT PRINT "Hasil x + y = "; jml
Latihan 1.c
Ber ikut ini adalah program untuk menghitung luas per segi pan jang. Buatlah kode program ter sebut lalu lakukan kompilasi.
Bahasa C:
#include int main() {
unsigned short int Lebar = 5, Panjang;Panjang = 10; // membuat unsigned short dan diinisialisasi dengan hasil // berupa Panjang kali Lebar unsigned short int Area = Lebar * Panjang; cout
8/16/2019 Prak Algo Fasilkom
7/20
A. TUJUAN
MODUL 2
Modul Praktikum Algoritma dan Pemrograman 6
int BilPertama, BilKedua; cout > BilKedua; if (BilPertama > BilKedua)
cout BilKedua
PRINT "Terima kasih..."
Ber ikut adalah program untuk membandingkan dua buah bilangan
yang dimasukkan oleh pemakai. Buatlah kode program ter sebut lalulakukan kompilasi. Simpan kode program dengan nama Banding.
ELSE
END IF
PRINT "Maaf. Bilangan kedua Anda lebih besar!"
Bahasa C:
#include int main() {
Latihan 2.b
Ber ikut adalah program untuk membandingkan dua buah bilanganyang dimasukkan oleh pemakai menggunakan statemen if ber sar ang.Mula-mula program meminta masukan dua bilangan, setelah itu
8/16/2019 Prak Algo Fasilkom
8/20
STATEMEN KONDISIONAL 7 Modul Praktikum Algoritma dan Pemrograman 8
dibandingkan mana yang lebih besar, apakah bilangan yang besarhabis dibagi bilangan yang kecil, serta dicek apakah kedua bilangan
sama besar. Buatlah kode program ter sebut lalu lakukan kompilasi.Simpan kode program dengan nama Banding2.
Bahasa C:
#include int main() { int firstNumber, secondNumber; cout > firstNumber; cout > secondNumber;cout = secondNumber) { if ( (firstNumber % secondNumber) == 0) { if (firstNumber == secondNumber) cout
8/16/2019 Prak Algo Fasilkom
9/20
STATEMEN KONDISIONAL 9 Modul Praktikum Algoritma dan Pemrograman 10
switch (ch) { case 'a' : printf("\nAnda memilih tombol a .\n"); break; case 'b' : printf("\nAnda memilih tombol b.\n"); break;
case 'c' : printf("\nAnda memilih tombol c.\n"); break; default : printf("\nBUKAN PILIHAN YANG BENAR! Bye ...");return(-1); }return(0); }
Bahasa Pascal:
Program Tombol;Uses WinCrt;
Var ch : char;
Begin write('Tekan tombol a, b, atau c. JANGAN YANG LAIN!'); readln(ch); Case ch of 'a' : writeln('Anda memilih tombol a.'); 'b' : writeln('Anda memilih tombol b.'); 'c' : writeln('Anda memilih tombol c.'); else writeln('BUKAN PILIHAN YANG BENAR! Bye ...'); End; End.
CASE ELSE : PRINT "BUKAN PILIHAN YANG BENAR! Bye ..."
END SELECT
E. TUG AS PR AKT IKUM
1. Buatlah program untuk memasukkan nilai teor i dan nilai pr aktekmahasiswa kemudian menghitung nilai rata-ratanya. Apabila nilairata-rata lebih dari atau sama dengan 6 maka mahasiswadinyatakan Lulus, jika nilai rata-ratanya kurang dari enam, maka
mahasiswa ter sebut Tidak Lulus.
2. Buatlah program untuk memasukkan IPK mahasiswa, kemudianmenampilkan pr edikat kelulusannya. Aturan pr edikat kelulusanadalah sebagai ber ikut:
IPK Pr edikat Kelulusan
2,0≤IPK
8/16/2019 Prak Algo Fasilkom
10/20
A. TUJUAN
MODUL 3
Modul Praktikum Algoritma dan Pemrograman 12
#include int main() { int counter = 0; // inisialisasi kondisi while(counter < 5) // tes apakah kondisi masih benar {
counter++; // tubuh loop cout
8/16/2019 Prak Algo Fasilkom
11/20
PERULANGAN (LOOPING) 13 Modul Praktikum Algoritma dan Pemrograman 14
Bahasa C:
#include int main() { int counter; cout > counter;
do { cout 0 ); cout
8/16/2019 Prak Algo Fasilkom
12/20
Modul Praktikum Algoritma dan Pemrograman 16
MODUL 4
A. TUJUAN
Setelah menyelesaikan materi praktikum ini, diharapkan Anda dapat:
1. Mendeklarasikan larik (array).
2. Menggunakan larik (array) pada program.
B. PER AL AT AN
Untuk mengerjakan praktikum ini, dibutuhkan per alatan:
1. Per sonal komputer dengan sistem oper asi Windows XP atau yanglebih bar u.
2. Per angkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C.S
KEN ARIO
Pr aktikan membuat program dengan bahasa pemrograman yang sesuaipada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,praktikan mengerjakan Tugas Pr aktikum tanpa bimbingan Instr uktur .Tugas Pr aktikum diker jakan menggunakan salah satu BahasaPemrograman pilihan Pr aktikan.
D. L ATIHAN
Latihan 4.a
Ber ikut mer upakan contoh program C menggunakan larik ber isi 5elemen. Ketik kode program ter sebut lalu lakukan kompilasi. Simpan
f ile program dengan nama Lar ik5.
Bahasa C:
#include int main() { int LarikBil[5]; int i;
for ( i=0; i
8/16/2019 Prak Algo Fasilkom
13/20
{ int LarikBil[5][2] = { {0,0}, {1,2}, {2,4}, {3,6}, {4,8}}; for (int i = 0; i
8/16/2019 Prak Algo Fasilkom
14/20
Modul Praktikum Algoritma dan Pemrograman 20
MODUL 5
A. TUJUAN
Setelah menyelesaikan materi praktikum ini, diharapkan Anda dapat:1. Mendeklarasikan struktur (record).2. Menggunakan struktur (record) pada program.
B. PER AL AT AN
Untuk mengerjakan praktikum ini, dibutuhkan per alatan:
1. Per sonal komputer dengan sistem oper asi Windows 95 atau yanglebih bar u.
2. Per angkat lunak Borland C++, Turbo Pascal, dan QuickBasic.
C. SKENARIO
Pr aktikan membuat program dengan bahasa pemrograman yang sesuaipada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,praktikan mengerjakan Tugas Pr aktikum tanpa bimbingan Instr uktur .Tugas Pr aktikum diker jakan menggunakan salah satu BahasaPemrograman pilihan Pr aktikan.
D. L ATIHAN
Latihan 5.a Contoh program C berikut menggunakan struktur untuk menyimpan data jari-
jari, keliling, dan luas lingkaran. Setelah pemakai memasukkan ukuran jari-jari
lingkaran, kemudian dihitung keliling dan luasnya, lalu hasil perhitungannya
ditampilkan di layar. Ketik kode program tersebut lalu lakukan kompilasi.Simpan file program dengan nama Lingkar;
Bahasa C:
#include main() {
struct{float r;float K;double L; } Lingkaran; cout > Lingkaran.r;Lingkaran.K=2*3.14*Lingkaran.r;Lingkaran.L=3.14* Lingkaran.r* Lingkaran.r; cout
8/16/2019 Prak Algo Fasilkom
15/20
MENGGUNAKAN STRUKTUR (RECORD) 21 Modul Praktikum Algoritma dan Pemrograman 22
PRINT "Keliling Lingkaran: ", Lingkaran.KPRINT "Luas Lingkaran : ", Lingkaran.L
Latihan 5.b Contoh program berikut hampir sama dengan program pada Latihan 5.a, hanya
saja dipakai untuk menghitung keliling dan luas tiga buah lingkaran. Ketik kode
program tersebut lalu lakukan kompilasi. Simpan file program dengan namaLingkar3.
Bahasa C:
#include main() { struct{ float r;float K;double L; } Lingkaran[3];int I;for(I=0;I
8/16/2019 Prak Algo Fasilkom
16/20
Modul Praktikum Algoritma dan Pemrograman 24
A. TUJUAN
MODUL 6 float TempCel; cout > TempFer; TempCel = KonverSh(TempFer); cout
8/16/2019 Prak Algo Fasilkom
17/20
MEMBUAT FUNGSI 25
PRINT "Masukkan temperature dalam Fahrenheit: "; :INPUT TempFerTempCel = KonverSh(TempFer) PRINT “Besar temperatur tersebut dalam Celsius : "; TempCel
E. TUG AS PRAKTIKUM
1. Tulislah fungsi bernama Perimeter, yang mengasilkan nilai ber tipe
long integer dan memiliki dua parameter yang keduanya ber tipe
short integer. Kedua parameter menyatakan panjang dan lebarbangun segi empat. Fungsi ter sebut menghasilkan perimeter segiempat (dua kali Pan jang dan dua kali Lebar). Gunakan f ungsiter sebut dalam pr ogr am.
2. Tulislah program yang ber isi fungsi untuk memasukkan duaargumen integer short dan menghasikan pembagian bilanganpertama dengan bilangan kedua. Fungsi tidak melakukanpembagian apabila bilangan kedua nol, tetapi hasilnya –1. Gunakanfungsi ter sebut dalam pr ogr am.
3. Buatlah fungsi untuk menghitung hasil A pangkat N (AN). Rumusperpangkatan ter sebut adalah sebagai ber ikut:
AN = exp ( ln (A)* N).
Gunakan fungsi ter sebut pada program aplikasi untuk menghitungpangkat se jumlah bilangan.
MODUL 7
A. TUJUAN
Setelah menyelesaikan mater i ini, Anda diharapkan dapat:
1. Mendef inisikan dan mendeklarasikan pr osedur .
2. Menetapkan cara pengir iman variabel pada deklarasi pr osedur .
3. Melakukan pemanggilan pr osedur .
B. PER AL AT AN
Untuk mengerjakan praktikum ini, dibutuhkan per alatan:
1. Per sonal komputer dengan sistem oper asi Windows 95 atau yanglebih bar u.
2. Per angkat lunak Turbo Pascal dan Turbo Basic.
C. SKENARIO
Pr aktikan membuat program dengan bahasa pemrograman yang sesuaipada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,praktikan mengerjakan Tugas Pr aktikum tanpa bimbingan Instr uktur .Tugas Pr aktikum diker jakan menggunakan salah satu BahasaPemrograman pilihan Pr aktikan.
D. L ATIHAN
Ber ikut mer upakan contoh program yang menggunakan pr osedurbernama PLingkar . Prosedur ini berguna untuk menghitung kelilingdan luas lingkaran. Ketik kode program ter sebut lalu lakukan kompilasidan pengu jian. Simpan f ile program dengan nama HLingkar .
Bahasa Pascal:
Program Lingkaran;Uses WinCrt; Var
8/16/2019 Prak Algo Fasilkom
18/20
MEMBUAT PROSEDUR 27 Modul Praktikum Algoritma dan Pemrograman 28
JarD, JarB : real;
Procedure PLingkar(r : real);Const phi =3.14; Var K, L : real; Begin
K:=2*phi*r;L:=phi* sqr(r); Writeln(‘Keliling : ‘,K); writeln(‘Luas : ‘,L);End;
{===Program utama===}
Begin W rite(‘J ari-Jari Roda Depan : ‘); Readln(JarD); W rite(‘J ari-Jari Roda Belakang : ‘); Readln(JarB); Writeln; writeln(‘HASIL PERHITUNGAN‘); Writeln(‘RODA DEPAN: ‘); PLingkar(JarD); Writeln(‘RODA BELAKANG: ‘);PLingkar(JarB); End.
E. TUG AS PRAKTIKUM
1. Buatlah prosedur untuk menghitung luas, volume, dan pan jangrusuk balok yang memliki panjang p, lebar l, dan tinggi t. Gunakanprosedur ter sebut dalam pr ogr am.
2. Buatlah prosedur untuk menghitung gaji bulanan pegawai, denganketentuan sebagai ber ikut: ▪ Gaji Pokok = Jumlah jam masuk X Rp 25.000,00
▪ Gaji Lembur = (Jumlah jam masuk – 300) X Rp 10.000,00 ▪ Tunjangan anak sebesar Rp 50.000,00 per anak. ▪ TunjanganKesehatan sebesar Rp 100.000,00 ▪ Gaji diter ima mer upakan jumlah dari Gaji Pokok, Gaji Lembur ,
Tunjangan Anak, dan Tunjangan Kesehatan.
Gunakan prosedur ter sebut dalam program per hitungan ga jise jumlah kar ywawan.
Bahasa Basic:
SUB PLingkar(r)K=2*3.14*rL=3.14* sqr(r) PRINT ‘K eliling : ‘; K PRINT ‘Luas : ‘; LEND SUB
‘===Program utama=== PRINT ‘J ari-Jari Roda Depan : ‘; :INPUT JarD PRINT ‘J ari-Jari Roda Belakang : ‘); :INPUT JarBPRINT ‘’ PRINT ‘H ASIL PERHITUNGAN‘
PRINT ‘R ODA DEPAN: ‘CALL PLingkar(JarD)PRINT ‘R ODA BELAKANG: ‘CALL PLingkar(JarB)
8/16/2019 Prak Algo Fasilkom
19/20
A. TUJUAN
MODUL 8
Modul Praktikum Algoritma dan Pemrograman 30
long sVar = -65535; cout
8/16/2019 Prak Algo Fasilkom
20/20
MENGGUNAKAN POINTER 31
Latihan 4.c
Program Pascal ber ikut mer upakan contoh program untukmengalokasian dan menghapus pointer . Ketik kode program ter sebutlalu lakukan kompilasi.
PROGRAM ContohPointer(OUTPUT);
Uses WinCrt;
TYPE intptr = ̂ INTEGER; realptr = ̂ REAL;
VAR MyIntegerPointer, AnotherIntPointer:intptr; MyRealPointer :realptr;
BEGIN NEW(MyIntegerPointer); NEW(MyRealPointer); NEW(AnotherIntPointer);
MyRealPointer :̂= 2.25; MyIntegerPointer^:= 500; AnotherIntPointer^:= 400;
MyRealPointer :̂= MyIntegerPointer^; MyIntegerPointer:= AnotherIntPointer;
WRITELN('MyRealPointer menunjuk ke: ', MyRealPointer^:2:2); WRITELN;
IF (MyIntegerPointer = AnotherIntPointer) THEN WRITELN('Ya, Kedua pointer menunjuj ke lokasi yang sama.');
WRITELN('MyIntegerPointer menunjuk ke: ', MyIntegerPointer^); WRITELN('AnotherIntPointer menunjuk ke: ', AnotherIntPointer^); WRITELN;
DISPOSE(MyIntegerPointer);
DISPOSE(MyRealPointer);
WRITELN('Tekan sembarang tombol untuk melanjutkan...');READLN END.
Modul Praktikum Algoritma dan Pemrograman 32
E. TUG AS PRAKTIKUM
1. Jika Anda memiliki variabel dengan nama Usia, tuliskan kodeprogram menggunakan pointer untuk memanipulasi Usia.Tetapkan nilai 25 pada variabel Usia yang Anda deklar asikan,menggunakan pointer .
2. Buatlah program kecil yang mendeklarasikan sebuah integer danpointer untuk integer ter sebut. Tempatkan alamat integer padapointer . Gunakan pointer untuk mengeset nilai di variabel integer .
3. Buatlah program melibatkan pointer untuk menghitung total nilaidari nilai-nilai yang dimasukkan pemakai secar a dinamis (tidakdibatasi jumlah datanya).
1. ITLESL. Pr ogr amm
ing and Pr oblem
SolvingThrough
„
C‟
Language.
Delhi:
MacMillan India Ltd.
2. Jogiyanto H.M. (1989). Teor i dan Aplikasi Program Komputer Bahasa
Pascal. Yogyakarta: Andi Off set.
3. Kr istanto, A. Algor itma dan Pemrograman dengan C++. Yogyakar ta:
Graha Ilmu.
4. Pamungkas. (1995). Tuntunan Pr aktis Pemrograman TURBO B ASIC.
Jakar ta: Elexmedia Komputindo.
5. Soesianto, Eko Nugroho, & P. Insap Satosa (1985). Pemrograman B ASIC.
Yogyakarta: AndiOFFSET.
6. Suted jo, B. dan Michael AN. (1997). Algor itma dan Teknik Pemr ogr aman:
Konsep, Implementasi dan Aplikasi. Yogyakarta: Pener bit Andi.
7. Wagito. (2003). Pemrograman Ber or ientasi Ob jek: Teor i dan Aplikasi
dengan C++ Ber basis Windows dan Linux. Yogyakarta: GavaMedia.