AJIBLOG

Menulis Blog Adalah Salah Satu Hobi Saya di Waktu Luang dan Sebagai Catatan Eksperimen Tentang Informasi dan Teknologi , Silahkan Share , Subscribe dan Komen Jika Anda Suka Artikel saya ini, anda juga dapat menuliskan masalah yang anda alami pada saat mengikuti artiker diatas pada kolom komentar dibawah ini

Jumat, 19 Mei 2017

Belajar C++ Struktur Data - Pointer Dan { Array, String, Pointer, Fungsi }

Pointer

Sebuah pointer adalah tipe khusus dari variabel yang menyimpan alamat dalam memori dari variabel lain dan dapat digunakan untuk memanipulasi variabel. Secara umum, setiap kali variabel yang digunakan dalam C ++, itu harusnya ada di suatu tempat di memori komputer dan pointer dapat menyimpan lokasi variabel tertentu.

Array

Variabel Larik atau lebih dikenal dengan array adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang lainnya. Variabel array dalam C++, dapat digolongkan menjadi dua buah dimensi yaitu Array Berdimensi Satu dan Array multi dimensi.

Pointer ke Array diantaranya adalah banyak loncatan dari pointer satu ke pointer yang lain. karena se
cara internal array juga menyatakan alamat, yaitu pengenal array sama dengan alamat pada elemen pertama, pada array.

Contoh Program : 

#include <iostream> //file header input output
using namespace std; //mengunakan namespace std
int main(void){ //fungsi  utama yang dijalankan program
    int data[] = {32,31,66}; //deklarasi array data dan isi data
    int *point; //deklarasi pointer
    point = data; //memasukan data ke pointer
    cout<<"Mengakses array dengan pointer : "<<*(point + 1)<<endl; //mengakses data dengan pointer
    return 0; //mengembalikan nilai 0 dari program
}

Hasil Program : 



String 

Operasi string selalui dijumpai di dalam bahasa pemrograman, dikarenakan hampir semua bahasa pemrograman menggunakan manual inputnya adalah string, terutama pada pemrograman visualisasi. String adalah sederetan simbol yang tidak menentu panjangnya, yang dianggap sebagai panjang satu unit. String dapat berupa angka, huruf, karakter khusus, maupun karakter Unicode.

Pointer ke string yaitu menyimpan nilai char dalam bentuk pointer seperti contoh baris program dibawah ini.

Contoh Program :

#include <iostream> //file header input output
using namespace std; //mengunakan namespace std
int main(void){ //fungsi  utama yang dijalankan program
    char *nama = "Ini Nama Saya"; //deklarasi pointer dalam bentuk char dan memasukan data dalam bentuk string
    cout<<nama; //mengakses pointer untuk mengeluarkan nilai string 
    return 0; //mengembalikan nilai 0
}

Hasil Program :



Pointer To Pointer

Tidak terbatas menunjuk alamat dari suatu variabel, pointer dapat pula menunjuk ke pointer lainnya. Didalam pendeklarasianya, hanya menambahkan pointer reference ( * ) pada variabel yang akan ditunjuk.
Contog Program : 
#include <iostream> //file header input output
using namespace std; //mengunakan namespace std
int main(void){ //fungsi  utama yang dijalankan program
    int angka = 10; //deklarasi variable angka dengan nilai 10
    int *point; //deklarasi pointer point
    int **pointpoint; //deklarasi pointer pointpoint yang akan diisi pointer point
    point = &angka; //pengisian pointer point dengan alamat angka
    pointpoint = &point; //pengisian pointer pointpoint dengan alamat pointer point
    cout<<**pointpoint; //mengkases nilai angka dari pointer ke pointer
    return 0; //mengmbalikan nilai 0
}

Pointer pada Fungsi

Pointer dapat juga digunakan sebagai parameter pada sebuah fungsi. Parameter ini akan bersifat by reference. Artinya yang dikirimkan sebagai parameter adalah alamat variabelnya, bukan nilainya. Jadi, perubahan nilai yang terjadi di dalam fungsi, akan mengubah juga nilai dari variabel yang alamatnya kita kirimkan. Agar lebih jelas penggunaannya, lihatlah contoh di bawah ini.

Contoh Program :
#include <iostream> //file header input output
using namespace std; //menggunakn namespace std
int tambah(int *); //deklarasi fungsi tambah
int main(void){ //fungsi utama yang akan dieksekusi
    int x = 3; //deklarasi variable x dengan nilai x
    cout<<x<<endl; //mengeluarkan nilai x
    tambah(&x); //memangil fungsi tambah
    cout<<x; //mengeluarkan nilai x
    return 0; //mengembalikan nilai 0
}
int tambah(int *x){ //fungsi tambah 
    *x = 3 + *x; //menjumlahkan pointer x dengan 3
}

Hasil Program :



Source Code & Program - Contoh Kasus

Program dibawah ini menggunakan semua fungsi fungsi diatas seperti pointer dan array string pointer dan fungsi:

#include <iostream> //file header untuk input output
using namespace std; //mengunakan namaspace std
int naikan(int *); //deklarasi fungsi naikan
int main(void){ //fungsi utama program yang akan dijalankan
    int kum_nilai[] = {10,20,30,40,50,60,70,80,90,100}; //deklarasi array kum_nilai
    int nilai; //deklarasi nilai
    char *nama = "Aji Kamaludin"; //deklarasi pointer char nama
    int *akses; //deklarasi pointer akses
    int *point; //deklarasi pointer point
    int **pointpoint; //deklarasi pointer ke pointer pointpoint
    akses = kum_nilai; //memasukan kum_nilai ke akses
    nilai = *akses; //mengakses array dengan pointer
    point = &nilai; //memasukan yang diambil nilai ke point
    naikan(point); //memanggil fungsi naikan()
    pointpoint = &point; //memasukan nilai point ke point point
    cout<<"Nama : "<<nama<<", Mendapatkan Nilai : "<<**pointpoint; //mengeluarkan hasil 
    return 0; //mengembalikan nilai 0
}
int naikan(int *point){ //fungsi naikan 
    *point = 90 + *point; //menaikan nilai
}

Hasil Program : 


Download PDF Kumpulan Laporan Struktur Data disini : https://drive.google.com/drive/folders/0BwweuGyQqkVJV2ZSSUpSZDMzcGM?usp=sharing

Tidak ada komentar:

Posting Komentar

Footer Ads

Like , Comment , Follow Blog Saya ...

Label

LinuxMint/Ubuntu (73) BLC-Telkom (33) Kegiatan (26) Debian (23) Tool (17) Kumpulan Tugas (12) Mikrotik (10) CentOS7 (8) Coding PHP (7) CentOS6 (6) Google (6) IDE (3) IPFire (3) Raspberry PI (3) github (3) NodeJS (2) Virtualisasi (2) Windows (2) GIS (1) Vuejs (1)

Contact us

Nama

Email *

Pesan *