Senin, 03 November 2008

Pemrograman Berorientasi Objek

PEMROGRAMAN BERORIENTASI OBJEK

OBJEK adalah benda, baik yang berwujud nyata seperti yang dijumpai dalam kehidupan kita sehari-hari, maupun yang tidak nyata seperti sistem atau konsep. Dalam Pemograman Berorientasi Objek, objek adalah unit terkecil yang masih memiliki data (sifat karakteristik dan fungsi).

Object Oriented Programming atau Pemrograman Berorientasi Objek adalah konsep pemrograman yang difokuskan pada penciptaan kelas (class) yang merupakan abstraksi dari suatu objek. Kelas ini harus mengandung sifat (data) dan tingkah laku (fungsi / method), sehingga bisa dikatakan bahwa data dan fungsi merupakan anggota (member) dari suatu kelas. Atau bisa juga di katakana bahwa Pemrograman Berorientasi Objek adalah konsep pemrograman yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lain.

Berikut ini ada beberapa bahasa pemrograman yang menggunakan konsep Pemrograman Berorientasi Objek :

  1. C++
  2. Visual C++
  3. Delphi
  4. Visual Basic
  5. Java

STRUKTUR

Struktur (structure) digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe dan ukuran yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Struktur yang ada di bahasa pemrograman c++ ini sama seperti dengan record di dalam bahasa pemrograman pascal.

Struktur di C++ dapat dideklarasikan seperti berikut :

struct nama_tipe_struktur

{ elemen_struktur 1;

elemen_struktur 2;

………….

};

struct

{ elemen_struktur 1;

elemen_struktur 2;

………….

} nama_tipe_struktur;

KELAS

Kelas merupakan suatu metode logis untuk mengorganisasi data dan fungsi di dalam struktur yang sama. Suatu class tidak terlepas dari pada suatu objek. Pendeklarasian suatu kelas menggunakan kata kunci class. Pendeklarasian suatu kelas hamper sama dengan pendeklarasian suatu structure, yaitu seperti berikut :

class nama_class

{ Data elemen_class_private;

Data elemen_class_private;

…………..

Public :

Data elemen_class_public;

Data elemen_class_public;

………….

}nama_object;

Contoh soal :

Seorang dosen ingin data-data nilai mahasiswanya dihitung dan dibuatkan programnya. Di mana program tersebut memiliki ketentuan sebagai berikut :

  • Nama Mahasiswa, Nilai Tugas, Nilai UTS, Nilai UAS di input
  • Proses yang di lakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah:
  • Nilai Murni Tugas = Nilai Tugas di kalikan 30 %
  • Nilai Murni UTS = Nilai UTS dikalikan 30 %
  • Nilai Murni UAS = Nilai UAS dikalikan 40 %
  • Nilai Akhir adalah Nilai Murni Tugas + Nilai Murni UTS + Nilai Murni UAS

Ketentuan untuk mendapatkan grade nilai :

  • Nilai akhir > 80 mendapat grade A
  • Nilai akhir > 70 mendapat grade B
  • Nilai akhir > 60 mendapat grade C
  • Nilai akhir > 50 mendapat grade D
  • Nilai akhir <= 50 mendapat grade E

Jawaban contoh soal :

//pemecahan pertama

// Program untuk menghitung nilai grade mahasiswa menggunakan structure

#include

#include

#include

struct

{ char nim[12],nama[8];

float tugas,uts,uas;

float ntugas, nuts,nuas,nakhir;

}mahasiswa [100];

void baris( )

{for (int i=0;i<80;i++)

{cout<<"-"; };

cout<

char grade(float nilai)

{ if(nilai>80 && nilai<=100)

return 'A';

else if(nilai>70 && nilai<=80)

return 'B';

else if(nilai>60 && nilai<=70)

return 'C';

else if(nilai>50 && nilai<=60)

return 'D';

else return 'E';}

main( )

{ int jumlahmhs;

int i;

cout<<"\t\tPROGRAM MENGHITUNG NILAI AKHIR MAHASISWA"<

baris( );

cout<<"INPUT DATA MAHASISWA"<

cout<<"BERAPA JUMLAH MAHASISWA YANG MAU DIINPUTKAN ? ";

cin>>jumlahmhs;

cout<

for (i=0;i

{ cout<<"Mahasiswa Ke - "<<(1+i)<<" : "<

cout<<"N I M = ";gets(mahasiswa[i].nim);

cout<<"Nama = ";gets(mahasiswa[i].nama);

cout<<"Nilai Tugas = ";cin>>mahasiswa[i].tugas;

cout<<"Nilai UTS = ";cin>>mahasiswa[i].uts;

cout<<"Nilai UAS = ";cin>>mahasiswa[i].uas;

cout<

mahasiswa[i].ntugas = mahasiswa[i].tugas * 0.3;

mahasiswa[i].nuts = mahasiswa[i].uts * 0.3;

mahasiswa[i].nuas = mahasiswa[i].uas * 0.3;

mahasiswa[i].nakhir = mahasiswa[i].ntugas + mahasiswa[i].nuts;

mahasiswa[i].nakhir = mahasiswa[i].nakhir +mahasiswa[i].nuas;};

clrscr( );

cout<<"\t\t\tDAFTAR NILAI MAHASISWA"<

baris( );

cout<<"NIM Nama Mahasiswa Nilai Grade"<

cout<<"\t\t\t\t --------------------------------------"<

cout<<" Tugas UTS UAS ";

cout<<"Akhir"<

baris( );

for (i=0;i

{ cout<<<"\t"<

cout<<"\t\t"<<<"\t";

cout<<<"\t"<

cout<<"\t"<<<"\t ";

cout<<

getch( );}

//pemecahan kedua

// Program untuk menghitung nilai grade mahasiswa menggunakan class

#include

#include

#include

class mhs

{public:

char nim[12],nama[8];

float tugas,uts,uas ,ntugas, nuts,nuas,nakhir;

void baris( );

char grade(float nilai);};

main( )

{ mhs mahasiswa[100];

int jumlahmhs;

int i;

cout<<"\t\tPROGRAM MENGHITUNG NILAI AKHIR MAHASISWA"<

mahasiswa[0].baris( );

cout<<"INPUT DATA MAHASISWA"<

cout<<"BERAPA JUMLAH MAHASISWA YANG MAU DIINPUTKAN ? ";

cin>>jumlahmhs;

cout<

for (i=0;i

{

cout<<"Mahasiswa Ke - "<<(1+i)<<" : "<

cout<<"N I M = ";gets(mahasiswa[i].nim);

cout<<"Nama = ";gets(mahasiswa[i].nama);

cout<<"Nilai Tugas = ";cin>>mahasiswa[i].tugas;

cout<<"Nilai UTS = ";cin>>mahasiswa[i].uts;

cout<<"Nilai UAS = ";cin>>mahasiswa[i].uas;

cout<

mahasiswa[i].ntugas = mahasiswa[i].tugas * 0.3;

mahasiswa[i].nuts = mahasiswa[i].uts * 0.3;

mahasiswa[i].nuas = mahasiswa[i].uas * 0.3;

mahasiswa[i].nakhir = mahasiswa[i].ntugas + mahasiswa[i].nuts;

mahasiswa[i].nakhir = mahasiswa[i].nakhir + mahasiswa[i].nuas; };

clrscr( );

cout<<"\t\t\tDAFTAR NILAI MAHASISWA"<

mahasiswa[0].baris( );

cout<<"NIM Nama Mahasiswa Nilai Grade"<

cout<<"\t\t\t\t --------------------------------------"<

cout<<" Tugas UTS UAS ";

cout<<"Akhir"<

mahasiswa[0].baris( );

for (i=0;i

{ cout<<<"\t"<

cout<<"\t\t"<<<"\t";

cout<<<"\t"<

cout<<"\t"<<<"\t ";

cout<<

getch( ); }

void mhs::baris( )

{for (int i=0;i<80;i++)

{cout<<"-";};

cout<

char mhs::grade(float nilai)

{if(nilai>80 && nilai<=100)

return 'A';

else if(nilai>70 && nilai<=80)

return 'B';

else if(nilai>60 && nilai<=70)

return 'C';

else if(nilai>50 && nilai<=60)

return 'D';

else return 'E';}

Tidak ada komentar: