Pertemuan VI Teori

182 views
111 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
182
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pertemuan VI Teori

  1. 1. 1STRUCTUREStruktur (Structure = struct) merupakansuatu struktur data yang terdiri dari satu atau lebihvariabel yang bertipe data sama atauberbeda.Struktur secara logik membuat suatu tipe databaru(user defined type) yang dapat dipergunakanuntuk menampung data / informasi yang bersifatmajemuk.Misalnya, data seorang mahasiswa STT PLN,dimana tiap mahasiswa mempunyai: Nim,Nama, Alamat, Nilai, IPK, SKS, dll, dan semua ituharus dipandang sebagai satu data mahasiswa.
  2. 2. 2Deklarasi Struktur :struct Nama_Struktur{blok_anggota_struktur;};dimana:Nama_Struktur (structTag) -> tipe_data baruContoh :struct Titik {double x; // anggota strukturdouble y; // anggota struktur};struct point { float x, y; };
  3. 3. 3struct Mahasiswa { char NIM[11]; char Nama[30];char Mata_Kuliah[30];float Nilai; }struct Barang { char Id[11], Nama_Barang[30];int Jumlah;float Harga; };Deklarasi Variabel Struktur : Struktur yang telah dideklarasikan struktur ini dapat digunakanuntuk mendefinisikan suatu variabelContoh :struct data_tanggal tanggal_lahir;merupakan pendefinisian variabel struktur bertipe strukturtanggal_lahir dimana didalamnya terdiri tiga buah anggota yaitu Tahun Bulan Tanggal
  4. 4. #Struktur di dalam struktursuatu stuktur juga bisa mengandung struktur yang lain.Contoh :Struct data_pegawai{int nip;Char nama[25];data_tanggal tanggal_lahir;} rec_pegPada contoh diatas terdapat pendeklarasian struktur bernamadata_pegawai dan sekaligus pendefinisian variabel stuktur bernamarec_peg menunjukkan anggota dari variabel rec_peg.4
  5. 5. 5Akses Anggota Struktur : Anggota struktur diakses dengan menggunakan :variabel_struktur.nama_anggotaTanda titik diberikan diantara nama variabel struktur dan namaanggotaContoh :Tanggal_lahir.tanggal = 1;Merupakan pernyataan penugasan untuk memberikan nilai 1 keanggota tanggal pada variabel sruktur tanggal_lahir.atauRec_peg.tanggal_lahir.bulan = 9;
  6. 6. Contoh Program C++ :#include <iostream.h>#include <conio.h>Void main(){struct data_tanggal{int tahun;int bulan;int tanggal;};data_tanggal.tanggal_lahir;tanggal_lahir.tanggal= 1;tanggal_lahir.bulan = 9;tanggal_lahir.tahun = 1964;Cout<<tanggal_lahir.tanggal<<‘/’<<tanggal_lahir.bulan<<‘/’<<tanggal_lahir.tahun<<endl;}6
  7. 7. # Penugasan strukturpemberian nilai terhadap suatu struktur dapat dilakukan dengan bentuk :var1=var2sepanjang kedua variabel adalah variabel struktur bertipe samamisal terdapt pendefinisian :data_tanggal tgl1 tgl2;penugasan seperti berikut :tgl2 = tgl1 diperkenankanContoh Program C++ :#include <iostream.h>#include <conio.h>Void main(){struct data_tanggal{int tahun;int bulan;int tanggal;};data_tanggal tgl1, tgl2;tgl1.tanggal= 1;tgl1.bulan = 9;tgl1.tahun = 1964;tgl2 = tgl1Cout<< tgl2.tanggal<<‘/’<< tgl2.bulan<<‘/’<< tgl2.tahun<<endl;7
  8. 8. # Pembandingan strukturpembandingan dua buah stuktur tidak dapat dilakukansecara langsung melainkan masing-masing anggotaharus di bandingkan secara sendiri-sendiri.Contoh :if((tgl1.tahun==tgl2.tahun)&&(tgl1.bulan==tgl2.bulan)&&(tgl1.bulan==tgl2.bulan))cout<<“isi kedua struktur sama”<<endl;elsecout<<“isi kedua struktur tidak sama”<<endl;8
  9. 9. # Struktur dan FungsiSuatu struktur juga dapat berkedudukan sebagai argumen fungsi contoh pada program:#include <iostream.h>#include <conio.h>//deklarasi srukturStruct koordinat{int x;int y;};Void tampilkan_posisi(koordinat posisi); // prototipeVoid main(){clrscr();koordinat posisi; // definisi variabel strukturposisi.x=27;posisi.y=55;tampilkan_posisi(posisi);}// definisi fungsiVoid tampilkan_posisi(koordinat posisi){Cout<<“posisi x = “ <<posisi.x<<endl;Cout<<“posisi x = “ <<posisi.x<<endl;}9
  10. 10. 10Contoh Program C++ : #include <iostream.h> #include <iomanip.h> #include <conio.h> #include <stdio.h> struct Mahasiswa { char Nim[11];char Nama[20];char Mata_Kuliah[20];float Nilai; }; main() {Mahasiswa M[3];clrscr();for ( int i=0; i<3; i++ ) {cout << "Nim : "; gets ( M[i].Nim ); cout << "Nama : "; gets ( M[i].Nama ); cout << "Mata Kuliah : "; gets ( M[i].Mata_Kuliah ); cout << "Nilai : "; cin >> M[i].Nilai; cout << " n"; }
  11. 11. 11cout << " ----------------------------------------------------------- n";cout << " No Nim Nama Mahasiswa Mata Kuliah Nilai n";cout << "-----------------------------------------------------------n";for ( i=0; i<3; i++ ){ printf("%4d % -11s %-20s %- 20s %5.2f n", i+1, M[i].Nim, M[i].Nama, M[i].Mata_Kuliah, M[i].Nilai ); }cout << " ----------------------------------------------------------- n";getch();return 0;}
  12. 12. 12Struktur Bertingkat : Struktur dapat disusun dalam struktur yang lain ( Nested Structured ).Contoh :struct Jarak { int feet;float inches };struct Kamar { Jarak Panjang;Jarak Lebar; };Contoh Program C++ : #include <iostream.h> #include <conio.h> struct Jarak { int feet;float inches; }; struct Kamar { Jarak Panjang;Jarak Lebar; }
  13. 13. 13 void main() { Kamar Makan; Makan.Panjang.inches = 6.5; Makan.panjang.feet = 4.0 Makan.Lebar.feet = 10; Makan.Lebar.inches = 5.0; float P = Makan.Panjang.feet + Makan.Panjang.inches/12; float L = Makan.Lebar.feet + Makan.Lebar.inches/12; float Luas = P * L; cout << "Luas kamar makan = "; cout.width(7); cout.precision(2); cout << Luas << " feet^2"; getch(); }
  14. 14. Tugas : Buatlah Program dengan menggunakan structure dan inputan sebanyak 10 dengan hasil output: ------------------------------------------------------------------------------------------------------------------------------- NO NIM Nama Mahasiswa Matakuliah Nilai UTS Nilai UAS-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Jumlah SKSSemesterIPKIPK didapat dari penjumlahan 10% absen+ 20% tugas +35%UTS +35% UAS% Absen didapat apabila mahasiswa mengikuti matakuliah min 70% dari 14 kali pertemuan% tugas didapat dari berapakali dosen memeberikan tugas kepada mahasiswa * 20%UTS di dapat dari nilai ujian pada saat mengikuti ujian UTSUAS di dapat dari nilai ujian pada saat mengikuti ujian UAS14

×