Setelah pernyataan OPERASI FILE

4 ya va po be pe px y = y nil px y = se se y = Se tid Pr in in us 444 ang menya ariabeldata ointer px” . ertipe int, ernyataan be x = x; = px; akan berisi lai x. Kedua x = x; = px; ebenarnya d ebuah perny = x; eandainya dak terdapat Gambar 13. rogram 13.5 nclude stdio nclude iostre sing namespa atakan “isi yang dit Sebagai co maka se erikut nilai yang sa pernyataan dapat digant ataan berup pada progr pernyataan 10. Ilustrasi . Mengakse o.h eam.h ace std; atau nila tunjuk oleh ontoh jika y sudah dua ama dengan n di atas ikan dengan pa ram di atas n Kesalahan s isi suatu v ai h y a n n s px = x; namun t y = px; maka y px belu variabel diperhat melibatk diinisiali terjadi “bug” kompute hang. dan tip sejenis. terjadi Untuk berikut. Yang Terjad ariabel mela Direktorat terdapat per y tidaklah be um diatur a l x. Hal s tikan. K kan pointer, isasi, ada k masalah yang bias er tidak da Selain itu tip pe data yan Bila tidak s hasil yang lebih jelasn di Karena Ti alui pointer. t Pembinaan SM rnyataan erisi nilai x, agar menun seperti ini Kalau pr dan pointer kemungkinan yang dina s mengaki apat dikend pe variabel ng ditunjuk sejenis maka tidak diing nya lihat g pe Tidak Se MK | 2008 sebab juk ke harap rogram r belum n akan makan batkan dalikan pointer harus a akan ginkan. gambar ejenis 2008 | Direktorat Pembinaan SMK 445 main { int y, x = 87 ; int px; px = x; y = px; cout Alamat x = \n x; cout Isi px = \n px; cout Isi x = \n x; cout Nilai yang ditunjuk oleh px = \n px; cout Nilai y = \n y; } Mengakses isi suatu variabel melalui pointer. Tipe variabel pointer dan tipe data yang ditunjuk harus sejenis Program 13.6 include conio.h include iostream.h using namespace std; main { int pu; int nu; int u = 1234 ; pu = u; nu = pu; cout Alamat dari u = \n u; cout Isi pu = \n pu; cout Isi u = \n u; cout Nilai yang ditunjuk oleh pu = \n pu; cout Nilai nu = \n nu; getch; return ; } Program 13.7 include conio.h include iostream.h 446 Direktorat Pembinaan SMK | 2008 using namespace std; main { int z = 20 , s = 30 ; int pz, ps; pz = z; ps = s; pz += ps; cout z = \n z; cout s = \n s; getch; return ; } Program 13.8 include conio.h include iostream.h using namespace std; main { char c = Q; char char_pointer = c; cout \n c char_pointer; c = ; cout \n c char_pointer; char_pointer = ; cout \n c char_pointer; getch; return ; } Program 13.9 include conio.h include iostream using namespace std; int main { 2008 | Direktorat Pembinaan SMK 447 int x = 1 , y = 2 ; int ip; ip = x; y = ip; x = ip; ip = 3 ; cout x = x; cout y = y; getch; return ; }

13.5. Mengakses dan Mengubah isi Pointer

Program berikut memberikan gambaran tentang pengubahan isi suatu variable secara tak langsung yaitu melalui pointer. Mula-mula pd dideklarasikan sebagai pointer yang menunjuk ke suatu data bertipe float dan d sebagai variabel bertipe float. Selanjutnya d = 54.5; digunakan untuk mengisikan nilai 54,5 secara langsung ke variabel d. Adapun pd = d; digunakan untuk memberikan alamat dari d ke pd. Dengan demikian pd menunjuk ke variabel d. Sedangkan pernyataan berikutnya pd = pd + 10; atau: pd += 10; merupakan instruksi untuk mengubah nilai variabel d secara tak langsung. Perintah di atas berarti “jumlahkan yang ditunjuk pd dengan 10 kemudian berikan ke yang ditunjuk oleh pd”, atau identik dengan pernyataan d = d + 10; Akan tetapi, seandainya tidak ada instruksi pd = d; maka pernyataan pd = pd + 10; tidaklah sama dengan d = d + 10; Program 13.10 include conio.h include iostream 448 Direktorat Pembinaan SMK | 2008 using namespace std; main { float d = 54.5f , pd; cout Isi d mula‐mula = \n d; pd = d; pd += 10 ; cout Isi d sekarang = \n d; getch; return ; } Program 13.11 include conio.h include iostream using namespace std; main { int i1, i2, p1, p2; i1 = 9 ; p1 = i1; i2 = p1 2 ‐ 2 3 ; p2 = p1; cout i1= i1; cout i2= i2; cout p1= p1; cout p2= p2; getch; return ; } Program 13.12 include conio.h include iostream using namespace std; main {