Anda di halaman 1dari 22

LAPORAN AKHIR PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN II

NAMA NIM KELAS MODUL

: SUPRIYANDI : DBC 113 170 :D : I (Dasar Pemprograman Berorientasi Objek)

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2014

BAB I TUJUAN DAN LANDASAN TEORI

I. TUJUAN Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu : Memahami dasar-dasar pemprograman berorientasi objek Memahami enkapsulasi Membuat kelas dan objek

II. LANDASAN TEORI ` Pemrograman berorientasi objek (PBO), atau dalam bahasa Inggris

dikenal sebagai Object Oriented Programming (OOP), merupakan suatu pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam PBO dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik perangkat lunak berskala besar. Selain itu, PBO juga lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan PBO lebih mudah dikembangkan dan dirawat. Konsep dari PBO adalah lebih dari sekedar sebuah konsep pemrograman, PBO merupakan cara berpikir tentang aplikasi bahwa aplikasi bukan sekedar prosedur melainkan sebagai object dan real entity. Object yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi, PBO merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk di kombinasikan dan dipergunakan kembali. PBO lebih memfokuskan kepada manipulasi object.

Contoh bahasa pemrograman yang mendukung OOP diantaranya : Java, C++, Pascal, Visual Basic .NET, Ruby, Python, PHP, C#, Delphi, Perl, dsb. Istilah-Istilah OOP 1. Object Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior. Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor. Analogi pemrograman berorientasi objek sama dengan penggambara pada dunia nyata seperti contoh di atas. Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method. Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. 2. Class Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan methodmethod secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai instances. Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari

anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang nonprogrammer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak

menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. 3. Attributes Atribut adalah data yang membedakan antara objek satu dengan yang lainnya. Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable. Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang sama atau berbeda. Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama. 4. Behavior Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task). Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan method.

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 megubahPutaran(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::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 : <<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; }

2. Buatlah program seperti di bawah ini !


#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 ) { hour = ( h >= 0 && h < 24 ) ? h : 0;

minute = ( m>= 0 && h <60 ) ? h : 0; second = ( s >= 0 && h < 60 ) ? h : 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 standart time is ; t.printStandart(); t.setTime( 13, 27, 6 ); cout<< \n\nUniversal time after setTime is ; t.printUniversal(); cout<< \nStandart time after setTime is ; t.printStandard(); t.setTime( 99, 99, 99 ); cout<< \n\nAfter attempting invalid settings: << \nUniversal time ; t.printStandard(); cout<< \nStandard time: ; t.printStandard(); cout<<endl; getch();

return 0; }

3. Buatlah sebuah program untuk menghitung volume dan keliling sebuah kotak, dengan rumus V = panjang x lebar x tinggi, dan K = (2 x panjang) + (2 x lebar) + (2 x tinggi). Program tersebut harus memiliki setidaknya 1 (satu) buah Class dan 1 (satu) buah Constructor.

BAB III PEMBAHASAN 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::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; }

int main() { Sepeda sepeda1(10,60,3), sepeda2(4,12,1), sepeda3(35,80,5);

sepeda1.tampilInfo(); sepeda2.tampilInfo(); sepeda3.tampilInfo();

getch(); return 0; }

Pembahasan : Pada program pertama ini, kita disuruh membuat sebuah program class Sepeda. Program ini digunakan untuk mencari putaran, gir, dan kecepatan. Pada awal program terdapat #include<iostream.h> ini merupakan bagian dari proses kompilator, Kompilator dari c++ menjalankan program yang dinamakan preprosesor (#). Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk

menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan. Perintah conio digunakan untuk perintah fungsi getch ( ) untuk menerima sembarang input keyboard dari user. Di program juga terdapat 2 buah kode akses yaitu Public dan Private, dimana Public berfungsi untuk memberikan hak akses secara umum (public) kepada kelas-kelas turunannya maupun terhadap lingkungan luar didalam program. Bagian ini biasanya berisi fungsi-fungsi yang akan dijadikan sebagai penghubung (interface), sedangkan Private digunakan untuk untuk memberikan hak akses data hanya kepada kelas yang bersangkutan saja. Artinya kelas-kelas turunan atau lingkungan luar didalam program tidak diizinkan untuk mengakses data tersebut. Lalu terdapat perintah void, void sering disebut juga prosedur, disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut, void digunakan untuk sebuah function atau procedure yang tidak membutuhkan nilai balik. Selanjutnya terdapat perintah cout (character out) yang dipakai untuk menampilkan text di layar monitor. Cout merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar). Didalam program ini juga terdapat Tanda ( << ) yang berfungsi sebagai operator pemasukan (insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan inputan yang kita masukkan. Dan pada statemen return 0 di atas berfungsi untuk mengembalikan nilai ke sistem operasi. Program Kedua :
#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) { 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 == 12 ) << ":" <<setfill ( '0' ) << setw ( 2 ) << minute << ":" <<setw ( 2 ) << second << ( hour< 12 ? " AM" : " PM" ) ; } 0 || hour == 12 ) ? 12 : hour %

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

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

Pembahasan : Pada program ini kita disuruh membuat sebuah program class Time. Perintah didalam coding ini hamper sama dengan coding pertama. Pada program ini terdapat file header yang sama dengan program class Sepeda, namun ada 1 buah tambahan yaitu iomanip. Iomanip diperlukan bila melibatkan setw( ) yang bermanfaat untuk mengatur lebar dari suatu tampilan data. Dalam coding program time juga terdapat fungsi <<setfill yang merupakan suatu fungsi manipulator yang digunakan untuk menampilkan suatu karakter yang ditelakan didepan nilai yang diatur oleh fungsi. Perintah \n berguna memindahkan kursor kemudian ke baris berikutnya. Pada program ini juga menggunakan 2 buah kode akses yaitu Public dan Private. Ada beberapa operator baru pada program kedua ini. Operator-operator itu di antaranya : && (operator AND/dan) Operasi AND hanya akan menghasilkan nilai 1 (benar) jika semua operand-nya bernilai benar, namum jika tidak, maka operasi tersebut akan menampilkan nilai 0 (salah). || (operator OR/atau) Operasi OR hanya akan menghasilkan nilai 0 (salah) jika semua operand-nya bernilai salah, namun jika tidak, maka operasi tersebut akan menghasilkan nilai 1 (benar). ? 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.

Tugas (Program 3)
#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(5,2,6); cout<<endl<<endl<<"Keliling kotak="<<kotak.KelilingKotak(); cout<<endl<<"Volume kotak="<<kotak.Volume();

getch(); return 0;

Output :

BAB IV KESIMPULAN

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.

Semua system terdiri dari class-class dan object. Suatu system dicapai melalui kerjasama antar object, Interaksi antar object disebut object relationship.

Class untuk membuat sebuah objek terlebih dahulu harus dideklarasikan class yang akan dibuat. Method merepresentasikan operasi-operasi yang dapat dilakukan oleh objek. Yang membedakan antara variabel dan method adalah method selalu diakhiri dengan ( ) atau {}.

Constructor merupakan suatu method yang akan memberikan nilai awal pada saat suatu objek dibuat. Modifier ini digunakan untuk memberi tanda hak akses pada resource tertentu. modifier tersebut diantaranya adalah public, private, protected, static.

Object adalah sebuah entity yang memilki keadaan, behavior, dan identitas yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Object dapat juga disebut suatu instans (instance).

BAB V DAFTAR PUSTAKA

http://monica-engelia-jendela-informatika.blogspot.com/2013/09/memahamikonsep-dasar-pbo_6.html

http://infomugi.blogspot.com/2013/02/fungsi-include-void-main-clrscr-cout.html

http://www.adityarizki.net/2012/06/konsep-dasar-pemrograman-berorientasiobjek/

http://nandasanjaya.blogspot.com/2012/04/macam-macam-include-dan-fungsinyadalam.html

http://dioirwansyah.wordpress.com/2009/03/18/kelas-dan-objek-dalam-c/

2014.Modul Algoritma dan Pemrograman II . Palangkaraya:Universitas Palangkaraya.

BAB VI LAMPIRAN

Program I : Input :

Output :

Program II : Input :

Output :

Program III (TUGAS) : Input :

Output :