Struktur Kelas Erizal S Si M Kom Universitas

  • Slides: 20
Download presentation
Struktur & Kelas Erizal, S. Si, M. Kom Universitas Respati Yogyakarta erizalmik@yahoo. com http:

Struktur & Kelas Erizal, S. Si, M. Kom Universitas Respati Yogyakarta erizalmik@yahoo. com http: //erizal. wordpress. com

Konsep n Dalam C++, tipe data struktur yang dideklarasikan dengan kata kunci struct, dapat

Konsep n Dalam C++, tipe data struktur yang dideklarasikan dengan kata kunci struct, dapat memiliki komponen dengan sembarang tipe data, baik tipe data dasar maupun tipe data turunan, termasuk fungsi. Sehingga, tipe data struktur menjadi sangat berdaya guna.

Contoh n Misal : kita ingin membentuk tipe data struktur yang namanya kotak. Maka

Contoh n Misal : kita ingin membentuk tipe data struktur yang namanya kotak. Maka dapat dideklarasikan sebagai berikut : struct tkotak { double panjang; double lebar; }; tkotak; n Untuk memberi nilai ukuran kotak tersebut, kita dapat menggunakan perintah : kotak. panjang = 10; kotak. lebar = 7;

Struktur & Fungsi (1) Cara lain untuk memberi nilai panjang dan lebar adalah dengan

Struktur & Fungsi (1) Cara lain untuk memberi nilai panjang dan lebar adalah dengan membentuk suatu fungsi. Karena fungsi ini hanya digunakan untuk memberi nilai data panjang dan lebar suatu kotak, tentunya fungsi ini khusus milik objek kotak, sehingga harus dianggap sebagai anggota struktur kotak. n C++ sebagai bahasa pemrograman dapat mendefinisikan anggota tipe struktur yang berupa fungsi. n

Struktur & Fungsi (2) n Dengan menambah fungsi tersebut, maka struktur kotak menjadi lebih

Struktur & Fungsi (2) n Dengan menambah fungsi tersebut, maka struktur kotak menjadi lebih jelas bentuknya, seperti berikut : struct tkotak { double panjang; double lebar; void Set. Ukuran(double pj, double lb) { panjang lebar = = pj; lb; }; tkotak; n Dengan tipe struktur kotak seperti itu, untuk memberi nilai panjang dan lebar hanya dengan memanggil fungsi Set. Ukuran() : kotak. Set. Ukuran(10, 7);

Struktur & Fungsi (3) Selain punya ukuran panjang dan lebar, kotak juga mempunyai keliling

Struktur & Fungsi (3) Selain punya ukuran panjang dan lebar, kotak juga mempunyai keliling dan luas. Dengan demikian, kita dapat memasukkan fungsi untuk menghitung keliling dan luas ke dalam struktur kotak. n Definisi fungsi yang menjadi anggota struktur dapat ditempatkan di luar tubuh struktur. n

Struktur & Fungsi (4) n Dengan cara ini maka deklarasi struktur kotak menjadi seperti

Struktur & Fungsi (4) n Dengan cara ini maka deklarasi struktur kotak menjadi seperti berikut : struct tkotak { double panjang; double lebar; void Set. Ukuran(double pj, double lb); double Keliling(); double Luas(); }; tkotak;

Struktur & Fungsi - Contoh n Contoh penerapan struktur kotak dapat dilihat dalam program

Struktur & Fungsi - Contoh n Contoh penerapan struktur kotak dapat dilihat dalam program berikut : #include<iostream. h> #include<conio. h> struct tkotak { double panjang; double lebar; void Set. Ukuran(double pj, double lb); double Keliling(); double Luas(); };

Struktur & Fungsi - Contoh int main() { tkotak; kotak. Set. Ukuran(10, 7); cout<<"Panjang

Struktur & Fungsi - Contoh int main() { tkotak; kotak. Set. Ukuran(10, 7); cout<<"Panjang : "<<kotak. panjang<<endl; cout<<"Lebar : "<<kotak. lebar<<endl; cout<<"Keliling : "<<kotak. Keliling()<<endl; cout<<"Luas : "<<kotak. Luas()<<endl; getch(); return 0; }

Struktur & Fungsi - Contoh void tkotak: : Set. Ukuran(double pj, double lb) {

Struktur & Fungsi - Contoh void tkotak: : Set. Ukuran(double pj, double lb) { panjang = pj; lebar = lb; } double tkotak: : Keliling() { return 2*(panjang+lebar); } double tkotak: : Luas() { return panjang*lebar; }

Struktur & Fungsi - Contoh n Tampilan Output : Panjang n Lebar n Keliling

Struktur & Fungsi - Contoh n Tampilan Output : Panjang n Lebar n Keliling n Luas n : 10 : 7 : 34 : 70

Struct & Class n n Bentuk program di atas, adalah contoh gaya pemrograman berorientasi

Struct & Class n n Bentuk program di atas, adalah contoh gaya pemrograman berorientasi prosedur (terstruktur). Dalam pemrograman berorientasi objek, jika kita telah menentukan suatu objek tertentu, maka objek tersebut kita definisikan dalam bentuk tipe baru yang namanya kelas. Tipe data kelas didefinisikan dengan kata kunci (keyword) class, yang merupakan generalisasi dari pernyataan struct. Pernyataan struct secara umum digantikan dengan pernyataan class. Jika objek kotak dideklarasikan dalam bentuk kelas, maka deklarasinya mirip dengan struktur.

Deklarasi class tkotak { double panjang; double lebar; public: void Set. Ukuran(double pj, double

Deklarasi class tkotak { double panjang; double lebar; public: void Set. Ukuran(double pj, double lb); double Keliling(); double Luas(); }; tkotak;

Deklarasi n n Dalam deklarasi kelas tersebut, muncul kata public. Data atau fungsi yang

Deklarasi n n Dalam deklarasi kelas tersebut, muncul kata public. Data atau fungsi yang dideklarasikan di bawah kata kunci public mempunyai sifat dapat diakses dari luar kelas secara langsung. Dalam deklarasi tersebut, variabel panjang dan lebar tidak bersifat public, sehingga tidak dapat diakses secara langsung dari luar kelas. Perintah-perintah di bawah ini tidak dapat dijalankan : kotak. panjang = 10; kotak. lebar = 7; cout<<”Panjang : ”<<kotak. panjang<<endl; cout<<”Lebar : “<<kotak. lebar<<endl;

Perbedaan Struktur & Kelas n n Dalam kelas, masing-masing data dan fungsi anggota diberi

Perbedaan Struktur & Kelas n n Dalam kelas, masing-masing data dan fungsi anggota diberi sifat tertentu. Jika semua anggota kelas bersifat public, maka kelas sama dengan struktur. Untuk dapat mengakses data panjang dan lebar pada kelas tkotak harus dilakukan oleh fungsi yang menjadi anggota kelas dan bersifat public. Pada deklarasi kelas tkotak, satu-satunya jalan untuk memberi nilai panjang dan lebar adalah dengan menggunakan fungsi Set. Ukuran(). Untuk mengambil nilai panjang dan lebar juga harus dilakukan oleh fungsi yang menjadi anggota kelas. Misalnya, kita definisikan fungsi Get. Panjang() dan Get. Lebar() untuk mengambil

Contoh : //program class #include<iostream. h> #include<conio. h> class tkotak { double panjang; double

Contoh : //program class #include<iostream. h> #include<conio. h> class tkotak { double panjang; double lebar; public: void Set. Ukuran(double pj, double lb); double Keliling(); double Luas(); double Get. Panjang(); double Get. Lebar(); }; int main() { tkotak; kotak. Set. Ukuran(10, 7); cout<<"Panjang : "<<kotak. Get. Panjang()<<endl; cout<<"Lebar : "<<kotak. Get. Lebar()<<endl; cout<<"Keliling : "<<kotak. Keliling()<<endl; cout<<"Luas : "<<kotak. Luas()<<endl; getch(); return 0; }

Contoh void tkotak: : Set. Ukuran(double pj, double lb) { panjang = pj; lebar

Contoh void tkotak: : Set. Ukuran(double pj, double lb) { panjang = pj; lebar = lb; } double tkotak: : Keliling() { return 2*(panjang+lebar); } double tkotak: : Luas() { return panjang*lebar; } double tkotak: : Get. Panjang() { return panjang; } double tkotak: : Get. Lebar() { return lebar; }

Output n Tampilan Output : Panjang n Lebar n Keliling n Luas n :

Output n Tampilan Output : Panjang n Lebar n Keliling n Luas n : 10 : 7 : 34 : 70

Definisi Kelas n Dapat dilihat dari contoh program, bentuk pendefinisian kelas adalah sebagai berikut

Definisi Kelas n Dapat dilihat dari contoh program, bentuk pendefinisian kelas adalah sebagai berikut : Tipe Nama_Kelas: : Nama. Fungsi() { Isi. Fungsi } n Untuk mendefinisikan variabel kelas, digunakan deklarasi : Nama_Kelas Nama_Variabel; n Contoh : Tkotak;

END OF MODUL - 5

END OF MODUL - 5