Your SlideShare is downloading. ×
BAB 1 PBO C++ Struktur
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BAB 1 PBO C++ Struktur

644
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
644
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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 sebagaielemen dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisielemen-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
  • 2. 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
  • 3. 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.
  • 4. 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() {
  • 5. 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 : 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.
  • 6. 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 satumaksudnya adalah objeknya. 8. No. 10 satu.nim=8maksudnya adalah sebagai keterangan dari objek. 9. No. 11 strcpymempunyai fungsi untuk menginputkan data yang dideklarasikan didalamnya. 10. No. 12 cout<<perintahuntuk 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
  • 7. 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 : 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 satumaksudnya adalah objeknya.
  • 8. 8 6. satu.nim=8maksudnya adalah sebagai keterangan dari objek. 7. strcpymempunyai 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.alamat<<endl<<endl; getche(); } "<<satu.nama<<"
  • 9. 9 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<iostream.h> #include<conio.h> #include<string.h> 2 void main() { 3 struct mahasiswa { 4 char nim[8]; char nama[10]; int umur; };
  • 10. 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
  • 11. 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 fungsikarakternya dipanggil pada saat eksekusi berlangsung. 6. No. 6, cout<<perintahuntuk 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 :";
  • 12. 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 ke "<<(x+1)<<"adalah :"<<saya[x].nama<<endl; cout<<"Umur orang :"<<saya[x].umur<<endl<<endl; } getche(); } Dan hasil eksekusinya adalah : Gambar 1.5. Hasil eksekusi struct untuk array. Keterangan : 1. Untuk no. 1 adalah header dari file program.
  • 13. 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 orangyang 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<<perintahuntuk 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
  • 14. 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 : Gambar 1.6. Hasil eksekusi untuk analogi struktur Keterangan : 1. Untuk no. 1 adalah header dari file program. 2. struct berarti menunjukkan bukumenunjukkan struktur tag-nya. definisi struktur. Dan
  • 15. 15 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. clrscratau clear screen berfungsi untuk membersihkan layar. 6. buku novel merupakan objek. 7. strcpymempunyai 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() { clrscr(); buku novel; 5
  • 16. 16 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 : Gambar 1.7. Hasil eksekusi dari analogi struktur yang dikadikan kelas Keterangan : 1. Untuk no. 1 adalah header dari file program. 2. class bukuuntuk 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.
  • 17. 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.