Selasa, 30 Oktober 2018

Pointer dan Array


Pointer dan Array


Salam programmers!


Setelah kita mengetahui tentang beberapa tipe data yang ada di dalam Bahasa C dan juga sintaks-sintaks dasarnya, maka sekarang kita akan mulai sedikit lebih advance lagi dalam memahami Bahasa C.

Terdapat beberapa perbedaan antara Bahasa C dengan Bahasa program lainnya, salah satunya adalah tipe data string. Pada beberapa Bahasa program lain seperti Java, mereka memiliki tipe data string yang dapat dipanggil secara langsung tanpa perlu perantara. Namun, pada Bahasa C sendiri kita tidak ada tipe data string yang berdiri sendiri melainkan namanya disebut dengan array.

1. ARRAY

Array merupakan sekumpulan huruf atau angka yang dijadikan atau dianggap menjadi satu data. Sebagai contoh :
Jika kita menggunakan tipe data char seperti berikut,

#include<stdio.h>

int main(){
                char huruf = “Hello”;
                printf(“%c”, huruf);        
               
                return 0;
}

Maka hasil dari kodingan tersebut akan error. Alasannya adalah bahwa jika kita menggukan tipe data char, maka compiler hanya akan membaca dan membolehkan kita menginput 1 karakter saja. Sedangkan, dalam kodingan tersebut kita memasukkan kata “Hello” yang terdiri lebih dari 1 karakter atau huruf. Nah di saat seperti ini lah kita membutuhkan tipe data array of character yang di mana tipe data char berubah menjadi tipe data yang dapat menyimpan kumpulan karakter atau yang disebut dengan tipe data string.
Sintaks dari array of character ini adalah dengan menambahkan tanda “[ ]”kurung kotak seperti itu lalu memasukkan angka di dalamnya. Angka tersebut berguna sebagai ruang atau batas dari berapa banyak karakter yang kita ingin masukkan. Contoh :

#include<stdio.h>

int main(){
                char huruf [6] = “Hello”;
                printf(“%s”, huruf);        
               
                return 0;
}

Output dari kodingan di atas adalah “Hello”. Dalam kodingan tersebut, saya memasukkan batas dari array nya adalah 6. Mengapa harus 6? Apa boleh lebih? Jawabannya ya. Kita dapat memasukkan angka lebih dari itu dengan batas maksimal yaitu 10^6 seperti data string atau data integer. Dalam array of character, setiap huruf terhitung mulai dari array 0. Sebagai contoh, kata “Hello” pada kodingan di atas memiliki jangkauan array dari 0-4. Jadi huruf [0] = H; huruf [1] = e; huruf [2] = l; huruf [3] = l; huruf [4] = o. Maka jika kita ingin printf satu huruf saja dari array of character, kita cukup panggil urutan dari angka tersebut. Contoh jika kita ingin print huruf e maka :

Printf(“%c”, huruf[1]);

Maka yang muncul nanti hanyalah huruf e saja. Karena kita memanggil dalam bentuk char maka persennya pun ikut berubah menjadi %c kembali.

2. POINTER

Pointer merupakan salah satu tipe variable yang di mana berfungsi sebagai penunjuk dari suatu variable. Sebagai contoh secara logika, jika kita ingin memanggil nama orang, lalu kita menunjuk orang lain untuk memanggil nama orang yang ingin kita panggil. Secara gak langsung ketika orang yang kita tunjuk itu memanggil nama orang yang ingin kita panggil maka tujuan kita pun juga sesuai dengan yang kita tunjuk itu. Dalam kodingannya pointer biasanya di tandai dengan ‘*’ sebelum nama variabelnya. Contoh :

#include<stdio.h>

int main(){
               
                int huruf = 10;
                int* pointer;

                pointer=&huruf;
                printf("%d", pointer);
                printf("%d", *pointer);
                printf("%d", &pointer);
               
                return 0;
}

Maka outputnya menjadi sebagai berikut :


Pada output pertama, ini disebut dengan address dari variable huruf. Mengapa bisa terjadi? Karena pada awal sebelum kita printf terdapat kodingan “pointer=&huruf;” ini artinya bahwa pointer memiliki nilai yaitu address dari variable huruf. Sehingga jika kita print “pointer” maka akan muncul address dari variable yang ditunjuk.

Pada output dua, terdapat angka 10 yaitu nilai dari variabel huruf. Artinya adalah bahwa jika kita menggunakan pointer dan ingin printf nilai variabel yang ditunjuk adalah cukup dengan menambahkan “*” sebelum variabel pointer kalian.

Pada output ketiga, ini merupakan address dari variabel pointer itu sendiri karena di saat kita printf kita memanggil dengan symbol “&” yaitu address of atau alamat dari.

Mungkin itulah sekilas dari materi tentang pointer dan array. Semoga bermanfaat untuk kita semua.

Salam programmers!

Tidak ada komentar:

Posting Komentar