>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:"< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_2.jpg", "name": "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: <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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_4.jpg", "name": "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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_5.jpg", "name": "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 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_6.jpg", "name": "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< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_7.jpg", "name": "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< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_8.jpg", "name": "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<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< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/4102357/12/slides/slide_10.jpg", "name": "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<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