isinya jga kalo ada script gak sepenuhny

(1)

MAKALAH POINTER

POINTER

Disusun untuk Memenuhi Matakuliah Algoritma dan Struktur Data Dibimbing oleh Bpk. Aji PrasetyaWibawa

Oleh:

1. Ananda Putri Syaviri 130533608243

2. Ilham Setyo Nugroho 130533608235

3. Muhammad Irfan Hafidh 130533608241

4. Viky Nur Handoko 130533608255

S1 PTI’13 OFF B

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

PRODI PENDIDIKAN TEKNIK INFORMATIKA Februari 2014


(2)

Puji syukur kami panjatkan ke hadirat Allah SWT, karena dengan anugerahNya kami dapat menyelesaikan makalah ini. Tujuan penulisan makalah ini adalah untuk mengulas bahasan untuk mata kuliah Algoritma dan Struktur Data tentang “POINTER”. Pada kesempatan ini kami menyampaikan terima kasih kepada :

1. Bapak Aji Prasetya Wibawa, selaku dosen pada mata kuliah ALGORITMA DAN STRUKTUR DATA.

2. Rekan - rekan kelompok PTI OFF B nomor ganjil mahasiswa Universitas Negeri Malang, Fakultas Teknik , 2013 dan semua pihak yang telah membantu terselesaikannya makalah ini.

Kami menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan saran yang bersifat membangun kami harapkan demi kesempurnaan makalah ini. Kami berharap makalah ini dapat memberikan manfaat bagi kita semua.

Bab I PENDAHULUAN


(3)

1. Latar Belakang

Dalam mata kuliah Algoritma dan Struktur Data, terdapat materi Pointer yang menuntut mahasiswa agar dapat memahami Pointer itu sendiri yang nantinya menjadi bekal awal dalam oerkuliahan Algoritma dan Struktur Data. Pointer merupakan komponen yang sanat penting dipelajari bagi mahasiswa Prodi S1 Pendidikan Teknik Informatika. Karena Pointer merupakan materi dasar yang harus dimiliki seorang programmer nantinya. Merupakan pengetahuan dasar yang harus dimiliki untuk memahami pengaplikasian Teknik Informatika itu sendiri. Oleh karena itu maka disusunnya makalah ini untuk membantu mahasiswa dalam memahami Pointer.

2. Tujuan Pointer

Penggunaan Suatu Pointer dimaksudkan untuk menunjukkan ke suatu alamat memori sebagai nilai sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.

Tujuan Pembelajaran

Diharapkan mahasiswa dapat:

 Memahami definisi dari pointer

 Memahami penggunaan pointer dalam program yang dibuat dalam Algoritma dan Struktur Data.

 Memahami penerapan secara benar dalam penguasaan materi pointer.

3. Batasan Masalah

 Pengertian Pointer

 Keunggulan Pointer

 Contoh dari masing-masing keunggulan Pointer 4. Perumusan Masalah

Berdasarkan latar belakang dan batasan masalah tersebut, masalah-masalah yang dibahas dapat dirumuskan sebagai berikut:


(4)

1. Apa yang dimaksud dari Pointer?

2. Apa tujuan (manfaat) penggunaan Pointer? 3. Apa saja keunggulan dari Pointer?

4. Bagaimana contoh kasus dari setiap jenis Pointer dalam menyelesaikan permasalahan program yang diinginkan?

BAB 2 PEMBAHASAN


(5)

1. Pengertian Pointer:

Pointer adalah sebuah variable yang beriskan tentang alamat suatu variable lain. Pointer sebagai wadah berkumpulnya alamat suatu variable yang dituju.pointer berfungsi untuk menyimpan alamat suatu variable dalam script.

2. Deklarasi Pointer :

Untuk mendeklarasikan sebuah pointer, perintah dasarnya adalah :

Typedata *namavariabel; / Tipe_data *nama_pointer;

Untuk lebih jelasnya adalah : int *pint;

float *pfloat; Tmhs *pmhs; Contoh :

#include <stdio.h> #include <conio.h> #include <string.h> main()

{

char c,*pc; int i,*pi; float f,*pf;

c='A';i=7;f=6.25;

printf("c : alamat=0x%p, isi=%c\n", &c, c); printf("x : alamat=0x%p, isi=%d\n", &i, i);


(6)

printf("y : alamat=0x%p, isi=%5.2f\n", &f, f); pc=&c;

pi=&i; pf=&f;

printf("pc: alamat=0x%p, isi=%c\n", pc, *pc); printf("pi: alamat=0x%p, isi=%d\n", pi, *pi); printf("pf: alamat=0x%p, isi=%5.2f\n", pf, *pf); *pc='B';

*pi=125; *pf=512.56;

printf("c : isi=%c\n", c); printf("x : isi=%d\n", i); printf("y : isi=%5.2f\n", f); getch();

return 0; }

Printscreen program :

(setiawan, 2012) 3. Operator Pointer:


(7)

a) Operator & .

 Operator & bersifat unary (hanya memerlukan satu operand saja).

 Operator & menghasilkan alamat dari operandnya.

Yang menjadi pokok dalam operator ini adalah alamat bukan isi variable,

operator ini merupakan operator alamat. Operator pointer yang menunjukkan alamat dari variable tertentu, dilambangkan dengan simbol "&" atau disebut dengan tanda ampersand. Tidak menuntut untuk menampilkan alamat asli dari suatu variable tersebut. Disebut juga dengan “address off”.

Contoh :

x= &px.

Ini artinya , variable x akan menjelaskan alamat dari variable px. b) Operator * .

 Operator * bersifat unary (hanya memerlukan satu operand saja).

 Operator * menghasilkan nilai yang berada pada sebuah alamat. Operator * adalah operator referensi (reference).

merupaka operator yang berfungsi untuk mengakses nilai yang tersimpan dalam memori suatu variable tersebut. untuk mengakses nilai tersebut menggunakan identifier tanda "*" atau disebut dengan tanda asterisk. Disebut juga “value pointed by”.

Contoh :

aljabar= *59.

Artinya : nilai yang terletak pada alamat 59 adalah aljabar. 4. Macam – macam Pointer .

a) Pointer Bertipe Void.

Pada C++ terdapat pointer yang dapat menunjuk ke tipe data apapun, pointer semacam ini dideklarasikan dengan tipe void sehingga sering dikenal dengan istilah Void Pointer. Berikut ini contoh listing program yang menggunakan void pointer.


(8)

Elemen-elemen array biasanya diakses melalui indeksnya, sebenarnya ada cara lain yang lebih efisien, yaitu dengan menggunakan pointer. Pointer semacam ini disebut dengan istilah pointer aritmetika. Konsep dasar dari pointer aritmetika ini adalah melakukan operasi aritmetika terhadap variabel yang bertipe pointer. c) Pointer NULL.

Pada saat program dijalankan, pointer akan menunjuk ke alamat acak pada memori, sehingga diperlukan inisialisasi agar hal tersebut tidak terjadi. Dalam C+ + terdapat sebuah cara untuk membuat pointer tidak menunjuk ke alamat manapun, yaitu dengan mengisikan pointer tersebut dengan nilai NULL. Karena hal inilah maka pointer tersebut sering dinamakan pointer NULL (NULL Pointer). Sebagai contoh kita mempunyai pointer p, dan kita ingin melakukan inisialisasi pada pointer tersebut dengan nilai NULL, maka sintaknya adalah P=NULL; (uzhe, 2012)

5. Operasi Pointer :

 Operasi Penugasan.

Suatu variabel pointer seperti halnya variabel yang lain, juga bisa mengalami operasi penugasan. Nilai sari suatu variabel pointer dapat disalin ke variabel pointer yang lain.

 Operasi Aritmatika.

Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.

 Operasi Logika.

Operasi logika juga dapat dilakukan pada sebuah variabel pointer. (uzhe, 2012)


(9)

6. Contoh Pointer :

(tim asisten UM, 2013) a) Pointer pada Struct.

b) Pointer pada Array:

//PROGRAM MENGHITUNG BANYAK KARAKTER #include <stdio.h>

int misteri3(const char *); main () {


(10)

printf("Ketikkan sebuah string : "); scanf("%s",&string);

printf("%d\n", misteri3(string)); return 0;

}

int misteri3(const char *s) { int x=0; for(;*s!='\0';s++) ++x; return x; } Printscreen :

c) Pointer pada Fungsi: #include <stdio.h> char*nama_bulan(int n); main() { int bl; printf("Bulan(1..2*)"); scanf("%d",&bl); printf("%s\n",nama_bulan(bl)); } char*nama_bulan(int n) { static char*bulan[]={ "Kode Bulan Salah",

"Januari","Februari","Maret","Appril","Mei","Juni","Juli","Agustus ", "September","Oktober","Nopember","Desember"}; return((n<1||n>12)?bulan[0]:bulan[n]); } Printscreen :


(11)

(tim asisten dosen , 2013)

BAB 3 PENUTUP Kesimpulan :

1) Pointer merupakan variable yang berfungsi untuk menentukan suatu alamat dari variable tersebut.

2) Untuk mengetahui ciri umum pointer dapat dilihat dari deklarasi pointer itu sendiri yaitu Typedata *namavariabel; / Tipe_data *nama_pointer;

3) Pointer terdiri dari 2 operator : operator alamat (&) dan operator referensi (*). 4) Pointer terdiri dari 3 operasi : operasi penugasan, aritmatika dan logika. 5) Pointer terdiri dari 3 macam: pointer bertipe void, aritmetika dan NULL. 6) Pointer dapat diaplikasikan bersamaan dengan fungsi Array , Fungsi dan Struct.

DAFTAR PUSTAKA

http://linkblog-ku.blogspot.com/2012/04/penjelasan-dan-deklarasi-pointer-pada.html http://49012039uzhe.blogspot.com/2012/04/hubungan-pointer-dengan-array-pada.html


(12)

LEMBAR PERTANGGUNG JAWABAN Saya yang bertanda tangan di bawah ini :

Nama : Muhammad Irfan Hafidh NIM : 130533608241

Bertanggung jawab sebagai ketua kelompok dalam presentasi dan pembuatan makalah bertema “POINTER” dalam mata kuliah Algoritma dan Struktur Data yang dibimbing oleh Bapak Aji Prasetya Wibawa. Menyatakan bahwa pembuatan makalah dan presentasi ini telah selesai pada tanggal 12 Februari 2014, isi dari presentasi dan makalah ini bisa dipertanggung jawabkan apabila ditemukan kecurangan atau plagiasi di kemudian hari.

Ketua kelompok


(13)

(1)

Elemen-elemen array biasanya diakses melalui indeksnya, sebenarnya ada cara lain yang lebih efisien, yaitu dengan menggunakan pointer. Pointer semacam ini disebut dengan istilah pointer aritmetika. Konsep dasar dari pointer aritmetika ini adalah melakukan operasi aritmetika terhadap variabel yang bertipe pointer. c) Pointer NULL.

Pada saat program dijalankan, pointer akan menunjuk ke alamat acak pada memori, sehingga diperlukan inisialisasi agar hal tersebut tidak terjadi. Dalam C+ + terdapat sebuah cara untuk membuat pointer tidak menunjuk ke alamat manapun, yaitu dengan mengisikan pointer tersebut dengan nilai NULL. Karena hal inilah maka pointer tersebut sering dinamakan pointer NULL (NULL Pointer). Sebagai contoh kita mempunyai pointer p, dan kita ingin melakukan inisialisasi pada pointer tersebut dengan nilai NULL, maka sintaknya adalah P=NULL;

(uzhe, 2012)

5. Operasi Pointer :

 Operasi Penugasan.

Suatu variabel pointer seperti halnya variabel yang lain, juga bisa mengalami operasi penugasan. Nilai sari suatu variabel pointer dapat disalin ke variabel pointer yang lain.

 Operasi Aritmatika.

Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.  Operasi Logika.

Operasi logika juga dapat dilakukan pada sebuah variabel pointer.


(2)

6. Contoh Pointer :

(tim asisten UM, 2013)

a) Pointer pada Struct.

b) Pointer pada Array:

//PROGRAM MENGHITUNG BANYAK KARAKTER #include <stdio.h>

int misteri3(const char *); main () {


(3)

printf("Ketikkan sebuah string : "); scanf("%s",&string);

printf("%d\n", misteri3(string)); return 0;

}

int misteri3(const char *s) { int x=0; for(;*s!='\0';s++) ++x; return x; } Printscreen :

c) Pointer pada Fungsi: #include <stdio.h> char*nama_bulan(int n); main() { int bl; printf("Bulan(1..2*)"); scanf("%d",&bl); printf("%s\n",nama_bulan(bl)); } char*nama_bulan(int n) { static char*bulan[]={ "Kode Bulan Salah",

"Januari","Februari","Maret","Appril","Mei","Juni","Juli","Agustus ", "September","Oktober","Nopember","Desember"}; return((n<1||n>12)?bulan[0]:bulan[n]); } Printscreen :


(4)

(tim asisten dosen , 2013)

BAB 3 PENUTUP

Kesimpulan :

1) Pointer merupakan variable yang berfungsi untuk menentukan suatu alamat dari variable tersebut.

2) Untuk mengetahui ciri umum pointer dapat dilihat dari deklarasi pointer itu sendiri yaitu Typedata *namavariabel; / Tipe_data *nama_pointer;

3) Pointer terdiri dari 2 operator : operator alamat (&) dan operator referensi (*). 4) Pointer terdiri dari 3 operasi : operasi penugasan, aritmatika dan logika. 5) Pointer terdiri dari 3 macam: pointer bertipe void, aritmetika dan NULL. 6) Pointer dapat diaplikasikan bersamaan dengan fungsi Array , Fungsi dan Struct.

DAFTAR PUSTAKA

http://linkblog-ku.blogspot.com/2012/04/penjelasan-dan-deklarasi-pointer-pada.html http://49012039uzhe.blogspot.com/2012/04/hubungan-pointer-dengan-array-pada.html Tim Asisten Dosen. 2013. Modul 8.POINTER. Malang: Universitas Negeri Malang.


(5)

LEMBAR PERTANGGUNG JAWABAN

Saya yang bertanda tangan di bawah ini : Nama : Muhammad Irfan Hafidh

NIM : 130533608241

Bertanggung jawab sebagai ketua kelompok dalam presentasi dan pembuatan makalah bertema “POINTER” dalam mata kuliah Algoritma dan Struktur Data yang dibimbing oleh Bapak Aji Prasetya Wibawa. Menyatakan bahwa pembuatan makalah dan presentasi ini telah selesai pada tanggal 12 Februari 2014, isi dari presentasi dan makalah ini bisa dipertanggung jawabkan apabila ditemukan kecurangan atau plagiasi di kemudian hari.

Ketua kelompok


(6)