Tipe Data

 Di dalam pemograman berbasis C++ kita dapat mendaklarasikan sebuah variable

variable di C++ sendiri terbagi menjadi primitive(basic data types), derived data type dan user define data type

Pada pertemuan ke-3 struktur data banyak mempelajari derived data type dan user define data type

 

Tipe data Array

 

Berikut merupakan contoh penerapan penggunaan array

array sendiri dideklarasikan menggunakan (data_type) (identifier)[n] dengan n bernilai cacah

nilai yang disimpan di array dapat diberikan dengan meletakan data-datanya didalam {}

berikut merupakan contoh penerapan :

Kode : 

#include<bits/stdc++.h>
using namespace std;

int main(){

    int nilai[4] = {0,10,1,-1};
   
    for(int i = 0; i<4; i++){
    cout<<"nilai yang disimpan : "<<nilai[i]<<endl;
    cout<<"alamat dari nilai yang disimpan : "<<&nilai[i]<<endl;    


    }


}

Hasil : 

source code : https://github.com/ealnt/Strukdat_Elan/blob/main/Pertemuan_3/array.cpp


Tipe data record

 

type data record merupakan type data yang merupakan user define data type cara mendeklarasikannya dapat dilakukan dengan 

struct (identifier){

    kumpulan tipe data

}

 

tipe data ini juga bisa dikombinasikan dengan array

berikut merupakan contoh

 

Kode : 

#include<bits/stdc++.h>
using namespace std;


struct Blok{
    int nim;
    string nama;
    int ipk;
};


int main(){
int n;

cin>>n;

Blok a[n];

for (int i = 0; i<n; i++){
    cout<<"masukan nim : ";
    cin>>a[i].nim;
    cout<<endl<<"masukan nama : ";
    cin>>a[i].nama;
    cout<<endl<<"masukan ipk : ";
    cin>>a[i].ipk;
    cout<<endl;

}

for(int i = 0; i<n; i++){
    cout<<"Nim : "<<a[i].nim<<endl<<"Nama : "<<a[i].nama<<endl<<"IPK : "<<a[i].ipk<<endl;

}

}

 

Hasil : 

 

Source Code : https://github.com/ealnt/Strukdat_Elan/blob/main/Pertemuan_3/struct.cpp

Penggunaan Array dengan Beberapa Dimensi

Array multidimensi adalah array yang elemennya juga berupa array. Seringkali disebut sebagai "array di dalam array". Bentuk yang paling umum adalah array 2 dimensi yang dapat divisualisasikan sebagai tabel (baris dan kolom).

Deklarasi: data_type identifier[n][m]

  • n: Jumlah baris (indeks pertama)
  • m: Jumlah kolom (indeks kedua)

Berikut merupakan contoh penerapan penggunaan array 2 dimensi untuk menyimpan koordinat atau data tabel sederhana.

Kode:

#include <bits/stdc++.h>

using namespace std;

 

int main() {

    // Deklarasi array 2D dengan 2 baris dan 3 kolom

    int matriks[2][3] = {

        {10, 20, 30}, // Baris 0

        {40, 50, 60}  // Baris 1

    };

 

    cout << "--- Menampilkan Data Matriks ---" << endl;

 

    // Menggunakan nested loop (perulangan bersarang)

    // i untuk baris, j untuk kolom

    for (int i = 0; i < 2; i++) {

        for (int j = 0; j < 3; j++) {

            cout << "Nilai indeks [" << i << "][" << j << "] : " << matriks[i][j];

            cout << " | Alamat: " << &matriks[i][j] << endl;

        }

        cout << "-----------------------------------" << endl;

    }

 

    return 0;

}

 

Hasil:



Source Code : https://github.com/ealnt/Strukdat_Elan/blob/main/Pertemuan_3/dimensi.cpp

Kombinasi Struct dengan Array Multidimensi

Sama seperti contoh Record (Struct) yang kamu berikan sebelumnya, kita juga bisa membuat array multidimensi dari sebuah struct. Ini berguna untuk data yang lebih kompleks, misalnya denah tempat duduk di beberapa kelas.

Kode:

#include<bits/stdc++.h>
using namespace std;

struct Mahasiswa {
    string nama;
    float ipk;
};

int main() {
    // Array 2D dari struct: 2 baris (lantai), 2 kolom (ruangan)
    Mahasiswa gedung[2][2];

    // Contoh input manual
    gedung[0][0] = {"Budi", 3.5};
    gedung[0][1] = {"Siti", 3.8};
    gedung[1][0] = {"Andi", 3.2};
    gedung[1][1] = {"Lani", 3.9};

    for(int i = 0; i < 2; i++) {
        for(int j = 0; j < 2; j++) {
            cout << "Posisi [" << i << "][" << j << "] -> Nama: " << gedung[i][j].nama << ", IPK: " << gedung[i][j].ipk << endl;
        }
    }

    return 0;
}

 

Hasil :



Source Code : https://github.com/ealnt/Strukdat_Elan/blob/main/Pertemuan_3/str%26arr.cpp

Implementasi Array dan Record

Mencari nilai max atau min dari suatu data :

 #include<bits/stdc++.h>

using namespace std;

int terbesar(int arr[], int n){
    int tertinggi = arr[0];
    for(int i = 0; i<n; i++){
        if(arr[i]>tertinggi)tertinggi=arr[i];
    }
    return tertinggi;
}

int terkecil(int arr[], int n){
    int terendah = arr[0];
    for(int i = 0; i<n; i++){
        if(arr[i]<terendah)terendah=arr[i];
    }
    return terendah;
}

int main(){
    int banyak;
    cout<<"masukan banyaknya data : ";
    cin>>banyak;

    cout<<endl;
    int data[banyak];

    for(int i = 0; i<banyak; i++){
        cout<<"masukan data ke "<<i+1<<" : ";
        cin>>data[i];
        cout<<endl;
    }

    cout<<"nilai max yang disimpan : "<<terbesar(data, banyak)<<" "<<endl;
    cout<<"nilai min yang disimpan : "<<terkecil(data, banyak)<<" "<<endl;


}

Hasil : 

Menghitung rata-rata : 
#include<bits/stdc++.h>
using namespace std;

float avg(int arr[], int n){
    float hasil = 0;
    for(int i = 0; i<n; i++){
        hasil+=arr[i];
    }

    hasil = float(hasil)/n;
    return hasil;
}

int main(){
    int banyak;
    cout<<"banyak data : ";
    cin>>banyak;

    int data[banyak];
    for(int i = 0; i<banyak; i++){
        cout<<"masukan data ke "<<i+1<<" : ";
        cin>>data[i];
    }

    cout<<"Rata-rata data adalah : "<<avg(data, banyak);

}
Hasil : 

Komentar

Postingan populer dari blog ini

overviewc++

Stack