>pAngka[i]; } cout<<"Angka yang Anda masukkan:"<

Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

POINTERS 1 Pemrograman Dasar. Memori Dinamis 2 Pada saat menggunakan array, kita sering terbatasi oleh jumlah elemen yang tidak dapat diubah. Dengan menggunakan.

Presentasi serupa


Presentasi berjudul: "POINTERS 1 Pemrograman Dasar. Memori Dinamis 2 Pada saat menggunakan array, kita sering terbatasi oleh jumlah elemen yang tidak dapat diubah. Dengan menggunakan."— Transcript presentasi:

1 POINTERS 1 Pemrograman Dasar

2 Memori Dinamis 2 Pada saat menggunakan array, kita sering terbatasi oleh jumlah elemen yang tidak dapat diubah. Dengan menggunakan pointer, masalah tersebut dapat diatasi. C++ menyediakan perintah new, new[], delete dan delete[] untuk mengatur pemakaian memori. Perintah new mengalokasikan memori, sedangkan perintah delete membebaskan memori. Perintah new dan delete digunakan untuk variabel biasa, sedangkan perintah new[] dan delete[] digunakan untuk array.

3 Contoh memori dinamis 3 int main () { int jumlah, i, total=0; int *pAngka; cout >jumlah; pAngka = new int[jumlah]; for (i=0; i>pAngka[i]; } cout<<"Angka yang Anda masukkan:"<

4 Pointer dan fungsi 4 Suatu fungsi dapat menerima argumen berupa referensi. Cara 1: tipeData namaFungsi (tipeData &argumen) { argumen = sesuatu; return sesuatu2; } Dipanggil dengan: namaFungsi(variabel); Cara 2: tipeData namaFungsi (tipeData *argumen) { *argumen = sesuatu; return sesuatu2; } Dipanggil dengan: namaFungsi(&pointer);

5 Pointer dan fungsi 5 string strToUpper(string str) { for (int i=0; i

6 Pointer dan fungsi 6 string strToUpper(string &str) { for (int i=0; i

7 Pointer dan fungsi 7 void strToUpper(string &str) { for (int i=0; i

8 Pointer dan fungsi 8 void strToUpper(string *str) { for (int i=0; i< (*str).length(); i++) { (*str)[i] = toupper( (*str)[i] ); } int main () { string nama = "Fandi Susanto"; strToUpper(&nama); cout<

9 Pointer dan fungsi 9 (*str).length() tidak sama dengan *str.length() *str.length() sama dengan *(str.length()) (*str).length() bisa juga ditulis str->length() void strToUpper(string *str) { for (int i=0; i length(); i++) { (*str)[i] = toupper( (*str)[i] ); } int main () { string nama = "Fandi Susanto"; strToUpper(&nama); cout<

10 Pointer dan struktur 10 Misalkan terdapat sebuah struktur: struct Mahasiswa { string NPM; string nama; }; Dan sebuah pointer Mahasiswa *pMhs Maka pernyataan (*pMhs).NPM ekivalen dengan pMhs->NPM yang berarti NPM dari struktur yang ditunjuk pointer pMhs. Berbeda dengan pernyataan *pMhs.NPM yang ekivalen dengan *(pMhs.NPM) yang berarti nilai yang ditunjuk oleh pMhs.NPM (pMhs.NPM harus berupa pointer ).

11 Contoh pointer ke struktur 11 struct Mahasiswa { string NPM; string nama; }; int main () { Mahasiswa mahasiswa1; Mahasiswa *pMahasiswa = &mahasiswa1; cout<<"Masukkan NPM mahasiswa: "; getline(cin,pMahasiswa->NPM); cout<<"Masukkan nama mahasiswa: "; getline(cin,pMahasiswa->nama); cout NPM<

12 Thank You for your attention 12 Thanks to: cplusplus.com Pemrograman C++ by Abdul Kadir Yoannita S.Kom & Hermawan S.Kom  Sumber slide


Download ppt "POINTERS 1 Pemrograman Dasar. Memori Dinamis 2 Pada saat menggunakan array, kita sering terbatasi oleh jumlah elemen yang tidak dapat diubah. Dengan menggunakan."

Presentasi serupa


Iklan oleh Google