Transcript
Page 1: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Modul Modul Modul Modul PraktikumPraktikumPraktikumPraktikum

ALGORITMA

DAN DASAR

PEMROGRAMAN

Disusun oleh:

CarwotoCarwotoCarwotoCarwoto ([email protected])

SemarangSemarangSemarangSemarang 2020202011111111

Page 2: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

Hak cipta 2011 pada Carwoto

Diperkenankan menggunakan e-modul ini untuk keperluan pendidikan di Indonesia baik dalam bentuk elektronik maupun dengan mencetaknya, dengan syarat tidak melakukan

perubahan isi dan informasi yang ada di dalamnya. Segala hal yang diakibatkan oleh penggunaan e-modul ini bukan tanggung jawab penulis.

Untuk keperluan komersial atau penggunaan di luar Indonesia, silahkan hubungi penulis melalui email: [email protected].

Penyusun: Carwoto ([email protected])

KKAATTAA PPEENNGGAANNTTAARR

Mata kuliah Algoritma dan Dasar 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.

Modul ini pertama kali disusun tahun 2002 dan telah digunakan sejak saat itu dalam perkuliahan di Program Studi Teknik Elektronika, Teknik Informatika, Sistem Informasi, serta telah mengalami perbaikan-perbaikan hingga wujud akhirnya sekarang ini seperti yang And baca.

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

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.

Semarang, Februari 2011

Penyusun,

Carwoto

Penyusun: Carwoto ([email protected])

DDAAFFTTAARR IISSII

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

PEMROGRAMAN BERORIENTASI OBJEK 33

DAFTAR PUSTAKA 38

Page 4: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

KKEERRAANNGGKKAA ((OOUUTTLLIINNEE)) LLAAPPOORRAANN PPRRAAKKTTIIKKUUMM

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 1

SSTTRRUUKKTTUURR DDAASSAARR PPRROOGGRRAAMM

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 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 1.a

Berikut ini adalah program untuk menampilkan teks “Selamat Datang di Kuliah Pemrograman Komputer” pada layar monitor. Buatlah kode program tersebut lalu lakukan kompilasi.

Bahasa C

#include <iostream.h>

int main()

{

cout<<"Selamat Datang di Kuliah Pemrograman Komputer!\n";

Modul Praktikum Algoritma dan Dasar Pemrograman 2

Penyusun: Carwoto ([email protected])

return 0;

}

Bahasa Pascal

Program Selamat;

Begin

Writeln(‘Selamat Datang di Kuliah Pemrograman Komputer!’);

Readln;

End.

Bahasa Basic:

PRINT "Selamat Datang di Kuliah Pemrograman!"

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

STRUKTUR DASAR PROGRAM 3

Penyusun: Carwoto ([email protected])

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 Dasar Pemrograman 4

Penyusun: Carwoto ([email protected])

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 Pemrograman Komputer

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 2

SSTTAATTEEMMEENN KKOONNDDIISSIIOONNAALL

A. TUJUAN

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 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 2.a

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.

Bahasa C:

#include <iostream.h>

int main()

{

Modul Praktikum Algoritma dan Dasar Pemrograman 6

Penyusun: Carwoto ([email protected])

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

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...’) else

writeln(‘Maaf. Bilangan kedua Anda lebih besar!’);

End.

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

ELSE

PRINT "Maaf. Bilangan kedua Anda lebih besar!" END IF

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

STATEMEN KONDISIONAL 7

Penyusun: Carwoto ([email protected])

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

Modul Praktikum Algoritma dan Dasar Pemrograman 8

Penyusun: Carwoto ([email protected])

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

STATEMEN KONDISIONAL 9

Penyusun: Carwoto ([email protected])

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.

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

Modul Praktikum Algoritma dan Dasar Pemrograman 10

Penyusun: Carwoto ([email protected])

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.

Page 10: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 3

PPEERRUULLAANNGGAANN ((LLOOOOPPIINNGG))

A. TUJUAN

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.

Bahasa C:

Modul Praktikum Algoritma dan Dasar Pemrograman 12

Penyusun: Carwoto ([email protected])

#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";

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 STMIK ProVisi sebanyak keinginan pemakai. Ketik kode program tersebut lalu lakukan kompilasi. Simpan file dengan nama UlangTek.

Page 11: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

PERULANGAN (LOOPING) 13

Penyusun: Carwoto ([email protected])

Bahasa C:

#include <iostream.h> int main()

{

int counter; cout << "Berapa banyak teks STMIK ProVisi? ";

cin >> counter;

do

{

cout << "STMIK ProVisi\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 STMIK ProVisi? ');

Readln(counter);

while counter>0 do

begin

writeln('STMIK ProVisi');

counter:=counter-1;

end;

writeln('Nilai Counter: ',counter);

End.

Bahasa Basic:

PRINT "Berapa banyak teks STMIK ProVisi? "; :INPUT counter

DO WHILE counter>0

PRINT "STMIK ProVisi"

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

Modul Praktikum Algoritma dan Dasar Pemrograman 14

Penyusun: Carwoto ([email protected])

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 4

MMEENNGGGGUUNNAAKKAANN LLAARRIIKK ((AARRRRAAYY))

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 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 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;

Modul Praktikum Algoritma dan Dasar Pemrograman 16

Penyusun: Carwoto ([email protected])

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

MENGGUNAKAN LARIK (ARRAY) 17

Penyusun: Carwoto ([email protected])

Bahasa C:

#include <iostream.h>

int main()

{

int LarikBil[5][2] = { {0,0}, {1,2}, {2,4}, {3,6}, {4,8}};

for (int i = 0; i<5; i++)

for (int j=0; j<2; j++)

{

cout << "LarikBil[" << i << "][" << j << "]: ";

cout << LarikBil[i][j]<< endl;

}

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];

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 Dasar Pemrograman 18

Penyusun: Carwoto ([email protected])

E. TUGAS

1. Buatlah program menggunakan larik untuk memasukkan data matrik berordo 3 X 2 dengan matrik berordo 2 X 3 serta menghitung dan menampilkan hasil perkaliannya

2. Buatlah program memasukkan data Nilai Teori dan Nilai Praktek sepuluh mahasiswa menggunakan larik untuk menyimpan data nama dan nilai mahasiswa tersebut, lalu menampilkan kembali data nama dan nilai yang dimasukkan, serta menampilkan hasil perhitungan Nilai Akhir (yang merupakan rata-rata Nilai Teori dengan Nilai Praktek) masing-masing mahasiswa.

Page 14: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 5

MMEENNGGGGUUNNAAKKAANN SSTTRRUUKKTTUURR ((RREECCOORRDD))

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

{

Modul Praktikum Algoritma dan Dasar Pemrograman 20

Penyusun: Carwoto ([email protected])

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

MENGGUNAKAN STRUKTUR (RECORD) 21

Penyusun: Carwoto ([email protected])

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;

Var

Lingkaran :array[0..2] of Lingkar;

Modul Praktikum Algoritma dan Dasar Pemrograman 22

Penyusun: Carwoto ([email protected])

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.

Page 16: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 6

MMEEMMBBUUAATT FFUUNNGGSSII

A. TUJUAN

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

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;

Modul Praktikum Algoritma dan Dasar Pemrograman 24

Penyusun: Carwoto ([email protected])

float TempCel;

cout << "Masukkan temperature dalam Fahrenheit: ";

cin >> TempFer;

TempCel = KonverSh(TempFer);

cout << "\nBesar temperatur tersebut dalam Celsius : ";

cout << TempCel << endl;

return 0;

}

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

MEMBUAT FUNGSI 25

Penyusun: Carwoto ([email protected])

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.

Penyusun: Carwoto ([email protected])

MODUL 7

MMEEMMBBUUAATT PPRROOSSEEDDUURR

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

MEMBUAT PROSEDUR 27

Penyusun: Carwoto ([email protected])

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.

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)

Modul Praktikum Algoritma dan Dasar Pemrograman 28

Penyusun: Carwoto ([email protected])

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.

Page 19: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 8

MMEENNGGGGUUNNAAKKAANN PPOOIINNTTEERR

A. TUJUAN

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;

Modul Praktikum Algoritma dan Dasar Pemrograman 30

Penyusun: Carwoto ([email protected])

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

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: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

MENGGUNAKAN POINTER 31

Penyusun: Carwoto ([email protected])

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 Dasar Pemrograman 32

Penyusun: Carwoto ([email protected])

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

Page 21: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

Penyusun: Carwoto ([email protected])

MODUL 9

PPEEMMRROOGGRRAAMMAANN BBEERROORRIIEENNTTAASSII OOBBJJEEKK

A. TUJUAN

Setelah menyelesaikan materi ini, diharapkan Anda dapat:

1. Mendeklarasikan kelas, objek, konstruktor, destructor dalam pemrograman.

2. Menerapkan teknik enkapsulasi, inheritance, dan polimorphisme.

3. Membuat program yang menerapkan teknik pemrograman berorientasi objek.

B. PERALATAN

Untuk mengerjakan praktikum ini, dibutuhkan peralatan:

1. Personal komputer dengan sistem operasi Windows 95 atau yang lebih baru.

2. Perangkat lunak Turbo C++

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.

D. LATIHAN

Latihan 9.a

Berikut ini adalah contoh program C++ yang menerapkan teknik pembuatan kelas. Ketik kode program tersebut lalu lakukan kompilasi #include<iostream.h>

#include<string.h>

class Mahasiswa

{

int nomorinduk;

char nama[20];

Modul Praktikum Algoritma dan Dasar Pemrograman 34

Penyusun: Carwoto ([email protected])

int nilai;

public:

Mahasiswa();

void setMahasiswa(int nim, char nm[], int nl);

int getnomorinduk();

char *getnama();

int getnilai();

~Mahasiswa();

};

int main()

{

Mahasiswa mhs;

mhs.setMahasiswa(1015,"Budiono",93);

cout<<"Data Siswa: "<<endl

<<"Nomor = "<<mhs.getnomorinduk()<<endl <<"Nama = "<<mhs.getnama()<<endl

<<"nilai = "<<mhs.getnilai()<<endl;

return(0); }

Mahasiswa::Mahasiswa() {

nomorinduk=0;

strcpy(nama,""); nilai=0;

}

void Mahasiswa::setMahasiswa(int nim, char nm[], int nl)

{

nomorinduk = nim;

strcpy(nama, nm);

nilai = nl;

}

int Mahasiswa::getnomorinduk()

{

return(nomorinduk);

}

char *Mahasiswa::getnama()

{

return(nama);

}

int Mahasiswa::getnilai()

Page 22: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

DASAR PEMROGRAMAN BERORIENTASI OBJEK 35

Penyusun: Carwoto ([email protected])

{

return(nilai);

}

Mahasiswa::~Mahasiswa()

{

cout<<"Kelas siswa dengan nomor= "<<nomorinduk

<<" Nama ="<<nama

<<" Nilai="<<nilai<<" dilenyapkan."<<endl;

}

Latihan 9.b

Program C berikut merupakan contoh program C++ yang menerapkan teknik pewarisan. Ketik kode program tersebut lalu lakukan kompilasi. #include<iostream.h>

class Kendaraan

{

public:

void Mengangkut();

};

class Otomotif : public Kendaraan

{

public:

void BerjalanSendiri(); };

class MobilBalap : public Otomotif {

public:

void MelajuKencang(); };

int main() {

Kendaraan knd;

Otomotif oto; MobilBalap mb;

cout<<endl<<"Kemampuan kendaraan: "<<endl;

knd.Mengangkut(); cout<<endl<<"Kemampuan kendaraan otomotif: "<<endl;

knd.Mengangkut();

oto.BerjalanSendiri();

cout<<endl<<"Kemampuan mobil balap: "<<endl;

knd.Mengangkut();

oto.BerjalanSendiri();

mb.MelajuKencang();

Modul Praktikum Algoritma dan Dasar Pemrograman 36

Penyusun: Carwoto ([email protected])

return(0);

}

void Kendaraan::Mengangkut()

{

cout<<"Mengangkut penumpang untuk dipindahkan"<<endl;

}

void Otomotif::BerjalanSendiri()

{

cout<<"Berpindah tempat tanpa bantuan orang atau

binatang"<<endl;

}

void MobilBalap::MelajuKencang()

{

cout<<"Malaju cepat sesuai keinginan pengemudinya"<<endl; }

Latihan 9.c

Program C berikut merupakan contoh program C++ yang menerapkan teknik polimorfisme. Ketik kode program tersebut lalu lakukan kompilasi.

#include<iostream.h>

class HewanDarat {

public:

void virtual BergerakDiDarat()

{

cout<<"Berpindah tempat di atas tanah daratan"<<endl;

}

};

class HewanAir

{

public:

void virtual Berenang()

{

cout<<"Bergerak bebas di air sambil bernafas"<<endl;

}

};

class HewanAmpibi: public HewanDarat, public HewanAir

Page 23: 48925387 Modul Praktikum Algoritma Dan Dasar Pemrograman

DASAR PEMROGRAMAN BERORIENTASI OBJEK 37

Penyusun: Carwoto ([email protected])

{

public:

void BergerakDiDarat()

{

cout<<"Berjalan-jalan di daratan kering atau

berlumpur"<<endl;

}

void Berenang()

{

cout<<"Bergerak di di dalam air dalam waktu lama"<<endl;

}

};

int main()

{

HewanDarat *phd; phd = new HewanDarat;

cout<<endl<<"Cara gerak hewan darat : "<<endl;

phd->BergerakDiDarat(); delete phd;

phd = new HewanAmpibi;

cout<<endl<<"Cara gerak hewan ampibi: "<<endl; phd->BergerakDiDarat();

HewanAir *pha;

pha= new HewanAir;

cout<<endl<<"Cara gerak hewan air : "<<endl;

pha->Berenang();

delete pha;

pha = new HewanAmpibi;

cout<<endl<<"Cara gerak ampibi : "<<endl;

pha->Berenang();

return(0);

}

E. TUGAS PRAKTIKUM

Buatlah untuk menampilkan komponen dan kemampuan Telepon, HP, dan PDA-Phone menggunakakan teknik OOP.

Penyusun: Carwoto ([email protected])

DDAAFFTTAARR PPUUSSTTAAKKAA

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.

Tentang Penyusun Carwoto adalah seorang yang berkecimpung di bidang pendi-

dikan. Alumni Teknik Elektro Fakultas Teknik UNDIP ini ber-

pengalaman mengajar sebagai dosen di program studi Teknik

Elektronika di Universitas Wahid Hasyim Semarang dan program

Studi Teknik Informatika Sekolah Tinggi Manajemen dan

Informatika (STMIK) ProVisi di Semarang.

Saat ini bekerja sebagai konsultan bidang pendidikan Education

Development Center (EDC), Inc. sebagai ICT Coordinator projek

DBE 2 di provinsi Jawa Tengah. Dalam pekerjaannya saat ini, kegiatannya adalah

melatih dan mendampingi sejumlah guru dan dosen dalam pengembangan

pembelajaran berbasis TIK, pembelajaran di kelas dengan satu komputer,

pengembangan professional guru dan perkuliahan jarak jauh (PJJ).

Terkait bidang profesinya sebagai fasilitator atau pelatih, penulis adalah Master

Trainer (MT) Intel Teach GS Course, Fasilitator Online Course Design (OCD) Course

di EdTech Leader’s Online (ETLO), Instruktur di Cisco Networking Academy, serta

Asisten Asesor di LSP Telematika.


Recommended