Anda di halaman 1dari 15

LAPORAN HASIL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN II

Nama NIM Kelas Modul

: Cilik Ardianto : DBC 112 092 : APII-B : I ( Satu )

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2013

BAB I TUJUAN DAN LANDASAN TEORI

I.

TUJUAN

Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu: Memahami dasar-dasar pemrograman berorientasi obyek 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 objekobjek. 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. Methids 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.

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

Mode Akses 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 di luar kelas dilakikan 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. Objek - Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi 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. Class - Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method 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 non-programmer 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. Dengan menggunakan OOP (Object Oriented Programming) maka dalam melakukan suatu masalah kita tidak dapat melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.

BAB II LANGKAH KERJA

1.

Buatlah program seperti dibawah 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; } 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; }

2.

Buatlah progam seperti dibawah 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 && 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 ( ); 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; }

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

1. Buatlah program seperti dibawah 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 };

Perlu diketahui bahwa C++ bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Pada program ini digunakan file header seperti #include<iostream.h>. Iostream adalah salah satu header file yang ada di C++. Header ini digunakan untuk fungsi input dan output yang ada di program. Lalu menggunakan file header #include<conio.h> File header ini merupakan singkatan dari Console Input and Output dan digunakan untuk membuat teks antarmuka pengguna. Contoh perintah : getchar, getch, getche, clrscr(). Lalu menggunakan class. Class atau kelas ini merupakan suatu tipe data yang menggabungkan data dan fungsi untuk mengakses data.

Tanda { } atau tanda kurung kurawal. mengisaratkan awal dan akhir definisi fungsi. Public : menyatakan bahwa deklarasi variable atau item-item yang ada didalam class dapat diakses diluar class Int adalah tipe data yang digunakan. Lalu Void. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Private dalam class C++ adalah mode dimana isi dari class itu tidak bisa diakses oleh class lainnya, hanya bisa diakses oleh kelas itu sendiri. Sepeda: :Sepeda ( int k, int p, int g )

Pada Sepeda : :Sepeda adalah tanda kita menggunakan Constructor Constructor ini adalah sebuah fungsi yang otomatis akan dipanggil setiap kali melakukan instansiasi terhadap suatu kelas. Constructor digunakan untuk melakukan inisialisasi nilai dari data-data yang terdapat didalam kelas bersangkutan. { kecepatan = k; putaran = p; gir = g; } void Sepeda : : mengubahPutaran ( int p ) { putaran = p; } void Sepeda : :mengubahGir (int g ) { gir = g; }

10

Menggunakan tanda { sebagai tanda awal fungsi main. Isi program harus ditulis dengan teliti karena jika salah menulis isi program maka saat dicompile program akan mengalami beberapa error. Beberapa error yang terjadi biasanya disebabkan karena salah melakukan penulisan class Sepeda. Sepeda huruf S nya menggunakan huruf Kapital (huruf besar) biasanya mahasiswa tidak teliti kemudian menulisnya dengan sepeda huruf s tidak menggunakan huruf capital ( huruf besar). Untuk mempermudah pengecekan isi program lebih baik ditulis dan disusun dengan rapi agar apabila terjadi kesalahan mudah untuk dilakukan pengecekan atau pencarian program yang salah. 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; }

11

Cout adalah aliran output karakter yang dapat ditampilkan di layar. Int Main () menunjuk sebagai fungsi program utama dengan ciri kata main dan selalu diakhiri dengan (). fungsi getch sebenarnya merupakan fungsi yang digunakan untuk membaca input dari keyboard. getch() ini merupakan kepanjangan dari Get Character. Dan karakter yang diambil oleh fungsi getch ini tidak akan ditampilkan pada console. Setelah program dicompile lalu di eksekusi maka output programnya :

12

13

14

Anda mungkin juga menyukai