modul prak-algo
TRANSCRIPT
Modul Praktikum
ALGORITMA DAN
PEMROGRAMAN
Surabaya, April 2013
PENGANTAR
Mata kuliah Algoritma dan Pemrograman merupakan mata kuliah
yang mendasari teknik pemrograman komputer. Sebagai mata kuliah
dasar, para mahasiswa perlu memiliki pengetahuan dan keterampilan
yang cukup mengenai algoritma dan dasar pemrograman tersebut.
Karena itu diperlukan pengalaman praktek dengan cara mencoba
langsung melakukan pemrograman menggunakan perangkat lunak
computer dengan bahasa pemrograman tertentu.
Modul Praktikum Algoritma dan Pemrograman Komputer ini disusun
dengan menyajikan tiga macam bahasa pemrograman berbasis perintah
baris (Command Line Interface, CLI) yaitu PASCAL, C++, dan BASIC.
Disajikannya tiga macam bahasa pemrograman ini dimaksudkan
supaya para mahasiswa dapat memiliki pengalaman belajar yang
bervariasi serta dapat membandingkan gaya pemrograman ketiganya.
Meskipun demikian, pada tahap selanjutnya para mahasiswa tidak
harus mengembangkan keterampilan pemrograman dengan ketiga-
tiganya, melainkan bias hanya memilih salah satu sesuai kebutuhan
atau peminatannya.
Mengapa masih menggunakan CLI, bukan berbasis GUI (Graphical User
Interface)? Menurut hemat penyusun, dengan pemrograman berbasis
CLI para mahasiswa bias lebih focus pada algoritma dan logika
pemrogramannya. Jika praktikum ini menggunakan GUI, sangat
mungkin kegiatan praktikum akan menghabiskan banyak waktu saat
kegitan perancangan antarmuka grafisnya.
Untuk dapat menggunakan modul praktikum ini secara maksimal, para
mahasiswa dianjurkan mengikuti petunjuk berikut ini:
1. Sebelum praktikum, mahasiswa membaca, mencermati dan
mencoba memahami alur kerja kode program yang ada di modul,
serta memperkirakan hasil atau tampilan keluarannya.
2. Mengetik kode program seperti yang ada di dalam tiap-tiap bagian
LATIHAN, kemudian melakukan kompilasi, memperbaiki kesalahan
pengetikan kode, dan mencoba menjalankan hasil kompilasi
program. Jika waktu memungkinkan, majhasiswa dapat
memodifikasi latihan ini sesuai kebutuhan.
3. Mengerjakan tugas yang ada di bagian TUGAS PRAKTIKUM.
Tampilan antarmuka program latihan silahkan dirancang sendiri
oleh mahasiswa dan silahkan berkreatifitas sendiri.
4. Menyusun Laporan Praktikum sesuai format yang telah ditentukan.
Dengan menyusun laporan, maka para mahasiswa akan
mengalami tahap endap materi atau pendalaman terhadap materi
pemrograman yang sudah dipraktekkan sebelumnya. Selain itu,
laporan merupakan dokumentasi atas hasil kerja mahasiswa atas
tugas yang diberikan.
Akhir kata, semoga modul praktikum ini dapat bermanfaat dalam
melatih mahasiswa belajar mengenai algoritma dan dasar-dasar
pemrograman komputer. Kritik dan saran membangun dari semua
pihak sangat diharapkan.
Surabaya, April 2013
Penyusun,
Team FASILKOM
KATA PENGANTAR IV
DAFTAR ISI VI
KERANGKA (OUTLINE) LAPORAN PRAKTIKUM VII
STRUKTUR DASAR PROGRAM 1
STATEMEN KONDISIONAL 5
PERULANGAN (LOOPING) 11
MENGGUNAKAN LARIK (ARRAY) 15
MENGGUNAKAN STRUKTUR (RECORD) 19
MEMBUAT FUNGSI 23
MEMBUAT PROSEDUR 26
MENGGUNAKAN POINTER 29
DAFTAR PUSTAKA 32
(OUTLINE)
I. Judul Percobaan
II. Tujuan
III. Dasar Teori
IV. Alat
V. Langkah Kerja
VI. Hasil Percobaan
VII. Analisa
A. Diagram Alir Program
B. Pembahasan
VIII. Penutup
A. Kesimpulan
B. Saran
IX. Daftar Pustaka
Lampiran
- Listing Program
- Lampiran lain
MODUL 1
Modul Praktikum Algoritma dan Pemrograman 2
return 0;
}
A. TUJUAN
Setelah menyelesaikan praktikum ini, Anda diharapkan dapat:
1. Memahami struktur dasar program.
2. Menggunakan tipe data, konstanta, dan variabel dalam program.
3. Membuat ekspresi dengan menggunakan operator bahasa
pemrograman.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows XP atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Latihan 1.a
Berikut ini adalah program untuk menampilkan teks “Selamat Datang
di Praktikum Algoritma” pada layar monitor. Buatlah kode program
tersebut lalu lakukan kompilasi.
Bahasa C
#include <iostream.h>
int main()
{
cout<<"Selamat Datang di Praktikum Algoritma..!\n";
Bahasa Pascal
Program Selamat;
Begin
Writeln(‘Selamat Datang di Praktikum Algoritma..!’);
Readln;
End.
Bahasa Basic:
PRINT "Selamat Datang di Praktikum Algoritma..!"
Latihan 1.b
Berikut adalah program untuk menghitung penjumlahan dua bilangan
dengan variabel x, y, dan jml yang bertipe Integer. Buatlah kode
program tersebut lalu lakukan kompilasi.
Bahasa C:
#include <iostream.h>
int main()
{
int x,y,jml;
cout<<"Masukkan x: ";cin>>x;
cout<<"Masukkan y: ";cin>>y; jml=x+y;
cout<<"\n";
cout<<"Hasil x + y = "<< jml; return 0;
}
Bahasa Pascal:
program Jumlah;
var
x,y,jml : integer;
begin
write(‘Masukkan x: ‘); readln(x);
write(‘Masukkan y: ‘); readln(y); jml:=x+y;
writeln;
STRUKTUR DASAR PROGRAM 3
writeln(‘Hasil x + y = ‘,jml);
readln;
end.
Bahasa Basic:
DIM x,y,jml as Integer
PRINT "Masukkan x: "; :INPUT x
PRINT "Masukkan y: "; :INPUT y
jml=x+y;
PRINT PRINT "Hasil x + y = "; jml
Latihan 1.c
Berikut ini adalah program untuk menghitung luas persegi panjang.
Buatlah kode program tersebut lalu lakukan kompilasi.
Bahasa C:
#include <iostream.h>
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 << "Lebar:" << Lebar<< "\n";
cout << "Panjang: " << Panjang << endl; cout << "Luas Permukaan: " << Luas << endl;
return 0;
}
Bahasa Pascal:
Program Luas_Segi_empat;
const
Lebar = 5;
Panjang = 10; Var
Luas : Real;
begin {menghitung Luas dengan rumus
Panjang kali Lebar}
Luas = Lebar * Panjang; Writeln("Lebar: ",Lebar);
Modul Praktikum Algoritma dan Pemrograman 4
Writeln("Panjang: ",Panjang);
Writeln("Luas Permukaan: ",Luas);
readln;
end.
Bahasa Basic:
CONST Lebar = 5
CONST Panjang = 10
DIM Luas AS Single ‘menghitung Luas dengan rumus Panjang kali Lebar
Area = Lebar * Panjang
PRINT "Lebar: "; Lebar PRINT "Panjang: "; Panjang
PRINT "Luas Permukaan: "; Luas
E. TUGAS PRAKTIKUM
1. Tulislah program untuk menampilkan teks berikut pada layar
monitor.
Kuliah di Universitas Narotama
Mencetak Sarjana Komputer dengan Kompetensi Standar
2. Buatlah aplikasi untuk menghitung luas permukaan dan volume
bola dengan rumus:
L = 4 * ∏ * r2
V = 4/3 * ∏ * r 3
r adalah jari-jari lingkaran dan ∏ adalah sebuah bilangan tetap yang
nilainya 3.14.
3. Buatlah aplikasi untuk mengkonversi suhu dalam satuan Celcius
(C) ke satuan Fahrenheit (F), Reamur (R), dan Kelvin (K). Rumus
konversinya adalah sebagai berikut:
F = (9/5 * C) + B; R = C + B; dan K = (4/5 * C)
B pada rumus di atas adalah bilangan tetap yang besarnya 32.
A. TUJUAN
MODUL 2
Modul Praktikum Algoritma dan Pemrograman 6
int BilPertama, BilKedua;
cout << "Ketikkan bilangan yang besar (banyak): “ cin >> BilPertama;
cout << "\nMasukkan bilangan yang lebih kecil: “;
cin >> BilKedua; if (BilPertama > BilKedua)
cout << "\nTerima kasih….\n";
else
Setelah melakukan praktikum ini, diharapkan Anda dapat:
1. Menggunakan statemen untuk menyelesaikan kondisi percabangan
dengan beberapa bahasa pemrograman.
2. Membuat program untuk menangani kasus-kasus percabangan.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows XP atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKENARIO
cout << "\nMaaf. Bilangan kedua Anda lebih besar!";
return 0;
}
Bahasa Pascal:
Program Banding;
Uses WinCrt;
Var
BilPertama, BilKedua : real;
Begin write(‘Ketikkan bilangan yang besar (banyak): ‘);
readln(BilPertama);
write(‘Masukkan bilangan yang lebih kecil: ‘); readln(BilKedua);
if BilPertama > BilKedua then
writeln(‘Terima kasih...’)
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
else
End.
writeln(‘Maaf. Bilangan kedua Anda lebih besar!’);
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Latihan 2.a
Bahasa Basic:
DIM BilPertama, BilKedua As Single
PRINT "Ketikkan bilangan yang besar (banyak): “; :INPUT
BilPertama
PRINT "Masukkan bilangan yang lebih kecil: “; :INPUT BilKedua IF BilPertama > BilKedua
PRINT "Terima kasih..."
Berikut adalah program untuk membandingkan dua buah bilangan
yang dimasukkan oleh pemakai. Buatlah kode program tersebut lalu
lakukan kompilasi. Simpan kode program dengan nama Banding.
ELSE
END IF
PRINT "Maaf. Bilangan kedua Anda lebih besar!"
Bahasa C:
#include <iostream.h>
int main()
{
Latihan 2.b
Berikut adalah program untuk membandingkan dua buah bilangan
yang dimasukkan oleh pemakai menggunakan statemen if bersarang.
Mula-mula program meminta masukan dua bilangan, setelah itu
STATEMEN KONDISIONAL 7
Modul Praktikum Algoritma dan Pemrograman 8
dibandingkan mana yang lebih besar, apakah bilangan yang besar
habis dibagi bilangan yang kecil, serta dicek apakah kedua bilangan
sama besar. Buatlah kode program tersebut lalu lakukan kompilasi.
Simpan kode program dengan nama Banding2.
Bahasa C:
#include <iostream.h>
int main()
{
int firstNumber, secondNumber;
cout << "Masukkan dua buah bilangan.\nPertama: ";
cin >> firstNumber; cout << "\nKedua: ";
cin >> secondNumber;
cout << "\n\n";
if (firstNumber >= secondNumber)
{
if ( (firstNumber % secondNumber) == 0) {
if (firstNumber == secondNumber) cout << "Kedua bilangan sama!\n";
else
cout << "Habis dibagi!\n"; }
else
cout << "Tidak habis dibagi!\n"; }
else
cout << "Hey! Bilangan kedua Anda lebih besar!\n";
return 0;
}
Bahasa Pascal:
Program Banding2;
Uses WinCrt;
Var
firstNumber, secondNumber : integer;
Begin
writeln('Masukkan dua buah bilangan.');
write('Pertama: '); readln(firstNumber);
write('Kedua: '); readln(secondNumber);
writeln;
if firstNumber >= secondNumber then if (firstNumber mod secondNumber) = 0 then
if (firstNumber=secondNumber) then
writeln('Kedua bilangan sama!')
else
writeln('Habis dibagi!')
else
writeln('Tidak habis dibagi!')
else
writeln('Hey! Bilangan kedua Anda lebih besar!');
end.
Bahasa Basic:
PRINT "Masukkan dua buah bilangan."
PRINT "Pertama: "; :INPUT firstNumber
PRINT "Kedua: "; :INPUT secondNumber
PRINT ""
IF (firstNumber >= secondNumber) THEN
IF ((firstNumber MOD secondNumber) = 0) THEN
IF (firstNumber = secondNumber) THEN PRINT "Kedua bilangan sama!"
ELSE
PRINT "Habis dibagi!" END IF
else
PRINT "Tidak habis dibagi!" END IF
ELSE
PRINT "Hey! Bilangan kedua Anda lebih besar!" END IF
Latihan 2.c
Kode program berikut menggambarkan contoh penggunaan statemen
case untuk memeriksa penekanan tombol keyboard a, b, atau c.
Buatlah kode program tersebut lalu lakukan kompilasi. Simpan dengan
nama Tombol.
Bahasa C:
#include <conio.h>
#include <stdio.h>
int main(void)
{ int ch;
printf("\tTekan tombol a, b, atau c. JANGAN YANG LAIN!");
ch = getch()
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. TUGAS PRAKT IKUM
1. Buatlah program untuk memasukkan nilai teori dan nilai praktek
mahasiswa kemudian menghitung nilai rata-ratanya. Apabila nilai
rata-rata lebih dari atau sama dengan 6 maka mahasiswa
dinyatakan Lulus, jika nilai rata-ratanya kurang dari enam, maka
mahasiswa tersebut Tidak Lulus.
2. Buatlah program untuk memasukkan IPK mahasiswa, kemudian
menampilkan predikat kelulusannya. Aturan predikat kelulusan
adalah sebagai berikut:
IPK Predikat Kelulusan
2,0≤IPK<2,5 Baik
2,5≤IPK<3,0 Memuaskan
3,0≤IPK<3,5 Sangat Memuaskan
3,5≤IPK≤4,0 Cumlaud
3. Buatlah program untuk mengkonversi angka hari menjadi nama
hari. Pemakai diminta memasukkan di antara angka dari 1 sampai
7, maka akan ditampilkan nama hari yang sesuai. Jika pemakai
memasukkan angka yang tidak termasuk dalam batasan, maka
ditampilkan pesan kesalahan memasukkan angka.
Bahasa Basic:
PRINT "Tekan tombol a, b, atau c. JANGAN YANG LAIN!"; :INPUT ch$
SELECT CASE ch$
CASE "a"
PRINT "Anda memilih tombol a."
CASE "b" PRINT "Anda memilih tombol b."
CASE "c"
PRINT "Anda memilih tombol c."
A. TUJUAN
MODUL 3
Modul Praktikum Algoritma dan Pemrograman 12
#include <iostream.h>
int main()
{
int counter = 0; // inisialisasi kondisi
while(counter < 5) // tes apakah kondisi masih benar {
counter++; // tubuh loop
cout << "counter: " << counter << "\n"; }
cout << "Selesai. Counter: " << counter << ".\n";
Setelah menyelesaiakan materi praktikum ini, Anda diharapkan dapat:
1. Membuat perulangan menggunakan perintah WHILE.
2. Membuat perulangan menggunakan perintah REPEAT.
3. Membuat perulangan menggunakan perintah FOR.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows 95 atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Latihan 3.a
Kode program berikut merupakan contoh perulangan untuk membuat
dan menampilkan pencacah (counter) mulai dari 1 sampai 5. Ketik kode
program tersebut lalu lakukan kompilasi. Simpan file dengan nama
Counter5.
return 0;
}
Bahasa Pascal:
Program Counter5;
Uses WinCrt;
Var
Counter : Integer;
Begin
while(counter < 5) do begin counter:=counter+1;
writeln('counter: ',counter);
end;
writeln('Selesai. Counter: ',counter);
End.
Bahasa Basic:
WHILE counter<5
Counter=counter+1 PRINT "counter: "; counter
LOOP
PRINT "Selesai. Counter: "; counter
Latihan 3.b
Contoh program berikut merupakan contoh perulangan menggunakan
WHILE untuk membuat dan menampilkan teks F A S I L K O M
U n i v e r s i t a s N a r o t a m a sebanyak keinginan pemakai. Ketik
kode program tersebut lalu lakukan kompilasi. Simpan file dengan nama
UlangTek.
Bahasa C:
PERULANGAN (LOOPING) 13
Modul Praktikum Algoritma dan Pemrograman 14
Bahasa C:
#include <iostream.h>
int main()
{
int counter;
cout << "Berapa banyak teks FASILKOM Universitas Narotama? "; cin >> counter;
do
{ cout << " FASILKOM Universitas Narotama \n"; counter--;
} while (counter >0 ); cout << "Nilai Counter: " << counter << endl;
return 0;
}
Bahasa Pascal:
Program UlangTek;
Uses WinCrt;
Var
Counter : Integer;
Begin Write('Berapa banyak teks FASILKOM Universitas Narotama? ');
Readln(counter);
while counter>0 do
begin
writeln('FASILKOM Universitas Narotama'); counter:=counter-1;
end;
writeln('Nilai Counter: ',counter); End.
Bahasa Basic:
PRINT "Berapa banyak teks FASILKOM Universitas Narotama? ";
:INPUT counter DO WHILE counter>0
PRINT "FASILKOM Universitas Narotama"
Counter=counter-1
WEND
PRINT "Nilai Counter: "; counter
Latihan 3.c
Kode program berikut merupakan contoh perulangan menggunakan
FOR untuk menampilkan teks “Looping!” sebanyak 5 kali. Ketik kode
program tersebut lalu lakukan kompilasi. Simpan file dengan nama
Looping.
Bahasa C:
#include <iostream.h>
int main()
{
int counter;
for (counter = 0; counter < 5; counter++) cout << "Looping! ";
cout << "\nCounter: " << counter << ".\n";
return 0;
}
Bahasa Pascal:
Program Looping;
Uses WinCrt;
Var
Counter : Integer; Begin
for counter := 1 to 5 do
writeln('Looping!');
writeln('Counter: ',counter);
End.
Bahasa Basic:
FOR counter= 1 TO 5
PRINT "Looping!"
NEXT
PRINT "Counter: "; counter
E. TUGAS PRAKTIKUM
1. Buatlah program menggunakan untuk menghitung kuadrat
bilangan 100 sampai 200.
2. Buatlah program menggunakan while untuk menghitung faktorial
bilangan.
3. Buatlah program untuk menampilkan bilangan prima antara 0
sampai dengan 100.
4. Buatlah program untuk menampilkan deret Fibonacci yang sesuai
dengan angka yang hendak dijumlahkan.
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. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows XP atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Latihan 4.a
Berikut merupakan contoh program C menggunakan larik berisi 5
elemen. Ketik kode program tersebut lalu lakukan kompilasi. Simpan
file program dengan nama Larik5.
Bahasa C:
#include <iostream.h>
int main()
{
int LarikBil[5];
int i;
for ( i=0; i<5; i++) // 0-4
{ cout << "Nilai LarikBil [" << i << "]: ";
cin >> LarikBil [i];
} for (i = 0; i<5; i++)
cout << i << ": " << LarikBil[i] << "\n";
return 0; }
Bahasa Pascal:
Program Larik5;
Uses WinCrt;
Var LarikBil: array[0..5] of integer;
I : integer;
Begin for i:=0 to 4 do
begin
writeln('Nilai LarikBil [',i,']: '); Readln(LarikBil[i]);
end;
for i:=0 to 4 do writeln(i,': ', LarikBil[i]);
End.
Bahasa Basic:
DIM LarikBil(5) As Integer
FOR i=0 TO 4
PRINT "Nilai LarikBil (";i;")"
:INPUT LarikBil(i)
NEXT
FOR i = 0 TO 4 PRINT i ": " ; LarikBil(i)
NEXT
Latihan 4.b
Program berikut merupakan contoh program menggunakan larik
multidimensi dan menampilkan isinya di layar monitor. Ketik kode
program tersebut lalu lakukan kompilasi. Betulkan jika pada program
yang Anda buat terdapat kesalahan. Simpan file program dengan nama
multidim.
{
int LarikBil[5][2] = { {0,0}, {1,2}, {2,4}, {3,6}, {4,8}}; for (int i = 0; i<5; i++)
3 X 2 2 X 3 for (int j=0; j<2; j++) g g dan { cout << "LarikBil[" << i << "][" << j << "]: "; cout << LarikBil[i][j]<< endl;
dan
} nama dan
MENGGUNAKAN LARIK (ARRAY) 17
Modul Praktikum Algoritma dan Pemrograman 18
Bahasa C:
#include <iostream.h>
int main()
E. TUGAS
return 0;
}
Bahasa Pascal:
Program Multidim;
Uses WinCrt;
Var
LarikBil[5][2] = { {0,0}, {1,2}, {2,4}, {3,6}, {4,8}}; Begin
for i:=0 to 4 do
for j:=0 to 1 do
writeln(‘LarikBil[‘,I,’][‘,j,’]: ‘,LarikBil[I,j];
data nama dan nilai yang dimasukkan, serta menampilkan hasil
perhitungan Nilai Akhir (yang merupakan rata-rata Nilai Teori
dengan Nilai Praktek) masing-masing mahasiswa.
End.
Bahasa Basic:
DIM LarikBil(5,2) AS Integer
FOR i = 0 TO 4
FOR j=0 TO 1
PRINT "LarikBil(" i "," j "): "; :READ LarikBil(i,j)
PRINT LarikBil(I,j)
NEXT NEXT
DATA 0,0,1,2,2,4,3,6,4,8
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. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows 95 atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan QuickBasic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
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 <iostream.h>
main()
{
struct{
float r;
float K;
double L;
} Lingkaran; cout << "Masukkan jari-jari lingkaran: ";
cin >> Lingkaran.r;
Lingkaran.K=2*3.14*Lingkaran.r;
Lingkaran.L=3.14* Lingkaran.r* Lingkaran.r;
cout << "Keliling Lingkaran: " << Lingkaran.K << endl;
cout << "Luas Lingkaran : " << Lingkaran.L << endl; }
Bahasa Pascal:
Program Lingkar;
Uses WinCrt;
Type
Lingkar = record
R : real;
K : real; L : double;
end;
Var Lingkaran : Lingkar;
Begin
Write(‘Masukkan jari-jari lingkaran: ‘); readln(Lingkaran.r);
Lingkaran.K:=2*3.14*Lingkaran.r;
Lingkaran.L:=3.14* Lingkaran.r* Lingkaran.r;
Writeln(‘Keliling Lingkaran: ‘,Lingkaran.K);
writeln(‘Luas Lingkaran : ‘,Lingkaran.L);
End.
Bahasa Basic:
TYPE Lingkar
R As Single
K As Single
L As Double
END TYPE
DIM Lingkaran As Lingkar
PRINT "Masukkan jari-jari lingkaran: "
INPUT Lingkaran.r Lingkaran.K=2*3.14*Lingkaran.r
Lingkaran.L=3.14* Lingkaran.r* Lingkaran.r
MENGGUNAKAN STRUKTUR (RECORD) 21
Modul Praktikum Algoritma dan Pemrograman 22
PRINT "Keliling Lingkaran: ", Lingkaran.K
PRINT "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 nama
Lingkar3.
Bahasa C:
#include <iostream.h>
main()
{
struct{ float r;
float K;
double L;
} Lingkaran[3];
int I;
for(I=0;I<3;I++)
{
cout << "Jari-jari Lingkaran-" << I+1 << endl; cin >> Lingkaran[I].r;
Lingkaran[I].K=2*3.14*Lingkaran[I].r;
Lingkaran[I].L=3.14* Lingkaran[I].r* Lingkaran[I].r;
}
for(I=0;I<3;I++)
{ cout << "Lingkaran-" << I+1 << endl;
cout << "Keliling : " << Lingkaran[I].K << endl;
cout << "Luas : " << Lingkaran[I].L << endl; }
}
Bahasa Pascal:
Program Lingkar3;
Uses WinCrt;
Type
Lingkar = record
R : real;
K : real; L : double; End;
I : integer;
Begin
For I:=0 to 2 do
begin
write(‘Jari-jari Lingkaran-‘,I+1);
readln(Lingkaran[I].r);
Lingkaran[I].K:=2*3.14*Lingkaran[I].r;
Lingkaran[I].L:=3.14* Lingkaran[I].r* Lingkaran[I].r;
End;
For I:=0 to 2 do
begin writeln(‘Lingkaran-‘,I+1);
writeln(‘Keliling : ‘,Lingkaran[I].K);
writeln(‘Luas : ‘,Lingkaran[I].L);
end; End.
Bahasa Basic:
TYPE Lingkar
R As Single
K As Single
L As Double
END TYPE
DIM Lingkaran(3) As Lingkar
DIM I AS Integer
FOR I=1 to 3
PRINT "Jari-jari lingkaran ", I INPUT
Lingkaran[I].r
Lingkaran[I].K=2*3.14*Lingkaran[I].r
Lingkaran[I].L=3.14* Lingkaran[I].r* Lingkaran.r
NEXT FOR I=1 TO 2
PRINT "Keliling Lingkaran: ",I, Lingkaran[I].K
PRINT "Luas Lingkaran : ",I, Lingkaran[I].L
NEXT
E. TUGAS PRAKTIKUM
Buatlah program menggunakan struktur yang berfungsi untuk
memasukkan data NIM, Nama, dan IPK lima (5) orang mahasiswa,
kemudian menampilkan kembali data tersebut beserta hasil
perhitungan rata-rata IPK-nya. Var Lingkaran :array[0..2] of Lingkar;
Modul Praktikum Algoritma dan Pemrograman 24
A. TUJUAN
MODUL 6
float TempCel;
cout << "Masukkan temperature dalam Fahrenheit: "; cin >> TempFer;
TempCel = KonverSh(TempFer);
cout << "\nBesar temperatur tersebut dalam Celsius : "; cout << TempCel << endl;
return 0;
}
Setelah menyelesaikan materi ini, Anda diharapkan dapat:
1. Mendefinisikan dan mendeklarasikan fungsi dan prototipe fungsi.
2. Menetapkan hasil balik dan cara pengiriman variabel pada
deklarasi fungsi.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows XP atau yang
lebih baru.
2. Perangkat lunak Borland C++, Turbo Pascal, dan Turbo Basic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Berikut merupakan contoh program yang menggunakan fungsi
bernama KonverSh. Fungsi ini berguna untuk mengkonversi nilai
Fahrenheit menjadi nilai Celcius. Ketik kode program tersebut lalu
lakukan kompilasi dan pengujian. Simpan file program dengan nama
UbahSuhu.
Bahasa C:
#include <iostream.h>
float KonverSh(float);
int main()
{ float TempFer;
float KonverSh(float TempFer)
{ float TempCel;
TempCel = ((TempFer - 32) * 5) / 9;
return TempCel;
}
Bahasa Pascal:
Program KonversiSuhu;
Uses WinCrt;
Var
TempFer,TempCel : Real;
Function KonverSh(TempFer : real):real;
Var
TempCel : real; begin
TempCel := ((TempFer - 32) * 5) / 9;
result TempCel;
end;
//Program utama
Begin
Write(‘Masukkan temperature dalam Fahrenheit: ‘);
Readln(TempFer);
TempCel := KonverSh(TempFer);
Write(‘Besar temperatur tersebut dalam Celsius : ‘);
Writeln(TempCel);
End.
Bahasa Basic:
DEF FNKonverSh(TempFer)
TempCel = ((TempFer - 32) * 5) / 9 FNKonverSh=TempCel
END DEF
MEMBUAT FUNGSI 25 PRINT "Masukkan temperature dalam Fahrenheit: "; :INPUT TempFer
TempCel = KonverSh(TempFer)
PRINT “Besar temperatur tersebut dalam Celsius : "; TempCel
E. TUGAS PRAKTIKUM
1. Tulislah fungsi bernama Perimeter, yang mengasilkan nilai bertipe
long integer dan memiliki dua parameter yang keduanya bertipe
short integer. Kedua parameter menyatakan panjang dan lebar
bangun segi empat. Fungsi tersebut menghasilkan perimeter segi
empat (dua kali Panjang dan dua kali Lebar). Gunakan fungsi tersebut dalam program.
2. Tulislah program yang berisi fungsi untuk memasukkan dua
argumen integer short dan menghasikan pembagian bilangan
pertama dengan bilangan kedua. Fungsi tidak melakukan
pembagian apabila bilangan kedua nol, tetapi hasilnya –1. Gunakan
fungsi tersebut dalam program.
3. Buatlah fungsi untuk menghitung hasil A pangkat N (AN). Rumus
perpangkatan tersebut adalah sebagai berikut:
AN = exp ( ln (A)* N).
Gunakan fungsi tersebut pada program aplikasi untuk menghitung
pangkat sejumlah bilangan.
MODUL 7
A. TUJUAN
Setelah menyelesaikan materi ini, Anda diharapkan dapat:
1. Mendefinisikan dan mendeklarasikan prosedur.
2. Menetapkan cara pengiriman variabel pada deklarasi prosedur.
3. Melakukan pemanggilan prosedur.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows 95 atau yang
lebih baru.
2. Perangkat lunak Turbo Pascal dan Turbo Basic.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Berikut merupakan contoh program yang menggunakan prosedur
bernama PLingkar. Prosedur ini berguna untuk menghitung keliling
dan luas lingkaran. Ketik kode program tersebut lalu lakukan kompilasi
dan pengujian. Simpan file program dengan nama HLingkar.
Bahasa Pascal:
Program Lingkaran;
Uses WinCrt;
Var
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
Write(‘Jari-Jari Roda Depan : ‘); Readln(JarD);
Write(‘Jari-Jari Roda Belakang : ‘); Readln(JarB); Writeln;
writeln(‘HASIL PERHITUNGAN‘);
Writeln(‘RODA DEPAN: ‘); PLingkar(JarD);
Writeln(‘RODA BELAKANG: ‘);
PLingkar(JarB);
End.
E. TUGAS PRAKTIKUM
1. Buatlah prosedur untuk menghitung luas, volume, dan panjang
rusuk balok yang memliki panjang p, lebar l, dan tinggi t. Gunakan
prosedur tersebut dalam program.
2. Buatlah prosedur untuk menghitung gaji bulanan pegawai, dengan
ketentuan sebagai berikut: ▪ 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.
▪ Tunjangan Kesehatan sebesar Rp 100.000,00
▪ Gaji diterima merupakan jumlah dari Gaji Pokok, Gaji Lembur,
Tunjangan Anak, dan Tunjangan Kesehatan.
Gunakan prosedur tersebut dalam program perhitungan gaji
sejumlah karywawan.
Bahasa Basic:
SUB PLingkar(r)
K=2*3.14*r
L=3.14* sqr(r)
PRINT ‘Keliling : ‘; K PRINT ‘Luas : ‘; L
END SUB
‘===Program utama===
PRINT ‘Jari-Jari Roda Depan : ‘; :INPUT JarD PRINT ‘Jari-Jari Roda Belakang : ‘); :INPUT JarB
PRINT ‘’
PRINT ‘HASIL PERHITUNGAN‘ PRINT ‘RODA DEPAN: ‘
CALL PLingkar(JarD)
PRINT ‘RODA BELAKANG: ‘
CALL PLingkar(JarB)
A. TUJUAN
MODUL 8
Modul Praktikum Algoritma dan Pemrograman 30
long sVar = -65535;
cout << "shortVar:\t" << shortVar; cout << " Alamat variabel shortVar:\t";
cout << &shortVar _<< "\n";
cout << "longVar:\t" << longVar; cout << " Alamat variabel longVar:\t" ;
cout << &longVar _<< "\n";
Setelah menyelesaikan materi ini, diharapkan Anda dapat:
1. Mendeklarasikan pointer.
2. Menggunakan berbagai operator pointer.
3. Membuat program yang melibatkan operasi pointer.
B. PERALATAN
Untuk mengerjakan praktikum ini, dibutuhkan peralatan:
1. Personal komputer dengan sistem operasi Windows 95 atau yang
lebih baru.
2. Perangkat lunak Borland C++dan Turbo Pascal.
C. SKENARIO
Praktikan membuat program dengan bahasa pemrograman yang sesuai
pada kasus di Latihan dengan bimbingan Instruktur. Setelah itu,
praktikan mengerjakan Tugas Praktikum tanpa bimbingan Instruktur.
Tugas Praktikum dikerjakan menggunakan salah satu Bahasa
Pemrograman pilihan Praktikan.
D. LATIHAN
Latihan 4.a
Berikut ini adalah contoh program C yang mendemonstrasikan alamat
operator dan alamat variabel lokal. Ketik kode program tersebut lalu
lakukan kompilasi. #include <iostream.h>
int main()
{
unsigned short shortVar=5; unsigned long longVar=65535;
cout << "sVar:\t" << sVar; cout << " Alamat variable sVar:\t" ;
cout << &sVar _<< "\n";
return 0; }
Latihan 4.b
Program C berikut merupakan contoh program yang menggunakan
pointer. Ketik kode program tersebut lalu lakukan kompilasi.
Bahasa C:
#include <iostream.h>
typedef unsigned short int USHORT;
int main()
{ USHORT myAge; // variable
USHORT * pAge = 0; // pointer
myAge = 5;
cout << "myAge: " << myAge << "\n";
pAge = &myAge; // menetapkan alamat myAge ke pAge cout << "*pAge: " << *pAge << "\n\n";
cout << "*pAge = 7\n";
*pAge = 7; // set myAge menjadi 7 cout << "*pAge: " << *pAge << "\n";
cout << "myAge: " << myAge << "\n\n";
cout << "myAge = 9\n";
myAge = 9;
cout << "myAge: " << myAge << "\n";
cout << "*pAge: " << *pAge << "\n"; return 0;
}
MENGGUNAKAN POINTER 31
Latihan 4.c
Program Pascal berikut merupakan contoh program untuk
mengalokasian dan menghapus pointer. Ketik kode program tersebut
lalu 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. TUGAS PRAKTIKUM
1. Jika Anda memiliki variabel dengan nama Usia, tuliskan kode
program menggunakan pointer untuk memanipulasi Usia.
Tetapkan nilai 25 pada variabel Usia yang Anda deklarasikan,
menggunakan pointer.
2. Buatlah program kecil yang mendeklarasikan sebuah integer dan
pointer untuk integer tersebut. Tempatkan alamat integer pada
pointer. Gunakan pointer untuk mengeset nilai di variabel integer.
3. Buatlah program melibatkan pointer untuk menghitung total nilai
dari nilai-nilai yang dimasukkan pemakai secara dinamis (tidak
dibatasi jumlah datanya).
1. ITLESL. Programming and Problem Solving Through „C‟ Language. Delhi:
MacMillan India Ltd.
2. Jogiyanto H.M. (1989). Teori dan Aplikasi Program Komputer Bahasa
Pascal. Yogyakarta: Andi Offset.
3. Kristanto, A. Algoritma dan Pemrograman dengan C++. Yogyakarta:
Graha Ilmu.
4. Pamungkas. (1995). Tuntunan Praktis Pemrograman TURBO BASIC.
Jakarta: Elexmedia Komputindo.
5. Soesianto, Eko Nugroho, & P. Insap Satosa (1985). Pemrograman BASIC.
Yogyakarta: Andi OFFSET.
6. Sutedjo, B. dan Michael AN. (1997). Algoritma dan Teknik Pemrograman:
Konsep, Implementasi dan Aplikasi. Yogyakarta: Penerbit Andi.
7. Wagito. (2003). Pemrograman Berorientasi Objek: Teori dan Aplikasi
dengan C++ Berbasis Windows dan Linux. Yogyakarta: GavaMedia.