Anda di halaman 1dari 12

MAKALAH

MENGENAL ARRAY, POINTER DAN STRUKTUR/RECORD


Untuk Memenuhi Tugas Mata Kuliah Struktur Data dan Praktikum
Dosen Pengampu : Dede Alamsyah, M.Pd

Disusun oleh :
Ami Qodaroni
Deri Ilham Dani
M. Ilham Mubarok
Neng Erna

UNIVERSITAS PERSATUAN ISLAM


Jl Raya Cisero No. 201, Cisurupan-Garut 2023
KATA PENGANTAR
Puji beserta syukur hanyalah kepada Allah SWT, yang telah memberikan beribu-ribu
kenikmatan diantaranya, nikamat sehat, nikmat iman serta nikmat islam. Sehingga penulis
dapat menyelesaikan makalah dengan judul “Mengenal Array, Pointer dan Struktur/
Record”.
Shalawat beserta salam selalu terlimpah curah kepada Nabi besar Muhammad SAW
yang dimana beliau telah membawa kita dari zaman jahiliyah yang penuh dengan kegelapan
menuju kepada zaman yang terang benderang ini yakani Diinul Islaam.
Makalah ini terkait dengan makalah yang membahas Struktur data. Bertujuan agar para
pembaca dapat mengenal Array, Pointer, dan Struktur/ Record pada C++. Dan penulis sadar
mungkin makalah ini masih banyak kekurangan, maka dari itu penulis berharap ada kritik dan
saran untuk menambah kelengkapan dalam penyusunan makalah ini

Garut, 25 Oktober 2023


Penulis
BAB I
LANDASAN TEORI

A. ARRAY

Array adalah suatu tipe data terstruktur yang dapat menyimpan banyak data
dengan satu nama yang sama dan menempati tempat si memori yang berurutan
(kontigu) serta bertipe data sama. larik dapat di akses berdasarkan indeksnya. indeks
larik umumnya dimulai dari 0 dan ada yang dimulai dari angka bukan 0. pengaksesan
larik biasanya dibuat dengan menggunakan perulangan (looping).

Adapun array dibedakan menjadi dua macam, yaitu:

1. Array Satu Dimensi

Array satu dimensi tidak lain adalah kumpulam elmen-elemen identic yang
tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data Yang sama, tetapi
isi dari elemen tersebut boleh berbeda.

syntak array : type_data name [jumlah_elemen]

contoh penggunaan : int usia [5];

usia : 0 1 2 3 4
0 0 0 0 0

int usia [5]; potongan kode ini akan membuat array sebanyak 5 elemen dengan
nilai default 0. kita bisa membuat array dengan memberikan nilai langsung pada saat
dideklarasi.

contoh deklarasi nilai array : int usia[5] = {10,3,8,5,6,};

maka elemen array akan berisi :

usia : Usia [0] Usia [1] Usia [2] Usia [3] Usia [4]
10 3 8 5 6
Cara pengaksesan array dengan memanggil nilai indek nya : usia[4]
maka akan menampikan nilai elemen ke 5 yaitu 6 untuk memberi nilai langsung
pada nilai index array dengan cara : usia[4] = 29 maka isi elemen array ke 5
akan berisi 29 atau bisa juga di simpan ke dalam variabel a = usia [4] variabel a
berisi nilai array index ke 4.

2. array dua dimensi

array dua dimensi merupakan Kumpulan dari array satu dimensi terdiri
dari baris dan kolom. missal a [2][3] maka terbentuk array dengan 2 x 3 = 6
elemen array, 2 baris dan 3 kolom

syntak array dua dimensi :

tipe_data name[jumlah_elemen_baris][jumlah_elemen_kolom]

contoh penggunaan : int usia [2][3];

int usia[2][3]; potongan kode ini akan membuat array sebanyak 6


elemen dengan nilai default 0. kita bisa membuat array dengan memberikan
nilai langsung pada saat dideklarasi.

cotoh deklarasi:

int usia [2][3] = {{1,2,3,},{4,5,6,}};

B. Pointer

pointer adalah suatu variabel penunjuk berisi nilai yang menunjuk


alamat suatu hal memori tertentu. jadi pointer tidak berisi nilai data, melainkan
berisi suatu Alamat memori. lokasi memori tersebut bisa diwakili sebuah
variabel atau juga berupa Alamat memori secara langsung. misalkan variabel x
dan terletak di memori 0x000001. jika ingin memasukan nilai 100 kedalam
variabel x, maka processor harus membawa nilai 100 tersebut kedalam variabel
x yang terletak di Alamat memori 0x000001. halyang perlu kita ketahui adalah
setiap variabel ternyata memiliki ukuran byte yang berbedaa-beda dalam
memori. sebagai contoh suatu variabel bertioe int memiliki ukuran 4 byte dalam
memori. maka variabel tersebut akan menempati 4 kapling lokasi dalam
memori, misalkan 0x000001,0x000002,0x000003, dan 0x000004. jika terdapat
dua buah variabel bertipe int yang bersebelahan, maka Alamat variabel pertama
terletak di 0x00001 dan variabel kedua terletak dialamat 0x000005. memori
menggunakan bilangan.

heksadesimal yang ditandai dengan awalan 0x , sehingga jika suatu variabel


menempati blok kesepuluh dalam memori, maka alamatnya adalah 0x00000a.

Ada dua oprator yang digunakan pada tipe data pointer yaitu:

1. operator pointer
a. operator deference (&)

operator deference (&) merupakan suatu operator yang berfungsi untuk menanyakan
Alamat dari suatu variabel. apabila kamu memberikan symbol & pada awal variabel dan
mencetak hasilnya pada jendela CLI, maka yang akan tercetak adalah Alamat dari variabel
tersebut bukan nilai yang ditampung oleh variabel tersebut.

b. Operator reference (*)

oprator reference (*) merupakan suatu oprator yang berfungsi menytakan suatu
variabel adalah variabel pointer. sama halnya dengan oprator deference, peletakan simbol
operator reference di letakan diawal variabel. operator reference ini akan membuat suatu
variabel pointer untuk menampung Alamat.

2. Mendeklarasikan Varibel Pointer

suatu variabel pointer didefinisikan dengan bentuk sebagai berikut:

tipe_data *nama_variabel

a. tipe_data dapat bekerja sembarang tipe seperti halnya pada pendefinisian variabel bukan
pointer.
b. nama_variabel adalah nama variabel pointer.

Dengan menggunakan pointer yang benar, kita dapat Menyusun sebuah program yang
berkemampuan tinggi. sebaliknya sedikit saja kesalahan dalam menggunakan pointer akan
mengakibatkan kesalahan fatal pada program anda. karena pointer dapat langsung
menunjukan pada lokasi memori, jika lokasi yang ditunjukan salah, berarti data yang doambil
juga akan salah, dan sudah tentu program anda menjadi salah.

C. Struktur/ record
Struktur atau record adalah kumpulan atau kelompok elemen-elemen data yang
digabungkan menjadi satu kesatuan. Masing-masing elemen data tersebut dikenal
dengan sebutan field. Field data tersebut dapat memiliki tipe data yang sama ataupun
berbeda. Walaupun field-field tersebut berada dalam satu kesatuan,masing-masing field
tersebut tetap dapat diakses secara individual. Dalam bahasa pemrograman lain sebuah
structure di sebut juga sebagai record dan setiap header kolom disebut field.

Bentuk umum :
struct namastruct
{
<tipe data> field1;
<tipe data> field2;
<tipe data> field3;
};
Contoh deklarasi penggunaan :
struct mahasiswa
{
char nim[10];
char nama[50];
char alamat[100];
float ipk;
};

untuk pemanggilan field pada struktur dengan menambahkan simbol titik (.) misal ingin
menampilkan nimmahasiswa di layar :

cout<<mahasiswa.nim;
BAB II
SOURCE CODE C++
A. Program Array C++
#include <conio.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
string nama[10],status[10];
int nilai[10];

cout<<"Masukan Jumlah Data = ";


cin>>n;
cout<<endl;

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


cout<<endl;

cout<<"Data ke-"<<i+1<<endl;
cout<<"Masukan Nama = ";
cin>>nama[i];
cout<<"Masukan Nilai = ";
cin>>nilai[i];

if (nilai[i]<=50)
{status[i]="Tidak Lulus";}
else {status[i]="Lulus";} }
cout<<endl;
cout<<"DAFTAR NILAI MAHASISWA"<<endl;
cout<<"-------------------------------------------"<<endl;
cout<<"No Nama Nilai Status "<<endl;
cout<<"-------------------------------------------"<<endl;

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


cout<<i+1<<" "<<nama[i]<<" "<<nilai[i]<<" "<<status[i]<<endl;
cout<<"-------------------------------------------"<<endl;
}

getch();
}
Pada program diatas merupakan implementasi penggunaan array di C++. Disini
kami membuat beberapa variabel array seperti nama dan status dengan tipe string dan
nilai dengan tipe integer. Masing-masing saya beri slot 10 space, dari sini dapat kita
ketahui bahwa program ini hanya akan mampu menampung nilai kurang dari atau sama
dengan 10 nilai yang dapat di tampung di variabel array tersebut.
User akan memasukan nama dan nilai yang akan dilakukan perulangan
berdasarkan jumlah data yang akan diinput. Jika nilai yang dimasukan kurang dari 50
maka status mahasiswa tersebut tidak lulus. Natinya sistem akan menampilkan data
mahasiswa tersebut dan juga status kelulusannya.
B. Program Pointer C++
#include <iostream>
using namespace std;

int main(){

int tunggal, ganda;


int * x;

x = &tunggal;
*x = 1;
x = &ganda;
*x = 2;

cout << tunggal << endl;


cout << ganda << endl;
return 0;
}
Baris pertama pada kode di atas adalah deklarasi variabel tunggal, dan ganda
seperti deklarasi variabel pada umumnya.
Pada baris kedua, kita mendeklarasikan variabel pointer bernama x.
Lalu, variabel x kita isi dengan nilai dereference dari variabel tunggal.
Sehigga ketika kita beri nilai 1 pada reference dari variabel x.
Secara otomatis, nilai dari variabel tunggal juga turut berubah menjadi 1.

C. Struktur/ Record
#include <iostream>
using namespace std;
struct student
{
char name[50];
int roll;
float marks;
} s[10];
int main()
{
cout << "Enter information of students: " << endl;
// storing information
for(int i = 0; i < 10; ++i)
{
s[i].roll = i+1;
cout << "For roll number" << s[i].roll << "," << endl;
cout << "Enter name: ";
cin >> s[i].name;
cout << "Enter marks: ";
cin >> s[i].marks;
cout << endl;
}
cout << "Displaying Information: " << endl;
// Displaying information
for(int i = 0; i < 10; ++i)
{
cout << "\nRoll number: " << i+1 << endl;
cout << "Name: " << s[i].name << endl;
cout << "Marks: " << s[i].marks << endl;
}
return 0;
}

Dalam program ini,kami membuat struktur murid.


Struktur ini memiliki tiga anggota:nama(rangkaian),gulungan(bilangan bulat)
dan tanda(mengambang).
Kemudian, kami membuat array struktur berukuran 10 untuk menyimpan
informasi 10 siswa.
Menggunakan for loop , program mengambil informasi 10 siswa dari pengguna
dan menampilkannya di layar.
BAB III
Hasil Compiler Program
1. Array

2. Pointer

3. Struktur / Record
DAFTAR PUSTAKA

Microsoft. 2023. Penunjuk C++.


Tersedia:
https://learn.microsoft.com/id-id/cpp/cpp/pointers-cpp?view=msvc-170
(Tanggal Akses 23 Oktober 2023)
Syaviri Ananda. 2013. Laporan Pointer Dalam C++.
Tersedia :
https://www.academia.edu/5229674/laporan_pointer_dalam_c_
(Tanggal Akses 23 Oktober 2023)
Muliono Rizki. 2018. Program C++ Algoritma & Struktur Data.
Tersedia :
https://abdulkadir.blog.uma.ac.id/wp-
content/uploads/sites/365/2019/02/Modul-Praktikum-Algoritma-Struktur-
Data-Merge.pdf
(Tanggal Akses 23 Oktober 2023)
Dimas Setiawan. 2020.Contoh Program Array C++ dan Penjelasannya.
Tersedia :
https://kelasprogrammer.com/contoh-program-array-c-dan-penjelasannya/
(Tanggal Akses 24 Oktober 2023)
Karim Amirul damas. Contoh Program Sederhana C++ menggunakan Pointer.
Tersedia :
https://kodedasar.com/blog/pointer-cpp/
(Tanggal Akses 24 Oktober 2023)
Progamiz. Program C++ Untuk Menyimpan dan Menampilkan Informasi
Menggunakan Struktur.
Tersedia :
https://www.programiz.com/cpp-programming/examples/information-
structure-array
(Tanggal Akses 24 Oktober 2023)

Anda mungkin juga menyukai