1 of 10

ALGORTIMA DAN STRUKTUR DATA

Struct

2 of 10

Array

Contoh :

string Mobil[4] = {"Volvo", "BMW", "Ford", "Mazda"};

int Angka[3] = {10, 20, 30};

Kendala array : hanya bisa untuk 1 tipe data

3 of 10

STRUCT

  • Data yang dibentuk oleh beberapa data atau kumpulan data
  • Struct mirip seperti array, tapi struct bisa menampung lebih dari 1 jenis tipe data (seperti ada int, string, dll)
  • Tipe data struct cocok dipakai untuk menampung data berkelompok.
  • Misalnya ingin membuat biodata mahasiswa, dimana setiap siswa memiliki data nama, nim serta status lulus.

4 of 10

Syntax

struct { // Structure declaration

int myNum; // Member (int variable)

string myString; // Member (string variable)

} myStructure; // Structure variable

** nama variable bisa diatas bisa dibawah, kalau diatas maka harus di define lagi setelah struct untuk variabel

5 of 10

Contoh

#include <iostream>

#include <string>

using namespace std;

int main() {

struct {

int myNum;

string myString;

} myStructure;

myStructure.myNum = 1;

myStructure.myString = "Hello World!";

cout << myStructure.myNum << "\n";

cout << myStructure.myString << "\n";

return 0;

}

6 of 10

Latihan

  • Merubah tugas atau latihan sebelumnya yang ada pada array menjadi struct
  • Menggunakan input dengan .cin

7 of 10

Nested Struct atau Multiple Struct -1

#include <iostream>

#include <string>

using namespace std;

int main() {

struct {

string brand;

string model;

int year;

} myCar1, myCar2; // We can add variables by separating them with a comma here

// Put data into the first structure

myCar1.brand = "BMW";

myCar1.model = "X5";

myCar1.year = 1999;

// Put data into the second structure

myCar2.brand = "Ford";

myCar2.model = "Mustang";

myCar2.year = 1969;

// Print the structure members

cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";

cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";

return 0;

}

8 of 10

Nested Struct atau Multiple Struct -2

#include <iostream>

using namespace std;

struct Siswa {

string nama;

string sekolah;

unsigned int uangSaku;

};

int main()

{

struct Siswa siswa01,siswa02, siswa03;

siswa01.nama = "Paijo Permana";

siswa01.sekolah = "SMA 1 Lumut Ijo";

siswa01.uangSaku = 10000;

siswa02.nama = "Lisa Permata Sari";

siswa02.sekolah = "SMA 1 Biru Langit";

siswa02.uangSaku = 30000;

siswa03.nama = "Jessica Stephany";

siswa03.sekolah = "SMA 1 Merah Jambu";

siswa03.uangSaku = 75000;

cout << siswa01.nama <<" bersekolah di " << siswa01.sekolah;

cout << " dengan uang saku " << siswa01.uangSaku << " per hari" << endl;

cout << siswa02.nama <<" bersekolah di " << siswa02.sekolah;

cout << " dengan uang saku " << siswa02.uangSaku << " per hari" << endl;

cout << siswa03.nama <<" bersekolah di " << siswa03.sekolah;

cout << " dengan uang saku " << siswa03.uangSaku << " per hari" << endl;

return 0;

}

9 of 10

Latihan

  • Merubah tugas atau latihan sebelumnya yang ada pada array menjadi struct nested
  • Menggunakan input dengan .cin

10 of 10

sumber