modul prak-algo

20
Modul Prakti kum ALGORITMA DAN PEMROGRAMAN Surabaya, April 2013

Upload: ayu-karisma-alfiana

Post on 22-Mar-2017

149 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Modul prak-algo

Modul Praktikum

ALGORITMA DAN

PEMROGRAMAN

Surabaya, April 2013

Page 2: Modul prak-algo

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

Page 3: Modul prak-algo

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

Page 4: Modul prak-algo

(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

Page 5: Modul prak-algo

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;

Page 6: Modul prak-algo

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.

Page 7: Modul prak-algo

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

Page 8: Modul prak-algo

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()

Page 9: Modul prak-algo

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."

Page 10: Modul prak-algo

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:

Page 11: Modul prak-algo

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.

Page 12: Modul prak-algo

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.

Page 13: Modul prak-algo

{

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

Page 14: Modul prak-algo

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

Page 15: Modul prak-algo

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;

Page 16: Modul prak-algo

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

Page 17: Modul prak-algo

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

Page 18: Modul prak-algo

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)

Page 19: Modul prak-algo

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;

}

Page 20: Modul prak-algo

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.