Praktikum Hasil Alpro 2

43
Nama NIM Kela s Modu l : MIKAEL HASUDUNGAN MUNTHE : DBC 115 071 : G : I (DASAR PEMROGRAMAN BERORIENTASI OBJEK) LAPORAN HASIL PRAKTIKUM ALGORITMA DAN PEMOGRAMAN II JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA

description

hjj

Transcript of Praktikum Hasil Alpro 2

Page 1: Praktikum Hasil Alpro 2

Nama

NIM

Kelas

Modul

: MIKAEL HASUDUNGAN MUNTHE

: DBC 115 071

: G

: I (DASAR PEMROGRAMAN BERORIENTASI OBJEK)

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMOGRAMAN II

JURUSAN TEKNIK INFORMATIKAFAKULTAS TEKNIK

UNIVERSITAS PALANGKA RAYA2016

Page 2: Praktikum Hasil Alpro 2

BAB I

PENDAHULUAN

I. TUJUAN

Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu:

Memahami dasar-dasar pemrograman berorientasi objek

Memahami enkapsulasi

Membuat kelas dan objek

II. DASAR TEORI

Perbedaan pemrograman tradisional dan berorientasi objek adalah pada

cara menyelesaikan suatu permasalahan. Pada pemrograman tradisional dalam

memecahkan suatu masalah, masalah akan dibagi menjadi fungsi-fungsi yang

lebih kecil, sedangkan pada pemrograman berorientasi objek (PBO) setiap

masalah diselesaikan dengan cara dibagi ke dalam objek-objek.

Pada PBO dilakukan pembungkusan data (attributes) dan fungsi (behavior)

ke paket yang disebut kelas. Attributes merupakan data yang menggambarkan

status internal sebuah objek dan biasanya merupakan “member variables” pada

C++, tidak dapat diakses dari luar (enkapsulasi), dan juga sebagai “state”.

Methods merupakan fungsi yang mengakses status internal sebuah objek dan

biasanya merupakan “member functions” pada C++, dapat diakses dari luar,

memanipulasi atribut, dan disebut juga “behavior”. Berikut ini merupakan

gambaran mengenai objek.

Page 3: Praktikum Hasil Alpro 2

Kelas (Class) terdiri dari model objek yang memiliki atribut (data

members) dan Behaviors (member functions), dan Member functions yaitu

Methods yang dipanggil sebagai response terhadap pesan. Kelas didefinisikan

dengan keyword class.

Mode akses yang ada pada kelas ada tiga yaitu private yang merupakan

default mode akses dan dapat diakses oleh member functions, public yang dapat

diakses oleh setiap Accessible fungsi dalam program, dan protected yang biasanya

digunakan untuk pewarisan.

Fungsi Constructor merupakan member function khusus yang

menginisialisasi data members dan memiliki nama yang sama dengan nama kelas.

Fungsi Constructor dipanggil saat membuat objek dari kelas dan tidak memiliki

tipe balikan.

Member functions yang didefinisikan diluar kelas dilakukan dengan

menggunakan binary scope resolution operator (::) yang berfungsi untuk

“mengikat” nama fungsi ke nama kelas dan mengidentifikasi fungsi dari suatu

kelas tertentu.

Berikut ini merupakan format dari member functions.

NilaiBalikan NamaKelas::NamaFungsi( ) {

}

Member functions yang didefinisikan di dalam kelas tidak membutuhkan scope

resolution operator dan nama kelas.

Page 4: Praktikum Hasil Alpro 2

BAB II

LANGKAH KERJA

1. Buatlah program seperti di bawah ini !

#include<iostream.h>

#include<conio.h>

class Sepeda {

public:

Sepeda(int, int, int);

void mengubahPutaran(int);

void mengubahGir(int);

void mengerem( );

void tampilInfo( );

private:

int kecepatan;

int putaran;

int gir;

};

Sepeda::Sepeda(int k, int p, int g)

{

kecepatan = k;

putaran = p;

gir = g;

}

Page 5: Praktikum Hasil Alpro 2

void Sepeda::mrngubahPutaran(int p)

{

putaran = p;

void Sepeda::mengubahGir(int g)

{

gir = g;

}

void Sepeda::mengerem( )

(

count<< “kecepatan dan putaran berkurang . . .”;

}

Void Sepeda::tampilInfo()

{

Count<< “Gir : “ << gir << endl << “kecepatan : “

<<kecepatan<< endl << “Putaran : “ << putaran << endl;

}

Int main ( )

{

Sepeda sepeda1 (10,60,3),

sepeda2 (4,12,1),

sepeda3 (35,80,5);

sepeda1.tampilInfo( );

sepeda2.tampilInfo( );

Page 6: Praktikum Hasil Alpro 2

sepeda3.tampilInfo( );

getch( );

return 0;

}

2. Buatlah program seperti dibawah ini!

#include<iostrem.h>

#include<iomanip.h>

#include<conio.h>

class Time {

public:

Time( );

void setTime(int, int, int);

void printUniversal( );

void printStandard( );

private:

int hour;

int minute;

int second;

};

Time::Time ( )

{

hour = minute = second = 0;

}

Page 7: Praktikum Hasil Alpro 2

void Time::setTime ( int h, int m, int s )

{

hour = ( h >= 0 && h < 24 ) ? h : 0;

minute = ( m >= 0 && m < 60 ) ? m : 0;

second = ( s >= 0 && s < 60 ) ? s : 0;

}

void Time::printUniversal( )

{

Cout<< setfill ( ‘0’ ) << ( 2 ) << hour << “:”

<<setw ( 2 ) << minute << “:”

<<setw ( 2 ) << second;

}

void Time::printStandard( )

{

Cout << ( ( hour == 0 | | hour == 12 ) ? 12 : hour : 12 )

<< “:” <<setfill ( ‘0’ ) << setw ( 2 ) << minute

<< “:” <<setw ( 2 ) << second

<< ( hour < 12 ? “ AM” : “ PM” );

}

int main ( )

{

Time t;

Page 8: Praktikum Hasil Alpro 2

Cout<< “The initial universal time is “;

t.printUniversal( );

cout<< “\nThe initial standard time is “;

t.printStandard( );

t.setTime( 13, 27, 6 );

cout<< “\nUniversal time after setTime is “;

t.printUniversal( );

cout<< “\nStandard time after setTime is “;

t.printStandard( );

t.setTime( 99, 99, 99 );

cout<< “\n\After attempting invalid settings”

<< “\nUniversal time: “;

t.printUniversal( );

cout<< “\nStandard time: “;

t.printStandard( );

cout<< endl;

getch( );

return 0:

}

3. Buatlah program untuk menghitung volume dan keliling sebuah kotak

dengan rumus V = panjang x lebar x tinggi, dan K=( 2xpanjang ) +

( 2xlebar ) + (2xtinggi). Program tersebut harus memiliki setidaknya 1

(satu) buah Class dan 1 (satu) constructor

Page 9: Praktikum Hasil Alpro 2

BAB III

PEMBAHASAN

Banyak bahasa pemrograman yang mendukung Program Berorientasi Objek

(PBO), antara lain : Visual Foxpo, Java, C++, Pascal, SIMULA, Smalltalk, Ruby,

Python, PHP, Delphi, Eiffel, Perl dan Adobe Flash AS 3.0. Namun yang akan

dibahas kali adalah bahasa pemrograman C++.

C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne

Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs

(Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa

sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa

pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi

ANSI (American National Standart Institute) Bahasa pemrograman C menjadi

versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam

pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne

Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an,

Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support

untuk pemrograman tingkat rendah (low level coding). Pada C++ ditambahkan

konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan

overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah

dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented

Programming). Perbedaan Antara Bahasa pemrograman C dan C++ meskipun

bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki

perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian

suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-

submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman

yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan

masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang

merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object

fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan

dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan

dengan Class.

Page 10: Praktikum Hasil Alpro 2

1. Program Pertama

Program ini bertujuan untuk menentukan gir, kecepatan dan putaran dalam

suatu kelas Sepeda. Penulisan listing program pada C++ adalah sebagai berikut :

#include<iostream.h>

#include<conio.h>

class Sepeda {

public:

Sepeda(int, int, int);

void mengubahPutaran(int);

void mengubahGir(int);

void mengerem( );

void tampilInfo( );

private:

int kecepatan;

int putaran;

int gir;

};

Sepeda::Sepeda(int k, int p, int g)

{

kecepatan = k;

putaran = p;

gir = g;

}

void Sepeda::mrngubahPutaran(int p)

{

putaran = p;

}

void Sepeda::mengubahGir(int g)

{

gir = g;

}

void Sepeda::mengerem( )

(

cout<< “kecepatan dan putaran berkurang . . .”;

Page 11: Praktikum Hasil Alpro 2

}

Void Sepeda::tampilInfo()

{

Cout<< “Gir : “ << gir << endl << “kecepatan : “

<<kecepatan<< endl << “Putaran : “ << putaran << endl;

}

Int main ( )

{

Sepeda sepeda1 (10,60,3),

sepeda2 (4,12,1),

sepeda3 (35,80,5);

sepeda1.tampilInfo( ); program utama

sepeda2.tampilInfo( );

sepeda3.tampilInfo( );

getch( );

return 0;

}

Hal pertama kali yang di eksekusi oleh program adalah bagian header atau

preprosesor.

#include<iostream.h> file header yang digunakan untuk proses

input/output standar.

#include<conio.h> file header yang hampir sama dengan iostrem

dimana file header ini akan menampilkan

nilai input/output yang telah di deklarasikan

iostream (singkatan dari input output stream), adalah kelas yang

diturunkan dari dua buah induk, yaitu istream dan ostream. Kelas iostream

digunakan untuk menangani masalah-masalah input dan output (I/O) data.

Perintah conio memiliki fungsi sama seperti perintah clrscr pada Pascal, yaitu

perintah untuk menghapus atau membersihkan layar dan akan diikuti perintah.

Perintah conio selalu diikuti dengan perintah getch.

Page 12: Praktikum Hasil Alpro 2

Setelah bagian header selesai di eksekusi, giliran berikutnya adalah

pendeklarasian kelas dengan definisi sebagai berikut:

class Sepeda { nama kelas yang ditentukan adalah kelas Sepeda

public: hak akses yang di ijinkan adalah public, artinya

dapat diakses secara umum kepada kelas-kelas

turunannya.

Sepeda(int, int, int);terdapat tipe data int (integer), yang artinya data yang

diakses untuk kelas Sepeda adalah berupa

angka.

void mengubahPutaran(int); Prosedur mengubahPutaran

void mengubahGir(int); Prosedur mengubahGir

void mengerem( ); Prosedur mengerem

void tampilInfo( ); Prosedur tampilInfo

private: hak akses yang di ijinkan adalah private,

artinyahanya dapat diakses oleh fungsi-fungsi

yang terdapat di dalam kelas tersebut.

int kecepatan;

int putaran;

int gir;

};

Proses selanjutnya adalah bagian Constructor Sepeda, di sinilah bagian untuk menginisialisasikan suatu data.

Sepeda::Sepeda(int k, int p, int g)untuk inisialisasik, p, g,bernilai integer.

{

kecepatan = k; kecepatan diinisialisasikan dengan k

putaran = p; putaran diinisialisasikan dengan p

Page 13: Praktikum Hasil Alpro 2

gir = g; gir diinisialisasikan dengan g

Selanjutnya masuk pada bagian member function yang didefinisikan diluar

kelas dan dilakukan dengan menggunakan binary scope resolution operator (::)

yang berfungsi untuk “mengikat” nama fungsi ke nama kelas dan

mengidentifikasi fungsi dari suatu kelas tertentu.

void Sepeda::mengubahPutaran(int p)

{

putaran = p;

}

void Sepeda::mengubahGir(int g)

{

gir = g;

}

void Sepeda::mengerem( )

(

cout<< “kecepatan dan putaran berkurang . . .”;

}

Void Sepeda::tampilInfo()

{

Cout<< “Gir : “ << gir << endl << “kecepatan : “

<<kecepatan<< endl << “Putaran : “ << putaran << endl;

}

Perintah cout berfungsi untuk melakukan output ke peralatan

standar. Adapun operator yang digunakan adalah operator <<. Perintah

endl berguna menampilkan baris baru dan membuang stream.

mengubahPutaran dihubungkan dengan putaran (p)

mengubahGir dihubungkan dengan gir (g)

Page 14: Praktikum Hasil Alpro 2

Langkah yang terakhir adalah masuk pada bagian utama dari program

tersebut. Disinilah proses pemanggilan intruksi-intruksi yang telah dituliskan pada

bagian-bagian sebelumnya terjadi.

Int main ( ) main( ) adalah sebuah fungsi utama di

dalam sebuah program.

{

Sepeda sepeda1 (10,60,3), isikan nilai sepeda1 dengan 10,60,3

dengan urutan inisialisasi k, p, g.

sepeda2 (4,12,1), isikan nilai sepeda2 dengan 4,12,1

dengan urutan inisialisasi k, p, g.

sepeda3 (35,80,5); isikan nilai sepeda3 dengan 35,80,5

dengan urutan inisialisasi k, p, g.

sepeda1.tampilInfo( ); tampilkan info sepeda1

sepeda2.tampilInfo( ); tampilkan info sepeda2

sepeda3.tampilInfo( ); tampilkan info sepeda3

getch( ); getch( )adalah intruksi lanjutan dari conio yang telah

ditulis di bagian header.

return 0; nilai 0 pada statemen return 0 berfungsi untuk

mengembalikan nilai ke sistem operasi

Setelah listing program selesai dibuat, Compile program tersebut dengan

menekan ctrl+F7 dan untuk menjalankan program tersebut tekan ctrl+F5 atau

gunakan fasilitas compile dan run padamenu Build.Jika hasil compile tidak

menunjukan indikasi error, maka output yang akan keluar adalah seperti gambar

berikut :

Page 15: Praktikum Hasil Alpro 2

2. Program Kedua

Program kedua ini merupakan program Time atau waktu. Disini akan bermain

dengan yang namanya hitungan jam (hour), menit (minute), dan detik

(second). Berikut listing program yang ditulis dalam bahasa C++ dengan

aplikasi Visual Basic 6.0.

#include<iostream.h>

#include<iomanip.h>

#include<conio.h>

class Time {

public:

time();

void setTime(int, int, int);

void printUniversal() ;

void printStandard() ;

private:

int hour;

int minute;

int second;

} ;

Time::Time()

{

hour = minute = second = 0;

}

void Time::setTime(int h, int m, int s)

{

Page 16: Praktikum Hasil Alpro 2

hour = ( h >= 0 && h < 24 ) ? h : 0;

minute = ( m >= 0 && m < 60 ) ? m : 0;

second = ( s >= 0 && s < 60 ) ? s : 0;

}

void time::printUniversal()

{

cout<< setfill ( '0' ) << setw ( 2 ) << hour << ":"

<<setw ( 2 ) << minute << ":"

<<setw ( 2 ) <<second;

}

void Time::printStandard()

{

cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )

<< ":" <<setfill ( '0' ) << setw ( 2 ) << minute

<< ":" <<setw ( 2 ) << second

<< ( hour< 12 ? " AM" : " PM" ) ;

}

int main()

{

Time t;

cout<< "The initial universal time is ";

t.printUniversal();

cout<< "\nThe initial standard time is ";

t.printStandard() ;

t.setTime( 13, 27, 6 ) ;

cout<< "\n\nUniversal time after setTime is ";

t.printUniversal() ;

cout<< "\nStandard time after setTime is ";

t.printStandard() ;

Page 17: Praktikum Hasil Alpro 2

t.setTime( 99, 99, 99 ) ;

cout<< "\n\nAfter attempting invalid settings: "

<< "\nUniversal Time: ";

t.printUniversal();

cout<< "\nStandard Time: ";

t.printStandard() ;

cout<< endl;

getch() ;

return 0 ;

}

Hal yang pertama dari program di atas adalah bagian header. Bagian header di

atas terdiri dari :

#include<iostream.h> file header yang digunakan untuk proses

input/output standar.

#include<iomanip.h> inilah yang mebedakan dengan program

pertama tadi. Pada program kedua ini

menggunakan intruksi iomanip,

yangberguna agar manipulator input dan

output dapat digunakan pada program.

#include<conio.h> file header yang hampir sama dengan iostrem

dimana file header ini akan menampilkan

nilai input/output yang telah di deklarasikan

Selanjutnya penulisan coding pada bagian pendeklarasian kelas sebagai berikut :

class Time { pemberian nama kelas dengan “Time”

public: hak akses yang di ijinkan adalah public,

artinya dapat diakses secara umum kepada

kelas-kelas turunannya.

time();

Page 18: Praktikum Hasil Alpro 2

void setTime(int, int, int); prosedur setTime

void printUniversal() ; prosedur printUniversal

void printStandard() ; prosedur printStandard

private: hak akses yang di ijinkan adalah private,

artinyahanya dapat diakses oleh fungsi-fungsi

yang terdapat di dalam kelas tersebut.

int hour;

int minute;

int second;

} ;

Pada penulisan coding bagian pendeklarasian kelas di atas terjadi sebuah

kesalahan saat di ruang praktikum setelah program tersebut di compile.

Kesalahan tersebut adalah sebagai berikut :

Kesalahan Yang telah diperbaiki

class Time {

public:

time();

void setTime(int, int, int);

void printUniversal() ;

void printStandard() ;

class Time {

public:

Time();

void setTime(int, int, int);

void printUniversal() ;

void printStandard() ;

Kesalahan hanya terjadi pada satu huruf saja, yaitu huruf “t” tidak huruf

Kapital. Hal tersebut dikatakan masalah karena pada deklarasi sebelumnya,

kelas Time telah ditulis dengan huruf Kapital pada huruf “T”. meskipun hanya

satu masalah, namun hal tersebut sangat berpengaruh pada seluruh program

yang dibuat. Karena kesalahan sebuah huruf, semua coding yang telah dibuat

tidak bisa dijalankan sama sekali. Dalam C++ tidak mudah untuk mencari

sintak yang error, karena disitu tidak tersedia fitur untuk menunjuk letak sitak

yang error, namun hanya menberi pesan bahwa ada kesalahan dalam program

tersebut. Jadi kita harus secara manual untuk mencar kesalahan tersebut. Perlu

ketelitian yang tinggi untuk menulis coding pada C++ dan untuk mencari

kesalahan yang terjadi.

Page 19: Praktikum Hasil Alpro 2

Untuk langkah berikutnya adalah bagian Constructor Time atau bagian untuk menginisialisasikan suatu data

time::time()

{

hour = minute = second = 0;

}

Masuk ke langkah bagian fungsi setTime, bagian untuk mengatur waktu yang ada.

void time::setTime(int h, int m, int s)

{

hour = ( h >= 0 && h < 24 ) ? h : 0

minute = ( m >= 0 && m < 60 ) ? m : 0;

second = ( s >= 0 && s < 60 ) ? s : 0;

}

Symbol ‘&&’ mempunyai makna Logika AND, yang artinya akan bernilai

benar jika semua nilai bernilai benar.

Selanjutnya adalah masuk bagian fungsi printUniversal

void time::printUniversal()

{

cout<< setfill ( '0' ) << setw ( 2 ) << hour << ":"

<<setw ( 2 ) << minute << ":"

<<setw ( 2 ) <<second;

}

Fungsi printUniversal adalah mencetak keluaran sesuai dengan fungsi

setTime berdasarkan syarat yang ditentukan. Perintah setfill(‘0’) berguna

untuk mengisi karakter dengan 0. Perintah setw(2) berguna untuk mengeset

Page 20: Praktikum Hasil Alpro 2

lebar sebanyak 2 karakter. Perintah cout berfungsi untuk melakukan output ke

peralatan standar. Adapun operator yang digunakan adalah operator <<.

Langkah berikutnya masuk pada bagian fungsi printStandard

void time::printStandard()

{

cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )

<< ":" <<setfill ( '0' ) << setw ( 2 ) << minute

<< ":" <<setw ( 2 ) << second

<< ( hour< 12 ? " AM" : " PM" ) ;

}

Fungsi printStandard mencetak keluaran h=12 karena hour=0 sehingga

dicetak 12 dan hour < 12 maka AM. Dalam C++ symbol sama dengan adalah

‘==’, berbeda dengan program yang lain yang hanya ‘=’. Symbol ‘ ||’ dalam

C++ adalah Logika OR,digunakan untuk menghubungkan dua atau lebih

ekspredi relasi. Akan dianggap Benar jika salah satu nilai bernilai Benar dan

akan bernilai Salah jika kedua nilai itu Salah. intruksi‘?’adalah sebuah

operator ternary dimana operator ini digunakan dalam operasi yang

melibatkan tiga buah operand. Konsep yang mendasari operasi ini adalah

suatu percabangan(pemilihan) yang didasarkan atas kondisi tertentu.

Setelah semua itruksi-intruksi telah selesai dibuat, maka kita kembali ke bagian

utama pada program tersebut.

int main() Bagian utama program

{

time t;

cout<< "The initial universal time is ";

Page 21: Praktikum Hasil Alpro 2

t.printUniversal();

cout<< "\nThe initial standard time is ";

t.printStandard() ;

t.setTime( 13, 27, 6 ) ; Perintah t.setTime(13,27,6); melakukan

pemanggilan fungsi setTime terhadap variabel t dengan data input

h=13, m=27, dan s=6 sehingga output yang dihasilkan adalah sebagai

berikut.

cout<< "\n\nUniversal time after setTime is ";

t.printUniversal() ;

cout<< "\nStandard time after setTime is ";

t.printStandard() ;

t.setTime( 99, 99, 99 ) ;Perintah t.setTime(99, 99, 99); melakukan

pemanggilan fungsi setTime terhadap variabel t dengan data input

h=99, m=99, dan s=99 sehingga output yang dihasilkan

cout<< "\n\nAfter attempting invalid settings: "

After attempting invalid setting :

Universal time : 00:00:00

Standard time : 12:00:00 AM

Universal time after setTime is : 13:27:06

Standard time after setTime is : 1:27:06 PM

Page 22: Praktikum Hasil Alpro 2

<< "\nUniversal time: ";

t.printUniversal();

cout<< "\nStandard time: ";

t.printStandard() ;

cout<< endl;

getch() ;

return 0 ;

}

Perintah ‘\n’ di atas berguna memindahkan kursor kemudian ke baris

berikutnya.

Setelah listing program selesai dibuat, Compile program tersebut

denganmenekan ctrl+F7 dan untuk menjalankan program tersebut tekan ctrl+F5

atau gunakan fasilitas compile dan run padamenu Build.Jika hasil compile tidak

menunjukan indikasi error, maka akan keluar output yang dihasilkan. Namun jika

saat di compile masih terdapat error, maka lakukan perbaikan pada letak

kesalahannya, seperti yang telah di bahas dalam bagian pendeklarasian kelas tadi.

Setelah berhasil maka output yang dihasilkan adalah sebagai berikut :

3. Program tugas

Page 23: Praktikum Hasil Alpro 2

Buatlah program untuk menghitung volume dan keliling sebuah kotak

dengan rumus V = panjang x lebar x tinggi, dan K=( 2xpanjang ) + ( 2xlebar ) +

(2xtinggi). Program tersebut harus memiliki setidaknya 1 (satu) buah Class dan 1

(satu) constructor.

Penulisannya dalam bahasa C++ adalah sebagai berikut:

#include<iostream.h>

#include<conio.h>

class CKotak

{

public:

double m_panjang;

double m_lebar;

double m_tinggi;

CKotak(double p,double l,double t)

{

m_panjang=p;

m_lebar=l;

m_tinggi=t;

cout<<endl<<"Constructor dipanggil";

}

double Volume()

{

return(m_panjang*m_lebar*m_tinggi);

}

double KelilingKotak()

{

return((2*m_panjang)+(2*m_tinggi)+(2*m_lebar));

}

};

int main()

{

CKotak kotak(8,3,4);

cout<<endl<<endl<<"Keliling kotak adalah = "<<kotak.KelilingKotak();

cout<<endl<<"Volume kotak adalah = "<<kotak.Volume();

Header

Constructor

Deklarasi Kelas Kotak

Page 24: Praktikum Hasil Alpro 2

cout<< endl;

getch();

return 0;

}

Program di atas menggunakan hak akses public, artinya dapat diakses secara

umum kepada kelas-kelas turunannya.

Constructor atau penginisialisasian pada program tersebut adalah :

m_panjang sebagai p

m_lebarsebagai l

m_tinggisebagai t

method dari program tersebut adalah :

menghitung volume kotak, yaitu dengan eksekusi (m_panjang*m_lebar*m_tinggi) dan

menghitung keliling kotak dengan eksekusi (2*m_panjang)+(2*m_lebar)+(2*m_tinggi).

Setelah listing program selesai dibuat, Compile program tersebut

denganmenekan ctrl+F7 dan untuk menjalankan program tersebut tekan ctrl+F5

atau gunakan fasilitas compile dan run padamenu Build.Jika hasil compile tidak

menunjukan indikasi error, maka program daoat langsungberjalan.

Contoh: Jika pada program utama diinputkan angka (8, 3, 4) dengan urutan (p, l, t),

maka akan keluar output seperti gambar di bawah ini :

Keliling dan volume kotak dapat terhitung (memiliki nilai) secara otomatis karena

telah ada method yang diintruksikan sebelumnya. Jika program sudah bejalan

sesuai dengan yang dituliskan pada listing program, maka program tersebut dapat

dikatakan berjalan dengan baik.

Page 25: Praktikum Hasil Alpro 2

BAB IV

KESIMPULAN

C++ merupakan bahasa pemrograman yang memiliki sifat pemrograman

berorientasi objek. Untuk menyelesaikan masalah, C++ melakukan langkah

pertama dengan menjelaskan class-class yang merupakan anak class yang

dibuat sebelumnya sebagai abstraksi dari object-object fisik.

Dalam pemrograman bahasa C++, terutama dengan program Visual Basic 6.0,

kita dituntut untuk sangat teliti terhadap penulisan listing program.

Bahasa C++ dimulai dengan tanda kurung kurawal buka ‘{‘ dan diakhiri

dengan kurung kurawal tutup ‘}’.Setiap baris perintah harus diakhiri dengan

titik koma ‘;’ kecuali yang diawali dengan kres ‘#’

Hak askses dalam C++ diantaranya adalah private, public, protected

Enkapsulasi (Pengkapsulan) adalah mengkombinasikan suatu struktur dengan

fungsi yang memanipulasinya untuk membentuk tipe data baru yaitu kelas

(class).

Kelas (Class) terdiri dari model objek yang memiliki atribut (data members)

dan Behaviors (member functions), dan Member functions yaitu Methods yang

dipanggil sebagai response terhadap pesan. Kelas didefinisikan dengan

keyword class.

Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis

komentar, yaitu:

o Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih

dari satu baris */

o Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )

Pada C++ terdapat 2 jenis Input/Output dasar, yaitu:

o cout (character out), standard keluaran

o cin (character in), standard masukan

cout berfungsi untuk menampilkan keluaran atau output ke layar monitor.

Adapun operator yang digunakan adalah <<

endl berfungsi untuk memindahkan cursor ke baris baru.

main( )adalah sebuah fungsi utama di dalam sebuah program.

Page 26: Praktikum Hasil Alpro 2

BAB V

DAFTAR PUSTAKA

Modul Praktikum Algoritma dan Pemrograman II.Palangka

Raya:Universitas Palangka Raya (Diakses Pada 10 April 2016)

http://www.academia.edu/9435271/

Laporan_Pemrograman_Berorientasi_Objek_Pengenalan_Dasar_Pemrogr

aman_Java_II_(Diakses Pada 10 April 2016)

http://yukcoding.blogspot.com/2016/04/konsep-dasar-pemrograman-

berorientasi.html (Diakses Pada 8 April 2016)

Page 27: Praktikum Hasil Alpro 2

BAB VI

LAMPIRAN

1. Program Pertama

#include<iostream.h>

#include<conio.h>

class Sepeda {

public:

Sepeda(int, int, int);

void mengubahPutaran(int);

void mengubahGir(int);

void mengerem( );

void tampilInfo( );

private:

int kecepatan;

int putaran;

int gir;

};

Sepeda::Sepeda(int k, int p, int g)

{

kecepatan = k;

putaran = p;

gir = g;

}

void Sepeda::mrngubahPutaran(int p)

{

putaran = p;

void Sepeda::mengubahGir(int g)

{

gir = g;

}

void Sepeda::mengerem( )

Page 28: Praktikum Hasil Alpro 2

(

count<< “kecepatan dan putaran berkurang . . .”;

}

Void Sepeda::tampilInfo()

{

Count<< “Gir : “ << gir << endl << “kecepatan : “

<<kecepatan<< endl << “Putaran : “ << putaran << endl;

}

Int main ( )

{

Sepeda sepeda1 (10,60,3),

sepeda2 (4,12,1),

sepeda3 (35,80,5);

sepeda1.tampilInfo( );

sepeda2.tampilInfo( );

sepeda3.tampilInfo( );

getch( );

return 0;

}

Output yang dihasilkan program pertama adalah :

Page 29: Praktikum Hasil Alpro 2

2. Program Kedua

#include<iostrem.h>

#include<iomanip.h>

#include<conio.h>

class Time {

public:

Time( );

void setTime(int, int, int);

void printUniversal( );

void printStandard( );

private:

int hour;

int minute;

int second;

};

Time::Time ( )

{

hour = minute = second = 0;

}

void Time::setTime ( int h, int m, int s )

{

hour = ( h >= 0 && h < 24 ) ? h : 0;

minute = ( m >= 0 && m < 60 ) ? m : 0;

second = ( s >= 0 && s < 60 ) ? s : 0;

}

void Time::printUniversal( )

{

Cout<< setfill ( ‘0’ ) << ( 2 ) << hour << “:”

<<setw ( 2 ) << minute << “:”

<<setw ( 2 ) << second;

}

void Time::printStandard( )

Page 30: Praktikum Hasil Alpro 2

{

Cout << ( ( hour == 0 | | hour == 12 ) ? 12 : hour : 12 )

<< “:” <<setfill ( ‘0’ ) << setw ( 2 ) << minute

<< “:” <<setw ( 2 ) << second

<< ( hour < 12 ? “ AM” : “ PM” );

}

int main ( )

{

Time t;

Cout<< “The initial universal time is “;

t.printUniversal( );

cout<< “\nThe initial standard time is “;

t.printStandard( );

t.setTime( 13, 27, 6 );

cout<< “\nUniversal time after setTime is “;

t.printUniversal( );

cout<< “\nStandard time after setTime is “;

t.printStandard( );

t.setTime( 99, 99, 99 );

cout<< “\n\After attempting invalid settings”

<< “\nUniversal time: “;

t.printUniversal( );

cout<< “\nStandard time: “;

t.printStandard( );

cout<< endl;

getch( );

return 0:

}

Page 31: Praktikum Hasil Alpro 2

Output yang dihasilkan dari program kedua tersebut adalah :

3. Program ketiga (tugas)

#include<iostream.h>#include<conio.h>class CKotak{public:double m_panjang;double m_lebar;double m_tinggi;CKotak(double p,double l,double t){m_panjang=p;m_lebar=l;m_tinggi=t;cout<<endl<<"Constructor dipanggil";}double Volume(){return(m_panjang*m_lebar*m_tinggi);}double KelilingKotak(){return((2*m_panjang)+(2*m_tinggi)+(2*m_lebar));}};int main(){ CKotak kotak(8,3,4); cout<<endl<<endl<<"Keliling kotak adalah = "<<kotak.KelilingKotak();cout<<endl<<"Volume kotak adalah = "<<kotak.Volume();cout<< endl;

getch();return 0;}

Page 32: Praktikum Hasil Alpro 2

Output yang dihasilkan dari program ketiga (tugas) tersebut adalah :