Anda di halaman 1dari 20

Algoritma dan

Pemrograman C++
(Data Structures)
Eric Prakarsa Putra
ITBSS Pontianak
Pengenalan
Data Structures merupakan kumpulan dari data
element yang digabung menjadi satu bagian dengan
satu nama.
Tiap elemen dikenal sebagai anggota struktur
Tiap anggota boleh berbeda tipe data dan berbeda
panjang data
Struct biasanya digunakan sebagai representasi dari
struktur berkas data digital.
Deklarasi Struct di C++
struct nama_struktur
{
tipe_data_elemen1 nama_elemen1;
tipe_data_elemen2 nama_elemen2;


};
Contoh deklarasi struct
struct produk
{
char nama[30];
long harga;
int jumlah;
};
Penggunaan Struct
Pada implementasi struct, struct harus dideklarasikan
menjadi sebuah objek agar dapat digunakan
anggota/element yang ada didalamnya
Cara deklarasi
Nama_struct nama_objek_struct;

Cara penggunaan elemen


nama_objek_struct.nama_element;
#include<conio>
using namespace std;

typedef struct{int NIM;float UTS;char nilaiAkhir;}ID;

void main()
{
ID myID;
myID.NIM=4566;
myID.UTS=78;
myID.nilaiAkhir=’B’;
printf(“Aku : %d, %0.2f, %c”, myID.NIM, myID.UTS,
myID.nilaiAkhir)’
}
typedef struct{int NIM;float UTS;char nilaiAkhir;}ID;
void main()
{
ID myID, yourID;

myID.NIM=4566;
myID.UTS=78;
myID.nilaiAkhir=’B’;
yourID.NIM=7902;
yourID.UTS=100;
yourID.nilaiAkhir=’A’;
printf(“Aku : %d, %0.2f, %c”, myID.NIM, myID.UTS,
myID.nilaiAkhir);
printf(“\nKamu : %d, %0.2f, %c”, yourID.NIM, yourID.UTS,
yourID.nilaiAkhir);
}
void main()
{
ID myID, yourID,BagongID;
myID.NIM=4566;
myID.UTS=78;
myID.nilaiAkhir=’B’;
yourID.NIM=7902;
yourID.UTS=100;
yourID.nilaiAkhir=’A’;
printf(“Nim Bagong : ”);scanf(“%d,&BagongID.NIM”);
printf(“UTS Bagong : ”);scanf(“%f,&BagongID.UTS”);
printf(“Nilai Akhir Bagong : ”);scanf(“%c,
&BagongID.nilaiAkhir”);
printf(“Aku : %d, %0.2f, %c”, myID.NIM, myID.UTS,
myID.nilaiAkhir);
printf(“\nKamu : %d, %0.2f, %c”, yourID.NIM, yourID.UTS,
yourID.nilaiAkhir);
printf(“\nBagong : %d, %0.2f, %c”, BagongID.NIM,
BagongID.UTS, BagongID.nilaiAkhir);
}
Contoh Implementasi Struct
#include <iostream.h>
#include <conio.h>

struct anggota
{ int no_anggota;
char nama[30];
};

void main()
{
anggota agt;
cout<<“No. anggota : “; cin>>agt.no_anggota;
cout<<“No. Anggota adalah : “ << agt.no_anggota;
getch();
}
Contoh Struct sebagai Pointer
#include <iostream.h>
#include <conio.h>

struct anggota
{ int no_anggota;
char nama[30];
};

void main()
{
anggota *agt = new anggota;
cout<<"No. anggota : "; cin>>agt->no_anggota;
cout<<"No. anggota adalah : " << agt->no_anggota;
getch();
}
Contoh Struct sebagai Array
#include <iostream.h>
#include <conio.h>

struct anggota
{ int no_anggota;
char nama[30];
};

void main()
{
anggota agt[10]; //data anggota ada 10
cout<<"No. anggota ke 2 : "; cin>>agt[1].no_anggota;
cout<<"No. anggota adalah ke 2 : " << agt[1].no_anggota;
getch();
}
Kasus 1
Buatlah sebuah struktur untuk bentuk data sebagai
berikut:

NIM Nama Gender Alamat


char (9) char(30) char(1) char(255)
Jawab Kasus 1
Bentuk struktur yaitu:
NIM Nama Gender Alamat
char (9) char(30) char(1) char(255)

struct data_mhs
{
char nim[9];
char nama[30];
char gender;
char alamat[255]
};
Kasus 2
Buatlah struktur sebagai berikut:
Nama_matakuliah Nilai tugas Nilai_uts Nilai_uas
char(20) float float float
Jawab Kasus 2
Bentuk struktur nya yaitu:

Nama_matakuliah Nilai tugas Nilai_uts Nilai_uas


char(20) float float float

struct nilai_mk
{
char nm_mk[20];
float nilai_tugas;
float nilai_uts;
float nilai_uas;
};
Kasus 3
Buatlah struktur kombinasi seperti berikut:
NIM Nama Gender Alamat nilai
char (9) char(30) char(1) char(255) nilai_mk

nilai_mk
Nama_matakuliah Nilai tugas Nilai_uts Nilai_uas
char(20) float float float

Struktur nilai_mk dependensi dengan struktur


mahasiswa.
Jawab Kasus 3
struct nilai_mk
{
char nm_mk[20];
float nilai_tugas;
float nilai_uts;
float nilai_uas;
};

struct mhs
{
char nim[9];
char nama[30];
char gender;
char alamat[255];
nilai_mk nilai;
};
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//deklarasi struct
typedef struct{
int jam;
int menit;
int detik;
}Jam;
//fungsi yang mengubah satuan waktu ke detik
int ConvertToSecond(Jam J)
{
return((J.jam*3600)+(J.menit*60)+J.detik);
}
void main()
{
Jam J;
int pilihan;
do
{
system("CLS");
printf("Menu");
printf("\n1. Input data");
printf("\n2. Tampil");
printf("\n0. Keluar");
printf("\nMasukan pilihan =");scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
printf("\n\nInput data");
printf("\nJam = ");scanf("%d",&J.jam);
printf("Menit = ");scanf("%d",&J.menit);
printf("Detik = ");scanf("%d",&J.detik);
break;
case 2:
printf("\nTampil data");
printf("\nJam = %d",J.jam);
printf("\nMenit = %d",J.menit);
printf("\nDetik = %d",J.detik);
printf("\nTotal detik = %d
detik",ConvertToSecond(J));
break;
}
}while(pilihan!=0);
}

Anda mungkin juga menyukai