Anda di halaman 1dari 10

POINTER & STRUCTURE

MAKALAH

Disusun untuk Memenuhi Tugas Mata Kuliah Algoritma dan Struktur Data

Dosen Pengampu : Aulia Dessy Nur Utomo, S.Kom., M.Cs.

Oleh:

Agnes Novianta Sigalingging

18102219

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFROMATIKA DAN INDUSTRI

INSTITUT TEKNOLOGI TELKOM PURWOKERTO

2018

i
KATA PENGANTAR

Rasa syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan ilmu sehingga makalah berjudul “Pointer dan Structure” dapat
terselesaikan dengan baik . Makalah ini dibuat dalam rangka memenuhi tugas
mata kuliah Algoritma dan Struktur Data. Karenanya, izinkanlah penulis
mengucapkan rasa terimakasih kepada Bapak Aulia Dessy Nur Utomo, S.Kom.,
M.Cs. yang telah membantu demi kelancaran penyusunan makalah ini.

Penulis mengucapkan terimakasih atas bantuan dan dorongan sehingga


makalah ini dapat terelesaikan. Tentu saja masih tardapat kekurangan dalam
makalah ini. Oleh karena itu, penulis mengharapkan kritik dan saran dari
pembaca.

Akhirnya, semoga makalah ini dapat bermanfaat bagi pembaca.

Purwokwrto, 02 April 2019

Penulis

ii
DAFTAR ISI

HALAMAN SAMPUL ................................................................................... i

KATA PENGANTAR .................................................................................... ii

DAFTAR ISI ................................................................................................... iii

DAFTAR GAMBAR ...................................................................................... iv

PEMBAHASAN ............................................................................................. 1

1.1 Pointer ................................................................................................ 1

1.2 Structure ............................................................................................ 3

DAFTAR PUSTAKA

iii
DAFTAR GAMBAR

Gambar 1.1 Output Pointer .......................................................................... 2

Gambar 1.2 Array vs Struct .......................................................................... 3

Gambar 1.3 Output Struct ............................................................................ 5

iv
PEMBAHASAN

1.1. Pointer

A. Pengertian Pointer
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.
Intinya :

- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang
lainnya.
- Variabel pointer berisi suatu alamat (alokasi memory).

B. Fungsi Pointer
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori dari
sebuah variabel dan alamat
dari sebuah fungsi. Pointer dapat meningkatkan kinerja untuk operasi yang
dilakukan secara berulang.

C. Operator Pointer
Ada 2 operator pointer yang dikenal secara luas, yaitu operator “&” dan
operator “*”.
a. Operator &
Operator & merupakan operator alamat. Pada saat pendeklarasian
variabel, user tidak
diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan
dilakukan secara
otomatis oleh kompiler dan operating sysem pada saat run-time.
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan
dengan memberikan
tanda ampersand (&) didepan variable , yang berarti "address of".
Contoh :
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian
dituliskan instruksi
sbb :
Variabel DATA_1 berisi data 27 DATA_1 = 27;
Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27 DATA_2 =
DATA_1;
DATA_3 = & Variabel DATA_3 berisi alamat memory DATA_1, yaitu
1770DATA_1;

b. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer,kita
dapat mengakses
nilai yang tersimpan secara langsung dengan memberikan awalan operator
asterisk (*) pada
identifier pointer, yang berarti "value pointed by".

1
Contoh :
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh
DATA_3.
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data
bernilai 27.
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.

D. Contoh Penerapan Program

#include <stdio.h>
main(){
int *pointer;
int DATA1;
DATA1=27;
printf(" Isi variabel DATA1 = %d",DATA1);
printf("\n Alamat variabel DATA1 = %d",&DATA1);
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
pointer=&DATA1;
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
printf("\n Isi dari alamat %d = %d",pointer,*pointer);
printf("\n");
return 0;
}

SS Program :

Gambar 1.1 Output Pointer

1.2. Structure

Bahasa pemrograman bisa memiliki tipe data:

– Built-in : sudah tersedia oleh bahasa pemrograman tersebut

• Tidak berorientasi pada persoalan yang dihadapi

2
– UDT : User Defined Type, dibuat oleh pemrogram.

• Mendekati penyelesaian persoalan yang dihadapi.

• Contoh: record pada Pascal, struct pada C/C++, class pada Java

– ADT : Abstract Data Type

• Memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi,


berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut.

• Contoh: class pada Java

Adalah kumpulan data yang saling berhubungan, yang disimpan dalam satu unit
penyimpanan. Contoh : Data pegawai, nama, alamat , gaji.

Bila menggunakan array biasa, maka diperlukan tiga variable yang bebas satu
dengan yang lain, yaitu variabel nama, alamat dan gaji. Dengan menggunakan structure,
data tersebut diorganisasikan dalam satu kesatuan.

Gambar 1.2 Array vs Struct

A. Cara kerja structure

struct merupakan keyword yang memungkinkan membuat deklarasi yang


di dalamnya dapat terdapat banyak variabel, hasil deklarasi ini akan menghasilkan
user-defined data type yaitu tipe structure yang berguna untuk mendirikan object.

Bentuk penulisan

3
struct nama_struct{
/*macam-macam deklarasi variabel
*…
*/
}nama_object;

Keterangan

nama_struct : merupakan identitas dari struct tersebut.

{ …variabel… } : merupakan sepasang block, tempat dimana semua variabel


dikelompokan sebagai member dari struct tersebut. pembuatan variabel di dalam
struct sama sekali tidak ada perbedaan dengan mendirikan variabel biasa.

nama_object : merupakan deklarasi yang menggunakan struct tersebut


menjadi tipe data dari deklarasi tersebut. kita dapat mendirikan banyak object di
tempat tersebut, masing-masing dipisahkan dengan tanda koma , . Object selalu
diletakan setelah penutup block dan sebelum semicolon ; .

Penggunaan dari nama_struct dan nama_object merupakan opsional, kita bisa


mendirikan tanpa hal tersebut, tapi kita tidak bisa mengabaikan keduanya. Dan
masing-masing tindakan akan membuat struct memiliki sifat yang berbeda.

Jika kita mendirikan struct tanpa menggunakan nama_struct, maka kita


diharuskan menggunakan object. Jika tindakan ini dilakukan maka akan membuat
struct tidak bisa di pakai di luar deklarasi struct (kita tidak bisa mendirikan object
diluar struct tersebut). biasanya tindakan ini digunakan untuk membuat sebuah
struct yang tidak di anjurkan untuk digunakan (agar tidak terjadi pembuatan
object di luar deklarasi struct).

B. Contoh Program

#include <stdio.h>

struct Siswa {
char nama[50];
char sekolah[50];
unsigned int uangSaku;
};

int main(void)
{
struct Siswa siswa01;

strcpy(siswa01.nama, "Andi Permana Nugroho");


strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
siswa01.uangSaku = 10000;

printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);


printf("dengan uang saku %i per hari\n", siswa01.uangSaku);

4
return 0;
}
Hasil Kode Program:

Gambar 1.3 Output Struct

5
DAFTAR PUSTAKA

Wahyu, Laras.2017.”Pointer Dalam Bahasa C++”.

http://laraswahyu.blogspot.com/2017/05/pointer-dalam-bahasa-c-

pengertian.html. Diakses pada 02 April 2019.

Ilkom, Dunia.2018.” Pengertian dan Contoh Kode Program Tipe Data Struct”.
https://www.duniailkom.com/tutorial-belajar-c-pengertian-dan-contoh-kode-

program-tipe-data-struct/. Diakses pada 02 April 2019

Cpp, Belajar.2018. “Penjelasan dan Cara Mendirikan Struct”.

https://www.belajarcpp.com/tutorial/cpp/struct/. Diakses pada 02 April 2019

Anda mungkin juga menyukai