Anda di halaman 1dari 15

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

i
DAFTAR ISI

KATA PENGANTAR ............................................................................................... i


DAFTAR ISI ............................................................................................................. ii
LATAR BELAKANG .............................................................................................. iii
BAB I Landasan Teori
a. Array .............................................................................................................. 1
b. Pointer ............................................................................................................ 2
c. Struktur .......................................................................................................... 3
BAB II Source Code
a. Array .............................................................................................................. 5
b. Pointer ............................................................................................................ 6
c. Struktur .......................................................................................................... 7
BAB III Hasil Complier Program
a. Array .............................................................................................................. 9
b. Pointer ............................................................................................................ 9
c. Struktur .......................................................................................................... 9
PENUTUP................................................................................................................. 10
DAFTAR PUSTAKA

ii
PENDAHULUAN
A. Latar Belakang
Dengan adanya kemajuan teknologi di dunia akal pikiran manusia semakin
mahir dalam menciptakan sesuatu yang bermanfaat bagi kehidupan mereka. Salah
satunya dalam pembuatan program program yang sangat membantu mereka dalam
menyelesaikan pekerjaan dengan cepat dan efesien
Dalam pemrogaman ada beberapa macam bahasa pemrogaman. Beberapa
diantaranya adalah bahasa pemrogaman C++. Dalam bahasa pemrogaman C++ terdapat
penggunaan variabel array, Pointer, dan Struktur/ Record. Namun penggunaan array
tidak hanya pada pemrogaman, array juga banyak digunakan untuk berbagai macam
struktur data, seperti database.
Sesuatu fasilitas yang tersedia dalam C++ yang tidak ditemukan pada bahasa
pemrogaman lainnya adalah pointer, dengan pemanfaatan pointer programmer dapat
melakukan manipulasi memori secara langsung.Pointer adalah sebuah objek yang dapat
digunakan untuk mengakses objek lainnya.
Dalam pemograman biasanya menggunakan variabel Array, Pointer dan
struktur. Makalah ini membahas tiga variabel tersebut. Di makalah ini akan akan
dijelaskan pengertian ketigannya lalu source Code dari ketiga nya dan menampilkan
hasil dari Source Codenya.

B. Rumusan Masalah
1. Memahami Perbedaan dari Array, Pointer dan Struktur
2. Dapat menampilkan output Array
3. Dapat menampilkan ouput dari Pointer
4. Dapat menampikan output dari Struktur

C. Tujuan & Manfaat Penulisan


Di harapkan di akhir makalah ini, dapat menampilkan Ouput dari ketiga program
tersebut.

iii
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.

1
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 (&)

2
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
{

3
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;

4
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";} }

5
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;

6
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()
{

7
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.

8
BAB III
Hasil Compiler Program
1. Array

2. Pointer

3. Struktur / Record

9
PENUTUP
A. Kesimpulan
Struktur adalah sekumpulan elemen-elemen data yang digabung menjadi suatu
kesatuan. Struktur array adalah kumpulan elemen-elemen data yang digabungkan
menjadi suatu kesatuan yang memiliki tipe homogen (sama). Array merupakan bagian
dari struktur data yaitu termasuk ke dalam struktur data sederhana yang dapat
didefinisikan sebagai pemesanan alokasi memori sementara pada komputer. Pointer
adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk
menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat
diketahui dengan mudah.
Apabila kita membuat progam dengan data yang yang sudah kita ketahui
batasnya, maka kita menggunakan array (tipe data statis), namum apabila datanya
belum kita ketahui batasnya maka gunakan pointer (tipe data dinamis). Elemen-elemen
array tersusun secara sekuensial dalam memori komputer. Array dapat berupa satu
dimensi, dua dimensi, ataupun multidimensi.

B. Saran
Dengan tersusunnya makalah ini diharapkan para membaca memberikan saran
dan kritik yang membangun, sebagai motivasi demi terciptanya kemajuan dalam
pembuatan makalah-makalah selanjutnya.

10
DAFTAR PUSTAKA

1. Microsoft. 2023. Penunjuk C++.


Tersedia:
https://learn.microsoft.com/id-id/cpp/cpp/pointers-cpp?view=msvc-170
(Tanggal Akses 23 Oktober 2023)
2. Syaviri Ananda. 2013. Laporan Pointer Dalam C++. Malanh
Tersedia :
https://www.academia.edu/5229674/laporan_pointer_dalam_c_
(Tanggal Akses 23 Oktober 2023)
3. Muliono Rizki. 2018. Program C++ Algoritma & Struktur Data. Medan.
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)
4. Dimas Setiawan. 2020.Contoh Program Array C++ dan Penjelasannya.
Tersedia :
https://kelasprogrammer.com/contoh-program-array-c-dan-penjelasannya/
(Tanggal Akses 24 Oktober 2023)
5. Karim Amirul damas. Contoh Program Sederhana C++ menggunakan Pointer.
Magalang.
Tersedia :
https://kodedasar.com/blog/pointer-cpp/
(Tanggal Akses 24 Oktober 2023)
6. 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)

11

Anda mungkin juga menyukai