Sekarang kita sudah sampai pertemuan ke-5, yaitu pertemuan mengenai pointer dan array. Pertama-tama mari saya jelaskan tentang pointer dulu.
Seperti yang kemarin diajarkan, pointer dari katanya ‘point‘ artinya menunjukkan. Maka guna dari pointer iyalah menunjukkan alamat yang dituju, seperti contoh:
int A,P;
A=5;
P=&A; //lambang “&” disini adalah tujuan alamatnya
*P=30; //lambang “*” disini artinya pointer
Maka secara otomatis, bila kita printf(“%d”,A). Yang akan muncul ialah 30.
Lebih tepatnya saya jelaskan dengan diagram ini
Bagian atas ialah alamatnya (2009-2011 dst) dan alamat tersebut random, dari komputer.
Bawahnya itu isinya, kita dapat lihat bahwa di tmpt P, diisi dengan alamat A
Jadi, saya sebutnya itu cara zig zag, dimana dicek dulu isi P. Ternyata isi P itu alamat A, maka dicek alamat A isinya apa. Dan ternyata isinya itu ialah 5. Tetapi karena kita ubah *P=30, maka otomatis nilai dalam A tersebut juga ikut keganti.
Uniknya, dipointer itu bisa pointer ke pointer, alhasil seperti ini :
A=5;
P=&A;
PP =&P;
*P=30;
**PP=40; //lambang “**” disini adalah pointer ke pointer, maka kita tulis 2.
Sekian pointer~
Sekarang kita lanjut ke “Array”. Array itu berfungsi untuk menyewa tempat, seperti gambar yang diatas. Cnth, saya memasukkan int array[10]; maka akan disewa 10 kotak seperti yang diatas. Jadi gunanya tuh, seperti kita tidak erplu ketik 1-1 kayak nilai1,nilai2,nila3…. dan seterusnya. Itu merupakan salah satu contoh penggunaan array. Dan ciri khas coding array ialah, bila kita menyewa seperti cnth : array[10]. Maka dihitung dari array[0],array[1] – array[9]. Jadi mulai hitungnya dari 0.
Kita bisa menentukkan nilai array dari awal, seperti array[5]={2,4,6,8,10};
Maka artinya, array[0]=2 lalu array[1]=4 dan seterusnya.
Kita juga bisa menulisnya seperti array[ ]={5,6,7};
Maka artinya, array yang kita sewa total ialah 3. PENTING, kita harus menyatakan variabelnya langsung disitu. Jadi gak boleh ditinggal array[ ];
Contoh tipe penggunaan array :
int Arr1[10];
Arr1[10] = {1, 2, 3, 4, 5}; // error karena baru 5
Arr1 = {1, 2, 3, 4, 5}; // error karena gak ada “[ ]”
Arr1[10] = 12; // error max 9
Arr1[0] = 23; // ok
Array yang tadi saya jelaskan baru 1 dimensi, nanti ada array [x][y] yaitu 2 dimensi, yang saya gunakan untuk membuat tic-tac-toe. Ada array 3 dimensi, sampai n dimensi. (saya juga kurang ngerti bagaimana implementasinya :p)
Terima kasih telah membaca!