Translate

Home » , » Belajar C++ PBO - BAB I STRUKTUR

Belajar C++ PBO - BAB I STRUKTUR

Pemrograman Berorientasi Objek - Kode + Keterangan Kode

*Artikel ini dibuat oleh saya sendiri.. Jadi sebagai admin hancur blog saya meminta maaf jika masih banyak kekurangan dalam artikel ini.. Silahkan mencari refrensi lain sebagai tambahan jika artikel ini masih belum berkenan untuk membahas lebih dalam tentang pemrograman berorientasi objek...
**File bisa didownload DISINI atau DISINI
***Program C++ ini menggunakan aplikasi Borland C++



BAB I
STRUKTUR

1.1.       TUJUAN
Tujuan pembelajaran dalam bab ini yaitu:
1.        Mengetahui pengertian dan pengaksesan struktur
2.        Mampu mengelompokkan sejumlah data dengan tipe yang berlainan.
3.        Mengetahui pengertian kelas dan cara pengaksesannya.

1.2.   DASAR TEORI
1.2.1.  Struktur
Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang sama. Variabel-variabel yang membentuk suatu struktur, selanjutnya disebut sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen-elemen data berbeda tipe seperti char, int, float, double, dan lain-lain.
Tipe data struct secara umum adalah untuk menyimpan paket (sekumpulan) data ke dalam satu buah nama variabel saja. Kumpulan data tersebut diikat sedemikian rupa menjadi satu. Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang beraneka ragam. Kumpulan data dalam sebuah struct sangat dianjurkan membentuk sebuah kesatuan makna berkaitan dengan nama struct-nya. Misal, jika struct-nya bernama segitiga maka isi struct-nya antara lain: alas, tinggi, luas dan keliling. Konsep yang lebih lanjut dapat juga dalam sebuah struct terdapat struct lagi (nested struct).
1.2.2.     Struct untuk Array
Array adalah struktur data yang terdiri dari item berurutan, di mana semua itemnya bertipe sama. Dalam Java, item dalam array selalu dinomori dari nol hingga nilai maksimum tertentu, yang nilainya ditentukan pada saat array tersebut dibuat. Misalnya, suatu array berisi 100 bilangan bulat, yang dinomori dari nol hingga 99. Item dalam array bisa bertipe salah satu tipe Java primitif. Item-item ini bisa juga berupa referensi ke objek, sehingga, misalnya kita bisa membuat array yang berisi semua komponen dalam applet. Bagian ini akan membahas bagaimana array dibuat dan digunakan pada Java. Juga mencakup kelas standar java.util.ArrayList. Suatu objek bertipe ArrayList sangat mirip dengan array dari Object, akan tetapi ia bisa bertambah ukuran secara dinamis.

1.2.3.     Analogi Struktur dan Kelas
Dalam paradigma pemrograman berorientasi obyek dikenal kelas dan obyek. Kelas merupakan blue print dari obyek – obyek yang akan dibuat. Analogi kelas dan obyek seperti rancangan model rumah dan pembangunan rumah-rumah, adapun proses pembuatan obyek dari kelas dikenal dengan instantiasi.
   Pembuatan obyek dari kelas dengan instantiasi. Sebagai contoh kita ambil kelas manusia. Kelas manusia mempunyai atribut : nama. Selain itu kelas manusia juga mempunyai method : tampilkan  nama, kerja, makan.
Method Abstrac
Method Abstrac adalah method yang belum mempunyai implementasi. Pendefinisian method abstract adalah dengan menambahkan keyword abstract, seperti contoh dibawah ini :
Abstract void berangkat_kerja ();
Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur tapi mengenal apa yang disebut dengan kelas.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain. Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka setelah dikompilasi akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi.
Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah objek. Objek adalah elemen pada saat runtime yang akan diciptakan, dimanipulasi dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas.


1.3.       ANALISA PRAKTIKUM
1.3.1.      Struktur
Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan.
Contoh deklarasi struktur :
1. struct mahasiswa
{
2. int nim;
3. char nama[50];
4. char alamat[75];
};

Keterangan :
1.      Struct adalah definisi dari struktur yang dimana mahasiswa menjadi bagian dari strukturnya.
2.      Untuk nim memakai int karena nim berupa angka jadi memakai tipe data integer.
3.      Untuk nama memakai char karena nama berupa huruf jadi yang dipakai adalah tipe data karakter dengan nilai 50 karena sebagai batasan kalau nama dapat dimasukkan sampai 50 huruf.
4.      Sama seperti char nama. Alamat pun memakai tipe data char dengan nilai 75 sebagai pendeklarasiaannya.

1.3.2.      Pengaksesan Struktur
1.      Bentuk 1
 //untuk no. 1,2,3.. itu cuma keterangan untuk penjelasannya.. jadi jangan ditulis diprogramnya

1   #include                
2   #include                    
3   #include                   
4    void main()                         
    {
5   struct mahasiswa                   
    {
6 int nim;                          
7 char nama[50];                    
8 char alamat[75];                  
   };
9  mahasiswa satu;                       
10 satu.nim=8;                           
11 strcpy(satu.nama,"Mahendra Data");   
strcpy(satu.alamat,"Jl. Manyar No.5        Semarang");        
12 cout<

   
13  getche();                            
}
Dan hasilnya adalah :


Gambar 1.1. Hasil eksekusi struktur bentuk 1
Keterangan :
1.      Untuk no. 1 hingga No. 3 adalah header dari file program.
2.      No. 4 adalah void main yang merupakan void utama yang merupakan fungsi utama dari program.
3.      No. 5 struct mahasiswa untuk pendeklarasian dengan jenis mahasiswa.
4.      No. 6 int nim  memakai int karena nim berupa angka jadi memakai tipe data integer sebagai pendeklarasiaannya.
5.      No. 7 char nama[50] maksudnya untuk nama memakai char karena nama berupa huruf jadi yang dipakai adalah tipe data karakter dengan nilai 50 karena sebagai batasan kalau nama dapat dimasukkan sampai 50 huruf.
6.      No. 8 char alamat[75] maksudnya Sama seperti char nama. Alamat pun memakai tipe data char dengan nilai 75 sebagai pendeklarasiaannya.
7.      No. 9  mahasiswa satu maksudnya adalah objeknya.
8.      No. 10 satu.nim=8 maksudnya adalah sebagai keterangan dari objek.
9.      No. 11 strcpy mempunyai fungsi untuk menginputkan data yang dideklarasikan didalamnya.
10.  No. 12 cout<< perintah untuk menampilkan program dalam hasil eksekusi.
11.  No. 13 getche(); bermaksud untuk fungsi balik program dalam borland c++ dan jika memakai turbo c++ getche()tidak diperlukan.

2.      Bentuk 2
#include
#include                        1
#include
struct mahasiswa                         2
{
    int nim;                            
    char nama[50];                       3               
    char alamat[75];
};
void main()                              4
{
mahasiswa satu;                          5
satu.nim=8;                              6
strcpy(satu.nama,"Mahendra Data");

strcpy(satu.alamat,"Jl. Manyar No.5 Semarang");                               7
cout<

getche();                                 
}
Dan hasil eksekusinya adalah :

Gambar 1.2. Hasil eksekusi struktur bentuk 2.

Keterangan :
1.      Untuk no. 1 adalah header dari file program.
2.      struct mahasiswa bermaksud untuk mendeklarasikan struktur mahasiswa.
3.      Inputan pada struct mahasiswa yang akan ditampilkan dalam hasil eksekusi. Dimana yang digunakan adalah script char (untuk tipe data karakter) int (tipe data bilangan bulat) .
4.      void main yang merupakan void utama yang merupakan fungsi utama dari program.
5.      mahasiswa satu maksudnya adalah objeknya.
6.      satu.nim=8 maksudnya adalah sebagai keterangan dari objek.
7.      strcpy mempunyai fungsi untuk menginputkan data yang dideklarasikan didalamnya.
8.      cout<< perintah untuk menampilkan program dalam hasil eksekusi.

3.      Bentuk 3
#include
#include                       1
#include
struct mahasiswa                        2
{
    int nim;
    char nama[50];                      3
    char alamat[75];
}satu;                                  4
void main()                             5
{
satu.nim=8;
strcpy(satu.nama,"Mahendra Data");
strcpy(satu.alamat,"Jl. Manyar No.5 Semarang");
cout<

getche();
}



Dan hasilnya adalah :

Gambar 1.3. Hasil eksekusi struktur bagian 3.

Keterangan :
1.      Untuk no. 1 adalah header dari file program.
2. Pada scirpt No. 2 struct mahasiswa bermaksud untuk mendeklarasikan struktur mahasiswa.
3. Script No. 3 Inputan pada struct mahasiswa yang akan ditampilkan dalam hasil eksekusi.
4.      No. 4, satu; merupakan inisialisasi.
5.      No. 5, void main yang merupakan void utama yang merupakan fungsi utama dari program.

4.      Bentuk  4
   
1   #include
    #include                    
    #include
2   void main()                            
    {
3   struct mahasiswa                       
    {
4   char nim[8];
    char nama[10];                     
    int umur;
     };

5   mahasiswa amir={"9651001","Amir",20};
    mahasiswa amat={"9651002","Amat",22}; 
    mahasiswa tuti={"9651003","Tuti",19};

cout<<"Mahasiswa pertama : "<
6   cout<<"Mahasiswa pertama :    "<
    cout<<"Mahasiswa pertama : "<
    cout<
    cout<<"Mahasiswa kedua : "<
    cout<<"Mahasiswa kedua : "<
    cout<<"Mahasiswa kedua : "<

   
    getche();
    }
Dan hasilnya adalah :

Gambar 1.4. Hasil eksekusi struktur bentuk 4


Keterangan :
1.      Untuk no. 1 adalah header dari file program.
2.      No.2, void main yang merupakan void utama yang merupakan fungsi utama dari program.
3. No. 3, struct mahasiswa bermaksud untuk mendeklarasikan struktur mahasiswa.
4. No. 4, Inputan pada strcut mahasiswa yang akan ditampilkan dalam hasil eksekusi.
5.      No. 5, Input yang akan ditampilkan saat fungsi karakternya dipanggil pada saat eksekusi berlangsung.
6.      No. 6, cout<< perintah untuk menampilkan program dalam hasil eksekusi.

1.3.3.      Struct Untuk Array
Contoh Source code Struct untuk ARRAY ini adalah seperti berikut :
#include
#include
#include                         1
#include
struct orang                              2
{
char nama[50];                            3
int umur;
};
void main()                               4
{
 orang saya[3];                           5
 int i,x;                                 6
 for(i=0;i<=2;i++)                        7
{
cout<<"Nama orang ke "<<(i+1)<<" adalah :";
cin>>saya[i].nama;
cout<<"Umur orang ke "<<(i+1)<<"adalah :";
cin>>saya[i].umur;                      8
}
cout<
for(x=0;x<=2;x++)                        
{
cout<<"Nama orang ke "<<(x+1)<<"adalah :"<
cout<<"Umur orang ke "<<(x+1)<<"adalah :"<
}

getche();
}
Dan hasil eksekusinya adalah :

Gambar 1.5. Hasil eksekusi struct untuk array.

Keterangan :
1.      Untuk no. 1 adalah header dari file program.
2.      No.2, struct berarti menunjukkan definisi fungsi struktur yang digunakan dalam program tersebut. Dan orang menunjukkan struktur tag-nya.
3.      No. 3, Inputan pada strcut orang yang akan dimasukkan dalam hasil eksekusi.
4.      No.4, void main yang merupakan void utama yang merupakan fungsi utama dari program.
5.      No.5, orang saya[3] hanya sebagai istilah, dan jumlah orangnya ada 3 dan sebagai pendeklarasian tipe data array pada program tersebut.
6.      No. 6, i dan x masuk dalam bilangan integer karena masukkannya berupa angka.
7.      No. 7, for(i=0;i<=2;i++) yang dimana i=0 adalah nilai awal dari variabel. i<=2 berarti angka masukkan nanti kurang dari 2. Sedangkan i++ sebagai pengatur kenaikan nilai variabel pengendali loop.
8.      No.8, cout<< perintah untuk menampilkan program dalam hasil eksekusi.
9.      No.9, cout<berfungsi agar hasil eksekusi selanjutnya diberi jarak satu enter.

1.3.4.      Analogy Struct Dalam Kelas
Kelas merupakan struktur dari objek, yang contohnya sebagai berikut :
#include
#include                          1
#include


struct buku                                2
{
char judul[35];
char pengarang[25];                       3
int jumlah;
};

void main()                               4
{
clrscr();                                5
buku novel;                              6
strcpy(novel.judul,"Meriam Benteng Navarone");                              7
strcpy(novel.pengarang,"Alistair Maclean");
novel.jumlah=12;                      8 
                                 
cout<
cout<
cout<
  
getche();
   }

Dan hasilnya adalah :


Gambar 1.6. Hasil eksekusi untuk analogi struktur

Keterangan :
1.      Untuk no. 1 adalah header dari file program.
2.      struct berarti menunjukkan definisi struktur. Dan buku menunjukkan struktur tag-nya.
3.      Inputan pada struct buku yang akan dimasukkan dalam hasil eksekusi.
4.      void main yang merupakan void utama yang merupakan fungsi utama dari program.
5. clrscr atau clear screen berfungsi untuk membersihkan layar.
6. buku novel merupakan objek.
7. strcpy mempunyai fungsi untuk menginputkan data yang dideklarasikan didalamnya.
8. novel.jumlah=12; untuk mendefinisikan bahwa jumlah adalah 12.
9.      cout<< untuk menampilkan program dalam hasil eksekusi.

Dan jika dijadikan kelas, maka hasilnya sebagai berikut :
#include
#include                        1
#include

class buku                              2
{

public:                                  3
char judul[35];
char pengarang[25];                      4
int jumlah;
};

void main()                                5
{
  clrscr();
  buku novel;

  strcpy(novel.judul,"Meriam Benteng Navarone");
  strcpy(novel.pengarang,"Alistair Maclean");
  novel.jumlah=12;

  cout<
  cout<
  cout<

   getche();
}
Dan hasil eksekusinya adalah sebagai berikut :

Gambar 1.7. Hasil eksekusi dari analogi struktur yang dikadikan kelas

Keterangan :
1.    Untuk no. 1 adalah header dari file program.
2.      class buku untuk mendefinisikan jenis kelasnya adalah buku.
3.      public: untuk memberikan hak akses secara umum.
4.    Inputan pada class buku yang akan dimasukkan dalam hasil eksekusi.
5.    void main yang merupakan void utama yang merupakan fungsi utama dari program.





1.4.       KESIMPULAN
Dari percobaan-percobaan diatas maka kita dapat menarik kesimpulan sebagai berikut :
1.      Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan
2.      Struktur mempunyai 4 bentuk yang berbeda tetapi mempunyai hasil eksekusi yang sama.
3.      Untuk mengubah analogi struktur menjadi kelas, kita cukup mengganti kode struct menjadi class.





1 komentar:

Berkomentar lah yang baik.... Jika memakai link hidup dalam komentar, maka akan langsung dianggap spam oleh mesin blog.

Pengikut

Postingan Terbaru


Like us on Facebook
Follow Me on Twitter
Recommend us on Google Plus
Subscribe me on RSS