OOP in C programing language
OOP (object oriented programming)
Object-Oriented Programming atau OOP adalah suatu metode programming yang berorientasi pada objek. Program-program tersebut merupakan gabungan dari beberapa komponen kecil yang telah ada sebelumnya, sehingga dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan
saya akan membuat beberapa contoh code program dalam bahasa C menggunakan OOP
contoh 1
#include <stdio.h>
// Deklarasi kelas Mahasiswa
typedef struct {
char nama[50];
int nim;
float nilai;
} Mahasiswa;
int main() {
// Membuat objek Mahasiswa
Mahasiswa mhs;
// Mengisi nilai atribut Mahasiswa
printf("Masukkan nama: ");
gets(mhs.nama);
printf("Masukkan NIM: ");
scanf("%d", &mhs.nim);
printf("Masukkan nilai: ");
scanf("%f", &mhs.nilai);
// Mencetak atribut Mahasiswa
printf("Nama: %s\n", mhs.nama);
printf("NIM: %d\n", mhs.nim);
printf("Nilai: %.2f\n", mhs.nilai);
return 0;
}
OUTPUT :contoh 2#include <stdio.h>
// Deklarasi kelas Hewan
typedef struct {
char nama[50];
} Hewan;
// Deklarasi kelas Kucing sebagai turunan dari Hewan
typedef struct {
Hewan hewan;
char ras[50];
} Kucing;
// Metode "berbicara()" untuk kelas Hewan
void berbicaraHewan() {
printf("Hewan berbicara!\n");
}
// Metode "berbicara()" untuk kelas Kucing (override)
void berbicaraKucing() {
printf("Meow!\n");
}
int main() {
// Membuat objek Kucing
Kucing kucing;
// Mengisi nilai atribut
printf("Masukkan nama kucing: ");
gets(kucing.hewan.nama);
printf("Masukkan ras kucing: ");
gets(kucing.ras);
// Memanggil metode "berbicara()"
berbicaraHewan(); // Memanggil metode dari kelas Hewan
berbicaraKucing(); // Memanggil metode dari kelas Kucing
// Mencetak atribut Kucing
printf("Nama kucing: %s\n", kucing.hewan.nama);
printf("Ras kucing: %s\n", kucing.ras);
return 0;
}
OUTPUT:
CONTOH 3:#include <stdio.h>
// Deklarasi kelas Kendaraan
typedef struct {
char jenis[50];
char warna[50];
float kecepatan;
} Kendaraan;
// Metode setter untuk atribut kecepatan
void setKecepatan(Kendaraan *k, float kecepatanBaru) {
k->kecepatan = kecepatanBaru;
}
// Metode getter untuk atribut kecepatan
float getKecepatan(Kendaraan k) {
return k.kecepatan;
}
int main() {
// Membuat objek Kendaraan
Kendaraan mobil;
// Mengisi nilai atribut
printf("Masukkan jenis kendaraan: ");
gets(mobil.jenis);
printf("Masukkan warna kendaraan: ");
gets(mobil.warna);
setKecepatan(&mobil, 60.0);
// Mencetak atribut Kendaraan
printf("Jenis kendaraan: %s\n", mobil.jenis);
printf("Warna kendaraan: %s\n", mobil.warna);
printf("Kecepatan kendaraan: %.2f\n", getKecepatan(mobil));
// Mengambil nilai atribut menggunakan metode getter
return 0;
}
OUTPUT :CONTOH 4:#include <stdio.h>
#include <string.h>
// Deklarasi kelas Tanaman
typedef struct {
char namaTanaman[50];
char jenisTanaman[50];
int jumlahTanaman;
float luasLahan;
} Tanaman;
// Method untuk mengatur nama tanaman
void setNamaTanaman(Tanaman *tanaman, char nama[]) {
strcpy(tanaman->namaTanaman, nama);
}
// Method untuk mengatur jenis tanaman
void setJenisTanaman(Tanaman *tanaman, char jenis[]) {
strcpy(tanaman->jenisTanaman, jenis);
}
// Method untuk mengatur jumlah tanaman
void setJumlahTanaman(Tanaman *tanaman, int jumlah) {
tanaman->jumlahTanaman = jumlah;
}
// Method untuk mengatur luas lahan
void setLuasLahan(Tanaman *tanaman, float luas) {
tanaman->luasLahan = luas;
}
// Method untuk mendapatkan nama tanaman
char* getNamaTanaman(Tanaman tanaman) {
return tanaman.namaTanaman;
}
// Method untuk mendapatkan jenis tanaman
char* getJenisTanaman(Tanaman tanaman) {
return tanaman.jenisTanaman;
}
// Method untuk mendapatkan jumlah tanaman
int getJumlahTanaman(Tanaman tanaman) {
return tanaman.jumlahTanaman;
}
// Method untuk mendapatkan luas lahan
float getLuasLahan(Tanaman tanaman) {
return tanaman.luasLahan;
}
// Method untuk menghitung total produksi tanaman
float hitungTotalProduksi(Tanaman tanaman) {
return tanaman.jumlahTanaman * tanaman.luasLahan;
}
int main() {
// Membuat objek tanaman baru
Tanaman tanaman;
// Input data tanaman dari pengguna
char nama[50];
char jenis[50];
int jumlah;
float luas;
printf("Masukkan nama tanaman: ");
fgets(nama, sizeof(nama), stdin);
setNamaTanaman(&tanaman, nama);
printf("Masukkan jenis tanaman: ");
fgets(jenis, sizeof(jenis), stdin);
setJenisTanaman(&tanaman, jenis);
printf("Masukkan jumlah tanaman: ");
scanf("%d", &jumlah);
setJumlahTanaman(&tanaman, jumlah);
printf("Masukkan luas lahan (hektar): ");
scanf("%f", &luas);
setLuasLahan(&tanaman, luas);
// Menghitung total produksi tanaman
float totalProduksi = hitungTotalProduksi(tanaman);
// Menampilkan hasil
printf("\n");
printf("Total produksi tanaman %s: %.2f hektar\n",
getNamaTanaman(tanaman), totalProduksi);
return 0;
}
OUTPUT:




Comments
Post a Comment