Nim : 2005551125
Kelompok :26
MODUL III
“ARRAY DAN POINTER”
Tujuan
Tugas Pendahuluan
1. Jelaskan tentang array dan deklarasi array dalam C/C++ serta tipe data
yang mungkin digunakan dalam array. Berikan contoh deklarasi array
dalam C/C++ lalu hitung keperluan memory-nya!
2. Jelaskan apa yang dimaksud dengan pointer serta berikan contoh
pendeklarasian dan penggunaan pointer dalam bahasa C/C++!
3. Jelaskan secara rinci perbedaan array dan pointer!
4. Buatlah contoh cara membangkitkan bilangan random dalam C/C++!
5. Jelaskan apa yang dimaksud dengan sorting dan searching!
6. Jelaskan mekanisme metode pengurutan dan pencarian berikut serta
berikan contoh pengurutan data yang dilakukan dengan metode tersebut.
a. Insertion sort
b. Bubble sort
c. Quick sort
d. Sequential search
e. Binary search
7. Buatlah flowchart dan pseudocode (notasi algoritma) dari masing-masing
metode di atas, lalu buatlah trace dari flowchart yang Anda buat.
Jawaban
1. Pengertian array dan deklarasi array
Array adalah suatu variabel yang terdiri dari sekumpulan data
dimana data-data tersebut mempunyai tipe data yang sama. Setiap data
disimpan dalam alamat memori yang berbeda-beda dan disebut dengan elemen
array. Setiap elemen mempunyai nilai indek sesuai dengan urutannya. Melalui
indek inilah dapat mengakses data-data tersebut. Sedangkan deklarasi array
adalah variable array dideklarasikan dengan mencantumkan tipe dan nama
variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Berikut
merupakan tipe data yang mungkin digunakan dalam array.
1.1. Array satu dimensi
Array satu dimensi adalah array yang terdiri dari n buah kolom atau
Array satu dimensi adalah array yang terdiri dari 1 subskrip array saja. Setiap
elemen array satu dimensi dapat diakses melalui indeks yang terdapat di
dalamnya. Untuk mendeklarasikan sebuah array satu dimensi harus
menggunakan tanda [ ] (bracket). Setiap elemen array dapat diakses melalui index
dan secara default dimulai dari 0.
1.2. Array dua dimensi
Array dua dimensi adalah array yang terdiri dari n buah baris dan m buah
kolom, atau array dua dimensi juga biasa disebut sebagai array yang mempunyai
dua subskrip, yaitu baris dan kolom. Bentuk dari array dua dimensi pada umunya
berbentuk seperti matriks atau tabel dimana indeks pertama menunjukan baris dan
indeks kedua menunjukan kolom.
1.3. Array multidimensi
Array Multidimensi merupakan array yang serupa dengan array satu
dimensi maupun array dua dimensi, namun array multidimensi dapat memiliki
memori yang lebih besar. Biasanya array multidimensi digunakan untuk menyebut
array dengan dimensi lebih dari dua atau array yang mempunyai lebih dari dua
subskrip, seperti untuk menyebut array tiga dimensi, empat dimensi, lima dimensi
dan seterusnya.
#include <stdio.h>
int main(void)
{
int bilangan[5] = {6, 9, -8, 24, -99};
return 0;
}
Kode program 1, Contoh deklarasi Array
Pada contoh program diatas, di awal kode program, baris int
bilangan[5] dipakai untuk membuat sebuah array bernama bilangan dengan 5
elemen atau 5 anggota. Array bilangan ini di set sebagai int, yang artinya setiap
elemen array hanya bisa diisi dengan bilangan bulat (integer). tipe data integer
dimana memiliki ukuran memory sebesar 4 byte atau 32 bit, pada array bilangan
memiliki ukuran sebesar 5, maka memory yang digunakan sebesar 5x10 yaitu 50
byte, atau 32x10 yaitu 320 bit.
2. Pointer
Pointer adalah sebuah jenis variabel yang dapat menunjuk address atau
alamat memory dari sebuah variabel lain. Setiap variabel biasanya mempunyai
sebuah alamat karena dalam deklarasi, program akan mengalokasikan sebuah
alamat untuk variabel tersebut.
#include <stdio.h>
int main(){
int angka=10;
int *p;
p=&angka;
printf("%d", *p);
getchar();
return 0;
}
Kode program 2, Contoh deklarasi Pointer
Pada contoh program 2, dideklarasikan sebuah variabel angaka dengan
tipe data interger bernilai 10, lalu dibuat deklarasi pointer p(*p) karena untuk
mendeklarasikan variabel pointer harus menggunakan simbol bintang (*) di
depan variabel yang di deklarasikan pada tipe data tertentu. Pada program dibuat
sebuah perintah “p=&angka” yang digunakan untuk menunjuk alamat pada
variabel angka. Hasil dari printf *p adalah 10. Karena, diatas sudah terdapat
“p=&angka” menunjuk alamat dari variabel angka.
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
// Driver program
int main(void)
{
srand(time(0)); //fungsi srand()
for(int i = 0; i<5; i++)
printf(" %d ", rand());//fungsi rand()
return 0;
}