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

Popular posts from this blog

If, If-else, For Loop, While Loop, Do-While Loop dengan Bahasa C

konsep dasar algoritma graf