View
220
Download
0
Category
Preview:
Citation preview
7/24/2019 ANIDIA 8
1/19
LAPORAN PRAKTIKUM VIII
POINTER
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Anidia Wulan Sari
150533601651
S1 PTI15 OFF A
UNIVERSITAS NEGERI MALANGFAKULTAS TEKNIK
URUSAN TEKNIK ELEKTRO
PRO!I S1 PEN!I!IKAN TEKNIK INFORMATIKA
N"#$%&$r '015
POINTER
7/24/2019 ANIDIA 8
2/19
A( Tu)uan
u!uan "ari mempela!ari Mo"ul # $P"in*$r% ini& agar mahasiswa mampu :
'( Mengetahui arti "an )ungsi pointer "alam pemrograman(
*( Memahami penggunaan pointer "alam listing program(
( Mengetahui keunggulan pointer pa"a suatu program(
,( Membuat program se"erhana "engan menerapkan konsep pointer(
+( P$n,$r*ian POINTER
Pointer -.ariabel penun!uk/ a"alah suatu .ariabel yang berisi alamat memori
"ari suatu .ariabel lain( 0lamat ini merupakan lokasi "ari obyek lain -biasanya
.ariabel lain/ "i "alam memori( Contoh& !ika sebuah .ariabel berisi alamat "ari
.ariabel lain& .ariabel pertama "ikatakan menun!uk ke .ariabel ke"ua(
O-$ra*"r P"in*$ra"a "ua& yaitu :a( Operator 1 -Operator Di)eren2e/
'( Operator 1 bersi)at unary -hanya memerlukan satu operan" sa!a/(
*( Operator 1 menghasilkan alamat "ari operan"nya(
b( Operator 3 -Operator 4e)eren2e/
'( Operator 3 bersi)at unary -hanya memerlukan satu operan" sa!a/(
*( Operator 3 menghasilkan nilai yang bera"a pa"a sebuah alamat(
Pointer : .ariabel yang berisi alamat memori
5ariable name a"alah nama .ariabel pointer
3 a"alah operator memori untuk mengembalikan nilai .ariabel pa"a
alamatnya yang "itentukan oleh operan"(
7/24/2019 ANIDIA 8
3/19
O-$ra.i Ari*%a*i/a
Suatu .ariabel pointer hanya "apat "ilakukan operasi aritmatika "engan nilai integer
sa!a( Operasi yang biasa "ilakukan a"alah operasi penambahan "an pengurangan( Operasi
penambahan "engan suatu nilai menun!ukkan lokasi "ata berikutnya -in"e6 selan!utnya/
"alam memori( Begitu !uga operasi pengurangan(
7/24/2019 ANIDIA 8
4/19
In-u* da*a M$lalui P"in*$r
0n"a "apat !uga mengimputkan suatu "ata ke"alam .ariabel "engan menggunankan
pointernya& sebagai 2ontoh tin!aulah program "ibawah ini :
int x;
int *ptr_x;
ptr_x=&x; printf("Inputkan nilai x : ");
scanf("%d",ptr_x);
Ingat7 Menginputkan "ata "engan s2an)-/ membutuhkan alamat "ari .ariabel yang
bersangkutan( 8arena ptr96 merupakan alamat "ari .ariabel 6& maka ptr96 "apat "igunakan
"alam s2an)-/( a"i pernyataan:
scanf("%d",ptr_x); Sama dengan:scanf("%d",&x);
Dimana 16 !uga menun!ukkan alamat "ari .ariabel 6(
7/24/2019 ANIDIA 8
5/19
K$un,,ulan %$n,,una/an P"in*$r
'( ;ntuk men2iptakan "ata struktur yang kompleks(
*( Memungkinkan suatu )ungsi untuk menghasilkan lebih "ari satu nilai(
( Memiliki kemampuan untuk mengirimkan alamat suatu )ungsi ke )ungsi yang lain(
,( Penanganan terha"ap array "an string akan lebih singkat "an e)isien(
7/24/2019 ANIDIA 8
6/19
7/24/2019 ANIDIA 8
7/19
La*ian Pra/*i/u% II
Pemrograman C++
Na%a Pr",ra% : Memanggil ?ilai "engan Pointer+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
8/19
P$n)$la.an Pr",ra% :
7/24/2019 ANIDIA 8
9/19
La*ian Pra/*i/u% III
Pemrograman C++
Na%a Pr",ra% : Penambahan Bilangan Menggunakan Pointer
+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
10/19
La*iaan Pra/*i/u% V 4 MO!UL
Pemrograman C++
Na%a Pr",ra% : @ungsi Call by 4e)eren2e 1 Call by 5alue
+aa.a P$%r",ra%a% : C++2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
11/19
P$n)$la.an Pr",ra% :
Program "iatas merupakan program yang "igunakan untuk membuat )ungsi 4tukar
"an 5tukar( Program ini "imulai "engan men"eklarasikan aA& bA'' kemu"ian program
men2etak nilai a "an b sebelum memanggil )ungsi yang lain -)ungsi buatan/( 8emu"ian
pemanggilan )ungsi lain "ilakukan yaitu pemanggilan )ungsi 4tukar -1a& 1b/ maka akan
terlihat nilai a "an b saling tertukar( Setelah itu program mengembalikan nilai a "an b ke nilai
awalnya yaitu aA "an bA''( 8emu"ian saat memanggil )ungsi 5tukar -a& b/ terlihat nilai a
"an b saling terbalik tetapi setelah )ungsi 5tukar selesai "i!alankan& nilai a "an b berubah ke
nilai awalnya(
@ungsi 4tukar ini ter"apat synta6 membalik nilai antara ke"ua nilai pa"a parameter(
Pembalikan ke"ua nilai ini bersi)at permanen karena langsung menun!uk ke alamat memori
.ariabelnya sehingga terlihat setelah )ungsi 4tukar ini selesai "i!alankan nilai a "an b tetap
tertukar "ari nilai awalnya(
@ungsi 5tukar ter"apat synta6 untuk membalik nilai antara ke"ua nilai parameter(
Pembalikan nilai ini bersi)at sementara karena proses penukaran nilai ke"ua .ariabel ini
hanya menukar nilainya sa!a tanpa menun!uk alamat memori sehingga setelah )ungsi 5tukar
ini selesai "i!alankan& nilai a "an b kembali ke nilai awal(
7/24/2019 ANIDIA 8
12/19
Tu,a. Pra/*i/u% I
Pemrograman C++
Na%a Pr",ra% : Pernyataan Menggunakan Pointer+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include efa= iAn";cout
7/24/2019 ANIDIA 8
13/19
P$n)$la.an Pr",ra% :
7/24/2019 ANIDIA 8
14/19
Tu,a. Pra/*i/u% II
Pemrograman C++
Na%a Pr",ra% :
+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
15/19
Tu,a. Ru%a I
Pemrograman C++
Na%a Pr",ra% : Menghitung 8ata "engan Pointer+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
16/19
Tu,a. Ru%a II
Pemrograman C++
Na%a Pr",ra% : Mengubah uru) Pertama Men!a"i 8apital+aa.a P$%r",ra%a% : C++
2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :
Ou*-u* Pr",ra% :
7/24/2019 ANIDIA 8
17/19
Tu,a. Ru%a III
Pemrograman C++
Na%a Pr",ra% : Program Penggan"a angka
+aa.a P$%r",ra%a% : C++2"%-il$r : MinGW De.eloper Stu"io
Sri-* -r",ra% :#include
7/24/2019 ANIDIA 8
18/19
7/24/2019 ANIDIA 8
19/19
KESIMPULAN
!AFTAR RUUKAN
1. im 0sisten Dosen( *'
Recommended