bab 1 pbo c++ struktur

23
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. 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. 1

Upload: ricko-skywriter

Post on 14-Dec-2014

601 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: BAB 1 PBO C++ Struktur

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

1

Page 2: BAB 1 PBO C++ Struktur

2

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

Page 3: BAB 1 PBO C++ Struktur

3

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.

Page 4: BAB 1 PBO C++ Struktur

4

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

1 #include<iostream.h>

2 #include<conio.h>

3 #include<string.h>

4 void main()

{

Page 5: BAB 1 PBO C++ Struktur

5

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<<satu.nim<<" "<<satu.nama<<"

"<<satu.alamat<<endl<<end

13 getche();

}

Dan hasilnya adalah :

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.

Gambar 1.1. Hasil eksekusi struktur bentuk 1

Page 6: BAB 1 PBO C++ Struktur

6

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<iostream.h>

#include<conio.h> 1

#include<string.h>

struct mahasiswa 2

{

int nim;

char nama[50]; 3

char alamat[75];

};

void main() 4

Page 7: BAB 1 PBO C++ Struktur

7

{

mahasiswa satu; 5

satu.nim=8; 6

strcpy(satu.nama,"Mahendra Data");

strcpy(satu.alamat,"Jl. Manyar No.5

Semarang"); 7

cout<<satu.nim<<" "<<satu.nama<<"

"<<satu.alamat<<endl<<endl; 8

getche();

}

Dan hasil eksekusinya adalah :

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.

Gambar 1.2. Hasil eksekusi struktur bentuk 2.

Page 8: BAB 1 PBO C++ Struktur

8

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<iostream.h>

#include<conio.h> 1

#include<string.h>

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<<satu.nim<<" "<<satu.nama<<"

"<<satu.alamat<<endl<<endl;

getche();

}

Page 9: BAB 1 PBO C++ Struktur

9

Dan hasilnya adalah :

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<iostream.h>

#include<conio.h>

#include<string.h>

2 void main()

{

3 struct mahasiswa

{

4 char nim[8];

char nama[10];

int umur;

};

Gambar 1.3. Hasil eksekusi struktur bagian 3.

Page 10: BAB 1 PBO C++ Struktur

10

5 mahasiswa amir={"9651001","Amir",20};

mahasiswa amat={"9651002","Amat",22};

mahasiswa tuti={"9651003","Tuti",19};

cout<<"Mahasiswa pertama :

"<<amir.nim<<endl;

6 cout<<"Mahasiswa pertama :

"<<amir.nama<<endl;

cout<<"Mahasiswa pertama :

"<<amir.umur<<endl;

cout<<endl;

cout<<"Mahasiswa kedua :

"<<amat.nim<<endl;

cout<<"Mahasiswa kedua :

"<<amat.nama<<endl;

cout<<"Mahasiswa kedua :

"<<amat.umur<<endl<<endl;

getche();

}

Dan hasilnya adalah :

Gambar 1.4. Hasil eksekusi struktur bentuk 4

Page 11: BAB 1 PBO C++ Struktur

11

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<stdio.h>

#include<iostream.h>

#include<conio.h> 1

#include<string.h>

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 :";

Page 12: BAB 1 PBO C++ Struktur

12

cin>>saya[i].nama;

cout<<"Umur orang ke "<<(i+1)<<"adalah :";

cin>>saya[i].umur; 8

}

cout<<endl; 9

for(x=0;x<=2;x++)

{

cout<<"Nama orang ke

"<<(x+1)<<"adalah :"<<saya[x].nama<<endl;

cout<<"Umur orang ke

"<<(x+1)<<"adalah :"<<saya[x].umur<<endl<<endl

;

}

getche();

}

Dan hasil eksekusinya adalah :

Keterangan :

1. Untuk no. 1 adalah header dari file program.

Gambar 1.5. Hasil eksekusi struct untuk array.

Page 13: BAB 1 PBO C++ Struktur

13

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<<endl; 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<iostream.h>

#include<conio.h> 1

#include<string.h>

struct buku 2

Page 14: BAB 1 PBO C++ Struktur

14

{

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<<novel.judul<<endl;

cout<<novel.pengarang<<endl; 9

cout<<novel.jumlah<<endl;

getche();

}

Dan hasilnya adalah :

Keterangan :

1. Untuk no. 1 adalah header dari file program.

Gambar 1.6. Hasil eksekusi untuk analogi struktur

Page 15: BAB 1 PBO C++ Struktur

15

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<iostream.h>

#include<conio.h> 1

#include<string.h>

class buku 2

{

public: 3

char judul[35];

char pengarang[25]; 4

int jumlah;

};

void main() 5

{

clrscr();

Page 16: BAB 1 PBO C++ Struktur

16

buku novel;

strcpy(novel.judul,"Meriam Benteng Navarone");

strcpy(novel.pengarang,"Alistair Maclean");

novel.jumlah=12;

cout<<novel.judul<<endl;

cout<<novel.pengarang<<endl;

cout<<novel.jumlah<<endl<<endl;

getche();

}

Dan hasil eksekusinya adalah sebagai berikut :

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.

Gambar 1.7. Hasil eksekusi dari analogi struktur yang dikadikan kelas

Page 17: BAB 1 PBO C++ Struktur

17

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.