Belajar Dasar Class Dan Object Dalam C++
Object-Oriented Programming (OOP), dikembangkan atas dasar kemampuan yang terbatas dari bahasa pemrograman prosedural, ibarat C, Pascal, dan BASIC, dalam menangani dilema yang lebih rumit dalam suatu program. Bahasa pemrograman prosedural terorganisir dengan membagi setiap bab kegiatan dalam suatu function, yang disebut juga procedure, atau subroutine, dalam bahasa pemrograman lain. Sekumpulan function sanggup membentuk suatu kesatuan yang lebih besar yang biasa disebut dengan istilah module atau file.
Satu dilema dalam struktur yang berorientasi prosedural, ialah terlalu fokus pada function itu sendiri, tidak pada data. Suatu data sanggup bersifat local untuk beberapa function, atau bisa juga global, akan tetapi tidak ada cara yang flexible dalam memperlihatkan hak kanal data tersebut, function mana yang berhak dan mana yang tidak mempunyai hak akses.
Hal tersebut mengakibatkan masalah, dikala beberapa function harus mengakses suatu data yang sama. Agar sanggup diakses oleh banyak function maka suatu data harus bersifat global. Akan tetapi, dengan menciptakan suatu data bersifat global hal tersebut akan menciptakan data tersebut sanggup diakses oleh function lain yang tidak terkait. Hal tersebut sanggup menciptakan banyak dilema dalam pemrograman untuk selanjutnya. Oleh alasannya yaitu itu diharapkan suatu cara untuk membatasi hak akses, function mana saja yang sanggup mengakses data, dan mana saja yang tidak berhak.
Suatu function menjalankan suatu tugas, sedangkan data menyimpan informasi. Suatu object dalam OOP, meliputi dua hal tersebut, data dan function. Hal ini memudahkan programmer dalam menyebarkan kegiatan dengan pendekatan dunia nyata, serta mengatasi dilema global data yang ada pada bahasa pemrograman prosedural. Sementara itu, suatu class sanggup disebut sebagai blueprint, untuk satu atau lebih object. Sebuah object sering disebut sebagai instance dari suatu class.
Berikut ini ialah teladan source code C++ untuk menjelaskan bagaimana class dan object bekerja.
Ada dua bab utama dalam teladan kegiatan tersebut. Pertama ialah deklarasi class Persegi, yang memuat data dan function. Bagian yang kedua ialah main() function, yang berfungsi sebagai kendali utama jalannya program.
Pada class Persegi, terdapat satu function yakni tampilkan(), yang dipakai untuk menampilkan hasil luas dan keliling dari persegi. Dalam class Persegi juga terdapat constructor, yakni anggota khusus dari suatu function yang dipanggil dengan sendirinya seketika suatu instance (object) dibuat. Sebuah constructor selalu mempunyai nama yang sama dengan class. Dalam constructor Persegi tersebut dilakukan proses menghitung luas dan keliling dari lingkaran.
Perhatikan pada source code C++ tersebut, terdapat kata kunci private dan public, dalam class Persegi. Kata kunci tersebut dipakai untuk memilih hak, bab object mana saja yang sanggup diakses oleh bab kegiatan lainnya. Data yang bersifat private hanya sanggup diakses oleh anggota function dalam satu class. Sehingga data luasPersegi dan kelilingPersegi, tidak sanggup diakses oleh main() function, alasannya yaitu main() function bukan merupakan anggota dari function Persegi.
Sementara itu anggota dari function Persegi, mempunyai hak kanal public, sehingga sanggup diakses oleh main() function atau juga class lainnya.
Pada main() function, instance object hitung sebagai anggota dari class Persegi, yang mana instance object hitung tersebut sanggup mengakses function tampilkan() dari class Persegi.
Satu dilema dalam struktur yang berorientasi prosedural, ialah terlalu fokus pada function itu sendiri, tidak pada data. Suatu data sanggup bersifat local untuk beberapa function, atau bisa juga global, akan tetapi tidak ada cara yang flexible dalam memperlihatkan hak kanal data tersebut, function mana yang berhak dan mana yang tidak mempunyai hak akses.
Hal tersebut mengakibatkan masalah, dikala beberapa function harus mengakses suatu data yang sama. Agar sanggup diakses oleh banyak function maka suatu data harus bersifat global. Akan tetapi, dengan menciptakan suatu data bersifat global hal tersebut akan menciptakan data tersebut sanggup diakses oleh function lain yang tidak terkait. Hal tersebut sanggup menciptakan banyak dilema dalam pemrograman untuk selanjutnya. Oleh alasannya yaitu itu diharapkan suatu cara untuk membatasi hak akses, function mana saja yang sanggup mengakses data, dan mana saja yang tidak berhak.
Suatu function menjalankan suatu tugas, sedangkan data menyimpan informasi. Suatu object dalam OOP, meliputi dua hal tersebut, data dan function. Hal ini memudahkan programmer dalam menyebarkan kegiatan dengan pendekatan dunia nyata, serta mengatasi dilema global data yang ada pada bahasa pemrograman prosedural. Sementara itu, suatu class sanggup disebut sebagai blueprint, untuk satu atau lebih object. Sebuah object sering disebut sebagai instance dari suatu class.
Berikut ini ialah teladan source code C++ untuk menjelaskan bagaimana class dan object bekerja.
#include <iostream>
using namespace std;
class Persegi
{
private:
double luasPersegi;
double kelilingPersegi;
public:
Persegi(double panjang, double lebar)// constructor
{
luasPersegi = panjang * lebar;
kelilingPersegi = 2 * (panjang + lebar);
}
void tampilkan()// tampilkan data luas dan keliling
{
cout << "Luas persegi ialah " << luasPersegi << endl;
cout << "Keliling persegi ialah " << kelilingPersegi;
}
};// selesai class Persegi
int main()
{
double panjangPersegi;
double lebarPersegi;
cout << "Masukkan panjang persegi ";
cin >> panjangPersegi;
cout << "Masukkan lebar persegi ";
cin >> lebarPersegi;
Persegi hitung(panjangPersegi, lebarPersegi);// instance hitung
cout << endl;
cout << "Hasil perhitungan" << endl;
hitung.tampilkan();// tampilkan data
return 0;
}
using namespace std;
class Persegi
{
private:
double luasPersegi;
double kelilingPersegi;
public:
Persegi(double panjang, double lebar)// constructor
{
luasPersegi = panjang * lebar;
kelilingPersegi = 2 * (panjang + lebar);
}
void tampilkan()// tampilkan data luas dan keliling
{
cout << "Luas persegi ialah " << luasPersegi << endl;
cout << "Keliling persegi ialah " << kelilingPersegi;
}
};// selesai class Persegi
int main()
{
double panjangPersegi;
double lebarPersegi;
cout << "Masukkan panjang persegi ";
cin >> panjangPersegi;
cout << "Masukkan lebar persegi ";
cin >> lebarPersegi;
Persegi hitung(panjangPersegi, lebarPersegi);// instance hitung
cout << endl;
cout << "Hasil perhitungan" << endl;
hitung.tampilkan();// tampilkan data
return 0;
}
Ada dua bab utama dalam teladan kegiatan tersebut. Pertama ialah deklarasi class Persegi, yang memuat data dan function. Bagian yang kedua ialah main() function, yang berfungsi sebagai kendali utama jalannya program.
Pada class Persegi, terdapat satu function yakni tampilkan(), yang dipakai untuk menampilkan hasil luas dan keliling dari persegi. Dalam class Persegi juga terdapat constructor, yakni anggota khusus dari suatu function yang dipanggil dengan sendirinya seketika suatu instance (object) dibuat. Sebuah constructor selalu mempunyai nama yang sama dengan class. Dalam constructor Persegi tersebut dilakukan proses menghitung luas dan keliling dari lingkaran.
Perhatikan pada source code C++ tersebut, terdapat kata kunci private dan public, dalam class Persegi. Kata kunci tersebut dipakai untuk memilih hak, bab object mana saja yang sanggup diakses oleh bab kegiatan lainnya. Data yang bersifat private hanya sanggup diakses oleh anggota function dalam satu class. Sehingga data luasPersegi dan kelilingPersegi, tidak sanggup diakses oleh main() function, alasannya yaitu main() function bukan merupakan anggota dari function Persegi.
Sementara itu anggota dari function Persegi, mempunyai hak kanal public, sehingga sanggup diakses oleh main() function atau juga class lainnya.
Pada main() function, instance object hitung sebagai anggota dari class Persegi, yang mana instance object hitung tersebut sanggup mengakses function tampilkan() dari class Persegi.
Komentar
Posting Komentar