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
Posting Komentar