Cari Blog Ini

Selasa, 26 Februari 2019

POINTER C++


POINTER

A. Pengertian Pointer
       Pointer adalah penunjuk suatu variabel. Karena menunjuk suatu variabel, maka pointer wajib memiliki alamat dari variabel yang ditunjuknya. Kadangkala dalam program yang besar, penghematan memori wajib untuk dilakukan. Dengan mekanisme copy dan paste nilai variabel satu kedalam variabel lain, akan sangat memboroskan memori. Dengan mekanisme pointer, suatu variabel dalam suatu fungsi dapat diakses oleh fungsi yang lain. Sebenarnya pointer hanyalah sebuah variabel biasa yang tidak biasa. Bedanya, jika variabel biasa menyimpan sebuah nilai, pointer menyimpan address. Apa itu address ? Sebenarnya CPU tidak mengenal huruf, atau nama. Komputer hanya menyimpan sebuah nilai dalam bentuk yang kita sebut address yang biasanya berbentuk heksadesimal. Sebenarnya bisa mengetahui letak address suatu variabel.
 

Variabel yang merupakan pointer ke pointer harus dinyatakan seperti itu. Ini dilakukan dengan menempatkan tanda bintang tambahan di depan namanya. Sebagai contoh, berikut ini adalah deklarasi untuk mendeklarasikan pointer ke pointer bertipe integer.
B. Fungsi Pointer
       Ada beberapa cara untuk memindahkan data atau mentransfer data dari satu fungsi ke fungsi lain. Tentu cara paling sederhana adalah dengan memindahkan data itu sendiri sebagaimana biasanya. Namun ada saatnya cara ini tidak efisien apabila jumlah data yang dipindahkan sangat besar sehingga memakan memory double. Disinilah gunanya pointer, daripada memindahkan datanya lebih baik hanya mengirim address nya saja sehingga fungsi lain tersebut dapat merujuk ke address tersebut untuk mendapatkan nilai datanya. Fungsi lain dari Pointer Biasanya fungsi hanya dibekali kemampuan  untuk memakainya saja . Bagaimana jika fungsi tersebut ingin diberi kemampuan untuk mengubah nilai data yang melewatinya ? Pakai pointer.
Pendeklarasian pointer :
Contoh Program dan hasil running nya  
 
 


C. Alamat Dari Variabel Pointer

     Misalkan memiliki variabel x dan terletak di memori 0x000001. Jika ingin memasukkan nilai 100 kedalam variabel x, maka processor harus membawa nilai 100 tersebut kedalam variabel x yang terletak di alamat memori 0x000001. Hal yang perlu duketahui adalah, setiap variabel ternyata memiliki ukuran byte yang berbeda-beda dalam memori. Contoh suatu variabel bertipe int memiliki ukuran 4 byte dalam memori. Maka variabel tersebut akan menempati 4 kapling lokasi dalam memori, misalkan 0x000001, 0x000002, 0x000003, dan 0x000004. Jika terdapat dua buah variabel bertipe integer yang bersebelahan, maka alamat variabel pertama terletak di 0x000001 dan variabel kedua terletak dialamat 0x000005.
       Memori menggunakan bilangan heksadesimal yang ditandai dengan awalan ‘0x’, sehingga jika suatu variabel menempati blok kesepuluh dalam memori, maka alamatnya adalah 0x00000a.

D. Pointer Sebagai Parameter Suatu Fungsi
     Seperti halnya dengan array, pointer dapat digunakan sebagai parameter suatu fungsi. Karena sifat pointer yang hanya sebagai penunjuk, maka setiap perubahan yang terjadi pada parameter, sebenarnya terjadi pada variabel yang ditunjuk bukan pada variabel pointer. Contoh program dan hasil running nya sebagai berikut. 
 
 

Pada Program diatas. Saya membuat fungsi tambah, dimana ketika alama suatu variabel diberikan sebagai parameter fungsi, nilai 20 akan ditambahkan pada alamat tersebut. Perbedaan parameter berupa pointer dan non-pointer adalah, pada variabel non-pointer, ketika ingin memasukkan nilai pada sebuah variabel kedalam parameter, kamu harus memasukkan nilai dari variabel tersebut. Untuk parameter berupa pointer, kamu cukup memasukkan alamat variabel yang menampung nilai dengan operator (&) kedalam parameter fungsi.

E. Pointer dan Array
       Jika menuliskan sebuah array tanpa tanda kurung kotak ([]) maupun indeksnya, maka array tersebut menunjuk atau berisi alamat elemen pertama dari array tersebut. Contohnya jika ingin membuat sebuah pointer bertipe integer dengan nama pointerArray dan sebuah array dengan tipe yang sama yaitu int dengan nama nilaiArray, maka pemberian nilai berikut sah dan dapat dilakukan:
 
Dari sintaks di atas, variabel pointer dengan nama pointrArray sekarang menunjuk pada alamat memori elemen pertama array dengan nama nilaiArray. Nah secara tidak langsung kita dapat mengakses nilai elemen array dengan menggunakan variabel pointer. Contoh Program dan hasil running nya:
 
 

F. Reference (*) dan Deference (&)
Reference (*) merupakan suatu operator yang berfungsi menyatakan suatu variabel adalah variabel pointer. Sama halnya dengan operator deference, peletakan simbol operator reference diletakan diawal variabel. Operator reference ini akan membuat suatu variabel pointer untuk menampung alamat. Sedangkan Deference (&) adalah merupakan suatu operator yang berfungsi untuk menanyakan alamat dari suatu variabel. Apabila ingin memberikan simbol & pada awal variabel dan mencetak hasilnya pada jendela CLI, maka yang akan tercetak adalah alamat dari variabel tersebut bukan nilai yang ditampung oleh variabel tersebut.


DAFTAR PUSTAKA

sinauarduino. (2016, April 27). pointer pada pemrograman C++. Retrieved from Sinauarduino: https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/

RIDHO RAMADHAN
1801301095
TERIMAKASIH!
 

 

 

 




 

Sabtu, 16 Februari 2019

Pembahasan dan contoh STRUKTUR ARRAY



STRUKTUR ARRAY

A.  Pengertian Struktur Array
     Dalam pemrogaman ada beberapa macam bahasa pemrogaman. Salah satunya adalah bahasa pemrogaman C++. Dalam bahasa pemrogaman C++ terdapat penggunaan variabel array. Namun penggunaan array tidak hanya pada pemrogaman, array juga banyak digunakan untuk berbagai macam struktur data, seperti database. Struktur adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan, sedangkan Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array. Letak urutan dari elemen-elemen array di tunjukkan oleh suatu subscript atau indeks. Array difunakan untuk menyimpan suatu data dengan type data tertentu dan kumpulan loker didalam array tersebut mempunyai nomer urut yang dimulai dari 0,1 dan seterusnya.
     Jadi dapat disimpulkan Struktur Array adalah organisasi kumpulan data homogen yang ukuran atau jumlah elemenmaksimumnya telah diketahui dari awal. Array umumnya disimpan di memorikomputer secara kontigu (berurutan) .
B.   Bentuk dari Aray
1.  Array Satu Dimensi
Array satu dimensi yaitu kumpulan elemen-elemen identik yang hanya terdiri dari satu baris atau hanya satu kolom saja alamat penyimpanan data (indeks). Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.
Bentuk umum :
Tipe_data namaArray[n] = {elemen0, elemen1, elemen2,…..,n};
n = jumlah elemen
2.  Array Dua Dimensi
Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kilom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen bertipe sama sehingga dapat digambarkan sebagai berikut :
Bentuk umum :
Tipe_data namaArray [m][n] = {{a,b,…z},{1,2,…,n-1}};
3.  Array MultiDimensi/ tiga dimensi
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Bentuk umum pendeklarasian array multidimensi :
Tipe_data namaArray[ukuran1][ukuran2]…[ukuranN];
C.  Kelemahan dan Kelebihan Array
1) Kelebihan array sebagai berikut :
> Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
> Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen peberus.
> Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat efisien.
2) Kekurangan Array sebagai be Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut :
1. Array harus bertipe homogen, kita tidak dapat mempunyai array dimana satu elemenadalah karakter, elemen yang lain adalah bilangan atau tipe lain.
2.   Kebanyakan bahasa pemrogaman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis :
a.   Tidak efisien dalam penggunaan memory.
b.   Menyiakan banyak waktu komputasi.
c.   Pada suatu aplikasi, representasi statis tidak dimungkinkan.

Contoh Program Array 2 dimensi :















Hasil running yang kita dapat gaesss!!!










Kalo gambar nya kurang jelas saat melihat secara biasa. Anda bisa langsung mengklik gambar nya , dan nanti akan keluar gambar dengan jelas. 


Kunjungi blog kita yang lain gaessss!!!


Ridho Ramadhan, 17 Februari 2019
NIM : 1801301095


TERIMAKASIH

Pembahasan dan Contoh STRUCT C++



STRUCT

A. Pengertian Struct
       Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan tipe yang berlainan yang bernaung dalam satu nama yang sama. Struktur biasa digunakan untuk mengelompokkan beberapa informasi yang berkaitan dengan sebuah kesatuan, atau biasanya disebut dengan record. Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct itu sendiri. Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct.
B. Deklarasi Struct
       Untuk mempermudah pemahaman tentang struct maka kita masuk pada contoh berikut agar pemahaman kita terhadap struct dapat kita pahami dengan mudah. Struct bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Buah. Struct Buah memiliki property atau atribut atau variabel yang melekat padanya:
1.    Rasa yang berupa karakter (type data nya seperti : string, char)
2.    Warna yang berupa karakter (type data nya seperti : string, char)
3.    Berat yaitu bilangan pecahan (type data nya adalah float)
4.    Harga yaitu bilangan bulat (type data nya adalah integer)
       Struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Misalnya :
1.    Variabel Jeruk bertipe struct Buah
       Dengan demikian variabel Jeruk memiliki Berat, warna, rasa, dan harga masing-masing.
2.    Cara penggunaan struct dan pengaksesan elemen-elemennya:
       Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang     bertipe data struct tersebut Pengaksesan elemen struct dilakukan secara individual dengan    menyebutkan nama variabel struct diikuti dengan operator titik (.) Misalnya dengan struct      mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh     gambar screenshot berikut ini :


Hasil running yang kita dapat gaesss!!!





Kunjungi blog kita yang lain gaessss!!!









Ridho Ramadhan, 17 Februari 2019

NIM : 1801301095






TERIMAKASIH