Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
MEMORI DINAMIS 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.
#include <iostream> #include <conio.h> using namespace std; void main () { int jumlah, i, total=0; int *pAngka; cout<<"Masukkan jumlah bilangan : "; cin>>jumlah; pAngka = new int[jumlah]; for (i=0; i<jumlah; i++) { cout<<"Input angka ke-"<<i+1<<" : "; cin>>pAngka[i]; } cout<<"Angka yang Anda masukkan : "<<endl; cout<<pAngka[i]<<", "; total+=pAngka[i]; cout<<"\nTotalnya : "<<total<<endl; _getch();
POINTER & FUNGSI 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; dipanggil dengan : namaFungsi(&pointer);
Contoh Fungsi dengan Referensi #include <iostream> #include <conio.h> using namespace std; void ubahNilai(int &angka) { angka = 95; } void main() int nilai = 80; cout<<"Nilai mula-mula : "<<nilai<<endl; ubahNilai(nilai); cout<<"Nilai sekarang : "<<nilai; _getch();
Contoh Fungsi dengan Pointer #include <iostream> #include <conio.h> using namespace std; void ubahNilai(int *angka) { *angka = 95; } void main() int nilai = 80; cout<<"Nilai mula-mula : "<<nilai<<endl; ubahNilai(&nilai); cout<<"Nilai sekarang : "<<nilai; _getch();
Contoh Cara 1 #include <iostream> #include <conio.h> #include <string> using namespace std; string KAPITAL(string str) { for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } return str; void main () string nama = "Renni Angreni"; nama = KAPITAL(nama); cout<<nama<<endl; _getch();
Contoh Cara 2 #include <iostream> #include <conio.h> #include <string> using namespace std; void KAPITAL(string &str) { for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } void main () string nama = "Renni Angreni"; KAPITAL(nama); cout<<nama<<endl; _getch();
Contoh Cara 3 #include <iostream> #include <conio.h> #include <string> using namespace std; void KAPITAL(string *str) { for (int i=0; i<(*str).length(); i++) { (*str)[i] = toupper((*str)[i]); } void main () string nama = "Renni Angreni"; KAPITAL(&nama); cout<<nama<<endl; _getch();
Contoh Cara 4 #include <iostream> #include <conio.h> #include <string> using namespace std; string KAPITAL(string &str) { for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } return str; void main () string nama = "Renni Angreni"; KAPITAL(nama); cout<<nama<<endl; _getch();
Contoh Cara 5 #include <iostream> #include <conio.h> #include <string> using namespace std; void KAPITAL(string *str) { for (int i=0; i< str->length(); i++) { (*str)[i] = toupper((*str)[i]); } void main () string nama = "Renni Angreni"; KAPITAL(&nama); cout<<nama<<endl; _getch();
LATIHAN Buatlah sebuah program C++ yang berisi sebuah fungsi untuk mengubah seluruh huruf dalam sebuah string menjadi sama dalam bentuk huruf kecil. Untuk fungsi gunakan pointer. Buatlah sebuah program C++ dengan fungsi untuk mengembalikan nilai hasil perkalian dari input dua bilangan oleh user dengan menggunakan pointer.
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.