SlideShare a Scribd company logo
1 of 21
Pertemuan 11
Cendana25.blogspot.com
8/5/2017
Menny
cendana25.blogspot.com
POINTER
8/5/2017
Menny
cendana25.blogspot.com
Mengenalkan pointer untuk mengakses data. Diharapkan mahasiswa
dapat mengerti pointer untuk berbagai kepentingan pemrograman
MATERI
Pointer adalah variabel yang berisi alamat suatu data. Hal ini yang
membedakan pointer dengan variabel non pointer data(bukan alamat data)
8/5/2017
Menny
cendana25.blogspot.com
Int p; // non pointer Int *p; //pointer
Ya, pointer memang berisi alamat. Melalui hal ini, dimungkinkan untuk mengubah isi
argument pada pemanggilan fungsi oleh fungsi. Selain itu pointer memungkinkan
pembuatan struktur seperti antrian ataupun senarai berantai, yang memungkinkan
data dapat ditambah atau di kurangi secara dinamis
8/5/2017
Menny
cendana25.blogspot.com
Cara menggunakan pointer
POINTER berisi alamat ? Manfaatnya apa ?
Cara mendeklarasikan pointer dan mengisikan nilai ke dalam variabel pointer.
Deklarasi pointer sebagai berikut:
Tipe *variabelpointer
Contoh:
8/5/2017
Menny
cendana25.blogspot.com
Int *pbil;
Contoh ini menyatakan pointer pbil
yang akan menunjuk data bertipe int
Int bilx = 77;
Akses melalui pointer Akses melalui non-pointer
*pbil=32; Bilx = 32;
*pbil = *pbil-2 Bilx= bilx-2
Cout<< *pbil<<endl; Cout <<bilx <<endl;
Cin>> *pbil; Cin >> bilx;
Pengaksesan data melalui variabel pointer dan no-pointer
latihan
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int *pBil;
int bilX = 77;
pBil = &bilX;
cout << "Isi bilX = " << bilX << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
*pBil = *pBil + 3;
cout << "Isi bilX sekarang = " << bilX << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
return 0;
}
Apakah isi pointer bissa ditempilkan dengan cout ? Ya, daapat di lihat
pada contoh program berikut ini :
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int *pBil;
int bilX = 77;
pBil = &bilX;
cout << "Isi pBil = " << pBil << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
return 0;
}
Mengubah nilai argumen fungsi melalui pointer. Ya, dapat dilihat
pada contoh program berikut:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
void ubah(int *x);
int main() {
int arg = 12;
cout << "isi arg semula = " << arg << endl;
ubah(&arg);
cout << "isi arg sekarang = " << arg << endl;
return 0;
}
void ubah(int *x) {
*x = 34;
}
Apakah pointer bisa digunakan untuk menunjuk string ? YA, Namun karena
STRING terbagi atas 2 macam maka penganganannya juga berbeda.
8/5/2017
Menny
cendana25.blogspot.com
J 0ZZA
Array Karakter: data
Char *musik=data;
Jazz
String yang ditunjuk ileh pointer musik
String *musik=new string(“JAZZ”);
Pada array karakter, cara untuk mengakses isi array melalui pointer ?
Untuk kepentingan ini kita membutuhkan 2 buah pointer , tujuannya adalahagar
salah satuh pointer tetap menunjukke awal string, sedangkan pointer yg kedua
bisa digesr untuk menunjukkarakter yg diakses; contoh program berikut :
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
char data[] = "Jazz";
char *musik = data;
char *tmp; // Pointer yang menunjuk ke char
tmp = musik; // Pointer tmp menunjuk ke data
// yang ditunjuk oleh musik
int indeks = 0;
while (tmp[indeks]) {
cout << tmp[indeks] << endl;
indeks++;
}
return 0;
}
8/5/2017
Menny
cendana25.blogspot.com
musik J 0ZZA
temp
while (tmp[indeks]) {
cout << tmp[indeks] << endl;
indeks++;
}
Temp [0]
Temp [1] Temp [2] Temp [3] Temp [4]
Contoh lain program untuk mengakses karakter yg ditunjuk pointer:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
char data[] = "Jazz";
char *musik = data;
char *tmp; // Pointer yang menunjuk ke char
tmp = musik; // Pointer tmp menunjuk ke data
// yang ditunjuk oleh musik
int indeks = 0;
while (*tmp) {
cout << *tmp << endl;
tmp++;
}
return 0;
}
Contoh program yang terdiri dari elemen-elemen array bertipe int
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int bilangan[] = {77, 66,55, 44, 33, 22, 11};
int *ptr = bilangan;
int jumData = sizeof(bilangan) / sizeof(int);
cout << "Cara pertama:" << endl;
for (int i = 0; i < jumData; i++)
cout << *(ptr + i) << endl;
cout << "Cara kedua:" << endl;
for (int i = 0; i < jumData; i++)
cout << ptr[i] << endl;
return 0;
}
Dapatkah suatu array berisi pointer ?
Cth: string *mermobil[5]
8/5/2017
Menny
cendana25.blogspot.com
HONDA
MITSUBISHI
KIA
HYUNDAI
TOYOTA
Array merkmobil
Tipe string
Contoh program
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
string *merkMobil[5];
// Pengisian ke pointer
merkMobil[0] = new string ("Honda");
merkMobil[1] = new string("Hyundai");
merkMobil[2] = new string("Kia");
merkMobil[3] = new string("Mitsubishi");
merkMobil[4] = new string("Toyota");
for (int i = 0; i < 5; i++)
cout << *merkMobil[i] << endl;
return 0;
}
Apa yang dimaksud dengan pointer 0 ?
Adalah pointer yg tidak menunjuk ke data manapun. Nilainya
diisi dengan nol atauNULL
contoh:
int *p;
p=0;
8/5/2017
Menny
cendana25.blogspot.com
Pointer yang menunjuk ke suatu fungsi adalah untuk melewatkan fungsi
sebagai argumen. Dalam argumen fungsi pointer yg menunjuk ke fungsi
ditulis dengan bentuk :
Tipe (*fungsi)(argumen1, argumen2…)
Perhatikan contoh program berikut ini:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
// Prototipe
int penjumlahan (int a, int b);
int pengurangan (int a, int b);
int operasi (int x, int y, int
(*panggilFungsi)(int,int));
int main () {
int m,n;
int (*minus)(int,int) = pengurangan;
m = operasi (7, 5, penjumlahan);
n = operasi (20, m, minus);
cout << n;
return 0;
}
int penjumlahan (int a, int b) {
return (a+b);
}
int pengurangan (int a, int b) {
return (a-b);
}
int operasi (int x, int y, int
(*panggilFungsi)(int,int)) {
int hasil;
hasil = (*panggilFungsi)(x,y);
return (hasil);
}
Pointer yang munjuk ke pointer:
8/5/2017
Menny
cendana25.blogspot.com
ptr1 ptr2 Just the way you are
Pointer ptr1 menunjuk ke pointer ptr2
Contoh program berikut ini:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
string lagu = "Just The Way You Are";
string *ptr2; // satu tanda *
string **ptr1; // dua tanda ** // Buat hubungan antara
pointer dan data
// yang ditunjuk
ptr2 = &lagu;
ptr1 = &ptr2; // Tampilkan data
cout << "Via ptr2: " << *ptr2 << endl;
cout << "Via ptr1: " << **ptr1 << endl;
return 0;
}
Pointer bisa menjadi nilai balik fungsi
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
char *posisiKar(char str[], char kar);
int main() {
char teks[] = {"Tes...tes...123"};
// Tampilkan mulai posisi pointer hingga
// karakter null dijumpai
char *ptr = posisiKar(teks, 't');
while (*ptr != '0') {
cout << *ptr;
ptr++;
}
cout << endl;
return 0;
}
char *posisiKar(char str[], char kar) {
char *ptr = str;
do {
if (*ptr == kar)
break;
ptr++;
} while (*ptr != '0');
return ptr;
}
MENGENAL_POINTER

More Related Content

What's hot

Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa Cguestaf3e8f4
 
11 operasi dasar masukan dan keluaran
11   operasi dasar masukan dan keluaran11   operasi dasar masukan dan keluaran
11 operasi dasar masukan dan keluaranBudi Yono
 
Materi kuliah 22 pointer part 2
Materi kuliah 22   pointer part 2Materi kuliah 22   pointer part 2
Materi kuliah 22 pointer part 2Budi Yono
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanTri Retna
 
Materi kuliah 22 pointer part 2
Materi kuliah 22   pointer part 2Materi kuliah 22   pointer part 2
Materi kuliah 22 pointer part 2Budi Yono
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul viiDevi Apriansyah
 
Pengenalan Bahasa C++
Pengenalan Bahasa C++Pengenalan Bahasa C++
Pengenalan Bahasa C++guestaf3e8f4
 
11 operasi dasar masukan dan keluaran
11   operasi dasar masukan dan keluaran11   operasi dasar masukan dan keluaran
11 operasi dasar masukan dan keluaranBudi Yono
 
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Lapopran praktikum struktur data pertemuan 1  Tipe DataLapopran praktikum struktur data pertemuan 1  Tipe Data
Lapopran praktikum struktur data pertemuan 1 Tipe DataAdy Achirul
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1Budi Yono
 

What's hot (17)

Laporan
LaporanLaporan
Laporan
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa C
 
8 Data Record
8 Data Record8 Data Record
8 Data Record
 
Pertemuan 8
Pertemuan 8 Pertemuan 8
Pertemuan 8
 
Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
11 operasi dasar masukan dan keluaran
11   operasi dasar masukan dan keluaran11   operasi dasar masukan dan keluaran
11 operasi dasar masukan dan keluaran
 
Materi kuliah 22 pointer part 2
Materi kuliah 22   pointer part 2Materi kuliah 22   pointer part 2
Materi kuliah 22 pointer part 2
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
 
Materi kuliah 22 pointer part 2
Materi kuliah 22   pointer part 2Materi kuliah 22   pointer part 2
Materi kuliah 22 pointer part 2
 
Pertemuan 6 Fungsi String
Pertemuan 6 Fungsi StringPertemuan 6 Fungsi String
Pertemuan 6 Fungsi String
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Pengenalan Bahasa C++
Pengenalan Bahasa C++Pengenalan Bahasa C++
Pengenalan Bahasa C++
 
Kelompok 2.3
Kelompok 2.3Kelompok 2.3
Kelompok 2.3
 
11 operasi dasar masukan dan keluaran
11   operasi dasar masukan dan keluaran11   operasi dasar masukan dan keluaran
11 operasi dasar masukan dan keluaran
 
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Lapopran praktikum struktur data pertemuan 1  Tipe DataLapopran praktikum struktur data pertemuan 1  Tipe Data
Lapopran praktikum struktur data pertemuan 1 Tipe Data
 
Fungsi dan Prosedur
Fungsi dan ProsedurFungsi dan Prosedur
Fungsi dan Prosedur
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
 

Similar to MENGENAL_POINTER

Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.pptfauziahUG
 
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.pptAnisIka
 
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptmisrianaputri1
 
Algoritma&Pemrograman C++ Pertemuan 4
Algoritma&Pemrograman C++ Pertemuan 4Algoritma&Pemrograman C++ Pertemuan 4
Algoritma&Pemrograman C++ Pertemuan 4Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 9
Algoritma&Pemrograman C++ Pertemuan 9Algoritma&Pemrograman C++ Pertemuan 9
Algoritma&Pemrograman C++ Pertemuan 9Menny SN
 
struktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdfstruktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdfMahmud165895
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1Budi Yono
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1kua
 
Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointerDhan junkie
 
Bab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataBab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataAffandi Arrizandy
 

Similar to MENGENAL_POINTER (20)

Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.ppt
 
Pertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan MacroPertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan Macro
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
 
Pointer
PointerPointer
Pointer
 
Modul 2 strukdat
Modul 2 strukdatModul 2 strukdat
Modul 2 strukdat
 
Modul 2 strukdat
Modul 2 strukdatModul 2 strukdat
Modul 2 strukdat
 
Pertemuan6.ppt
Pertemuan6.pptPertemuan6.ppt
Pertemuan6.ppt
 
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
 
pertemuan 3.pptx
pertemuan 3.pptxpertemuan 3.pptx
pertemuan 3.pptx
 
m01-struktur-dasar-c.ppt
m01-struktur-dasar-c.pptm01-struktur-dasar-c.ppt
m01-struktur-dasar-c.ppt
 
Spt3102 fungsi(0910)
Spt3102 fungsi(0910)Spt3102 fungsi(0910)
Spt3102 fungsi(0910)
 
Algoritma&Pemrograman C++ Pertemuan 4
Algoritma&Pemrograman C++ Pertemuan 4Algoritma&Pemrograman C++ Pertemuan 4
Algoritma&Pemrograman C++ Pertemuan 4
 
Algoritma&Pemrograman C++ Pertemuan 9
Algoritma&Pemrograman C++ Pertemuan 9Algoritma&Pemrograman C++ Pertemuan 9
Algoritma&Pemrograman C++ Pertemuan 9
 
struktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdfstruktur-dasar-c++ OK.pdf
struktur-dasar-c++ OK.pdf
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1
 
Materi kuliah 03 pointer part 1
Materi kuliah 03   pointer part 1Materi kuliah 03   pointer part 1
Materi kuliah 03 pointer part 1
 
Pointer
PointerPointer
Pointer
 
Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointer
 
Bab 2 identifier dan tipe data
Bab 2 identifier dan tipe dataBab 2 identifier dan tipe data
Bab 2 identifier dan tipe data
 
Pertemuan5.ppt
Pertemuan5.pptPertemuan5.ppt
Pertemuan5.ppt
 

More from Menny SN

04 materi table
04 materi table04 materi table
04 materi tableMenny SN
 
03 materi form
03 materi form03 materi form
03 materi formMenny SN
 
02 materi dasar html
02 materi dasar html02 materi dasar html
02 materi dasar htmlMenny SN
 
01 pengenalan dasar internet
01 pengenalan dasar internet01 pengenalan dasar internet
01 pengenalan dasar internetMenny SN
 
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...Menny SN
 
Algoritma&Pemrograman C++ Operasi string
Algoritma&Pemrograman C++ Operasi stringAlgoritma&Pemrograman C++ Operasi string
Algoritma&Pemrograman C++ Operasi stringMenny SN
 
Algoritma&Pemrograman C++ Statemen kendali
Algoritma&Pemrograman C++ Statemen kendaliAlgoritma&Pemrograman C++ Statemen kendali
Algoritma&Pemrograman C++ Statemen kendaliMenny SN
 
Algoritma&Pemrograman C++ Pertemuan 12
Algoritma&Pemrograman C++ Pertemuan 12Algoritma&Pemrograman C++ Pertemuan 12
Algoritma&Pemrograman C++ Pertemuan 12Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 7
Algoritma&Pemrograman C++ Pertemuan 7Algoritma&Pemrograman C++ Pertemuan 7
Algoritma&Pemrograman C++ Pertemuan 7Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 6
Algoritma&Pemrograman C++ Pertemuan 6Algoritma&Pemrograman C++ Pertemuan 6
Algoritma&Pemrograman C++ Pertemuan 6Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Menny SN
 
Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Menny SN
 
Algoritma dan pemrograman dengan C++ Pertemuan 2
Algoritma dan pemrograman dengan C++ Pertemuan 2Algoritma dan pemrograman dengan C++ Pertemuan 2
Algoritma dan pemrograman dengan C++ Pertemuan 2Menny SN
 

More from Menny SN (15)

04 materi table
04 materi table04 materi table
04 materi table
 
03 materi form
03 materi form03 materi form
03 materi form
 
02 materi dasar html
02 materi dasar html02 materi dasar html
02 materi dasar html
 
01 pengenalan dasar internet
01 pengenalan dasar internet01 pengenalan dasar internet
01 pengenalan dasar internet
 
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
 
Algoritma&Pemrograman C++ Operasi string
Algoritma&Pemrograman C++ Operasi stringAlgoritma&Pemrograman C++ Operasi string
Algoritma&Pemrograman C++ Operasi string
 
Algoritma&Pemrograman C++ Statemen kendali
Algoritma&Pemrograman C++ Statemen kendaliAlgoritma&Pemrograman C++ Statemen kendali
Algoritma&Pemrograman C++ Statemen kendali
 
Algoritma&Pemrograman C++ Pertemuan 12
Algoritma&Pemrograman C++ Pertemuan 12Algoritma&Pemrograman C++ Pertemuan 12
Algoritma&Pemrograman C++ Pertemuan 12
 
Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 10
 
Algoritma&Pemrograman C++ Pertemuan 7
Algoritma&Pemrograman C++ Pertemuan 7Algoritma&Pemrograman C++ Pertemuan 7
Algoritma&Pemrograman C++ Pertemuan 7
 
Algoritma&Pemrograman C++ Pertemuan 6
Algoritma&Pemrograman C++ Pertemuan 6Algoritma&Pemrograman C++ Pertemuan 6
Algoritma&Pemrograman C++ Pertemuan 6
 
Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 5
 
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3
 
Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1Algoritma&Pemrograman C++ Pertemuan 1
Algoritma&Pemrograman C++ Pertemuan 1
 
Algoritma dan pemrograman dengan C++ Pertemuan 2
Algoritma dan pemrograman dengan C++ Pertemuan 2Algoritma dan pemrograman dengan C++ Pertemuan 2
Algoritma dan pemrograman dengan C++ Pertemuan 2
 

Recently uploaded

BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
contoh penulisan nomor skl pada surat kelulusan .pptx
contoh penulisan nomor skl pada surat kelulusan  .pptxcontoh penulisan nomor skl pada surat kelulusan  .pptx
contoh penulisan nomor skl pada surat kelulusan .pptxHR MUSLIM
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 

Recently uploaded (20)

BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
contoh penulisan nomor skl pada surat kelulusan .pptx
contoh penulisan nomor skl pada surat kelulusan  .pptxcontoh penulisan nomor skl pada surat kelulusan  .pptx
contoh penulisan nomor skl pada surat kelulusan .pptx
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 

MENGENAL_POINTER

  • 2. POINTER 8/5/2017 Menny cendana25.blogspot.com Mengenalkan pointer untuk mengakses data. Diharapkan mahasiswa dapat mengerti pointer untuk berbagai kepentingan pemrograman MATERI
  • 3. Pointer adalah variabel yang berisi alamat suatu data. Hal ini yang membedakan pointer dengan variabel non pointer data(bukan alamat data) 8/5/2017 Menny cendana25.blogspot.com Int p; // non pointer Int *p; //pointer
  • 4. Ya, pointer memang berisi alamat. Melalui hal ini, dimungkinkan untuk mengubah isi argument pada pemanggilan fungsi oleh fungsi. Selain itu pointer memungkinkan pembuatan struktur seperti antrian ataupun senarai berantai, yang memungkinkan data dapat ditambah atau di kurangi secara dinamis 8/5/2017 Menny cendana25.blogspot.com Cara menggunakan pointer POINTER berisi alamat ? Manfaatnya apa ? Cara mendeklarasikan pointer dan mengisikan nilai ke dalam variabel pointer. Deklarasi pointer sebagai berikut: Tipe *variabelpointer
  • 5. Contoh: 8/5/2017 Menny cendana25.blogspot.com Int *pbil; Contoh ini menyatakan pointer pbil yang akan menunjuk data bertipe int Int bilx = 77; Akses melalui pointer Akses melalui non-pointer *pbil=32; Bilx = 32; *pbil = *pbil-2 Bilx= bilx-2 Cout<< *pbil<<endl; Cout <<bilx <<endl; Cin>> *pbil; Cin >> bilx; Pengaksesan data melalui variabel pointer dan no-pointer
  • 6. latihan 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int *pBil; int bilX = 77; pBil = &bilX; cout << "Isi bilX = " << bilX << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; *pBil = *pBil + 3; cout << "Isi bilX sekarang = " << bilX << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; return 0; }
  • 7. Apakah isi pointer bissa ditempilkan dengan cout ? Ya, daapat di lihat pada contoh program berikut ini : 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int *pBil; int bilX = 77; pBil = &bilX; cout << "Isi pBil = " << pBil << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; return 0; }
  • 8. Mengubah nilai argumen fungsi melalui pointer. Ya, dapat dilihat pada contoh program berikut: 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; void ubah(int *x); int main() { int arg = 12; cout << "isi arg semula = " << arg << endl; ubah(&arg); cout << "isi arg sekarang = " << arg << endl; return 0; } void ubah(int *x) { *x = 34; }
  • 9. Apakah pointer bisa digunakan untuk menunjuk string ? YA, Namun karena STRING terbagi atas 2 macam maka penganganannya juga berbeda. 8/5/2017 Menny cendana25.blogspot.com J 0ZZA Array Karakter: data Char *musik=data; Jazz String yang ditunjuk ileh pointer musik String *musik=new string(“JAZZ”);
  • 10. Pada array karakter, cara untuk mengakses isi array melalui pointer ? Untuk kepentingan ini kita membutuhkan 2 buah pointer , tujuannya adalahagar salah satuh pointer tetap menunjukke awal string, sedangkan pointer yg kedua bisa digesr untuk menunjukkarakter yg diakses; contoh program berikut : 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { char data[] = "Jazz"; char *musik = data; char *tmp; // Pointer yang menunjuk ke char tmp = musik; // Pointer tmp menunjuk ke data // yang ditunjuk oleh musik int indeks = 0; while (tmp[indeks]) { cout << tmp[indeks] << endl; indeks++; } return 0; }
  • 11. 8/5/2017 Menny cendana25.blogspot.com musik J 0ZZA temp while (tmp[indeks]) { cout << tmp[indeks] << endl; indeks++; } Temp [0] Temp [1] Temp [2] Temp [3] Temp [4]
  • 12. Contoh lain program untuk mengakses karakter yg ditunjuk pointer: 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { char data[] = "Jazz"; char *musik = data; char *tmp; // Pointer yang menunjuk ke char tmp = musik; // Pointer tmp menunjuk ke data // yang ditunjuk oleh musik int indeks = 0; while (*tmp) { cout << *tmp << endl; tmp++; } return 0; }
  • 13. Contoh program yang terdiri dari elemen-elemen array bertipe int 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int bilangan[] = {77, 66,55, 44, 33, 22, 11}; int *ptr = bilangan; int jumData = sizeof(bilangan) / sizeof(int); cout << "Cara pertama:" << endl; for (int i = 0; i < jumData; i++) cout << *(ptr + i) << endl; cout << "Cara kedua:" << endl; for (int i = 0; i < jumData; i++) cout << ptr[i] << endl; return 0; }
  • 14. Dapatkah suatu array berisi pointer ? Cth: string *mermobil[5] 8/5/2017 Menny cendana25.blogspot.com HONDA MITSUBISHI KIA HYUNDAI TOYOTA Array merkmobil Tipe string
  • 15. Contoh program 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { string *merkMobil[5]; // Pengisian ke pointer merkMobil[0] = new string ("Honda"); merkMobil[1] = new string("Hyundai"); merkMobil[2] = new string("Kia"); merkMobil[3] = new string("Mitsubishi"); merkMobil[4] = new string("Toyota"); for (int i = 0; i < 5; i++) cout << *merkMobil[i] << endl; return 0; }
  • 16. Apa yang dimaksud dengan pointer 0 ? Adalah pointer yg tidak menunjuk ke data manapun. Nilainya diisi dengan nol atauNULL contoh: int *p; p=0; 8/5/2017 Menny cendana25.blogspot.com Pointer yang menunjuk ke suatu fungsi adalah untuk melewatkan fungsi sebagai argumen. Dalam argumen fungsi pointer yg menunjuk ke fungsi ditulis dengan bentuk : Tipe (*fungsi)(argumen1, argumen2…) Perhatikan contoh program berikut ini:
  • 17. 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; // Prototipe int penjumlahan (int a, int b); int pengurangan (int a, int b); int operasi (int x, int y, int (*panggilFungsi)(int,int)); int main () { int m,n; int (*minus)(int,int) = pengurangan; m = operasi (7, 5, penjumlahan); n = operasi (20, m, minus); cout << n; return 0; } int penjumlahan (int a, int b) { return (a+b); } int pengurangan (int a, int b) { return (a-b); } int operasi (int x, int y, int (*panggilFungsi)(int,int)) { int hasil; hasil = (*panggilFungsi)(x,y); return (hasil); }
  • 18. Pointer yang munjuk ke pointer: 8/5/2017 Menny cendana25.blogspot.com ptr1 ptr2 Just the way you are Pointer ptr1 menunjuk ke pointer ptr2 Contoh program berikut ini:
  • 19. 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { string lagu = "Just The Way You Are"; string *ptr2; // satu tanda * string **ptr1; // dua tanda ** // Buat hubungan antara pointer dan data // yang ditunjuk ptr2 = &lagu; ptr1 = &ptr2; // Tampilkan data cout << "Via ptr2: " << *ptr2 << endl; cout << "Via ptr1: " << **ptr1 << endl; return 0; }
  • 20. Pointer bisa menjadi nilai balik fungsi 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; char *posisiKar(char str[], char kar); int main() { char teks[] = {"Tes...tes...123"}; // Tampilkan mulai posisi pointer hingga // karakter null dijumpai char *ptr = posisiKar(teks, 't'); while (*ptr != '0') { cout << *ptr; ptr++; } cout << endl; return 0; } char *posisiKar(char str[], char kar) { char *ptr = str; do { if (*ptr == kar) break; ptr++; } while (*ptr != '0'); return ptr; }