2. Jelaskan beberapa teknik mendeklarasikan string 3. Jelaskan dua metode menghitung panjang string
4. Jelaskan perbedaan operasi perbandingan pada string 5. Jelaskan perbedaan operasi penggabungan string menggunakan operator dan fungsi concat
6. Jelaskan apa yang dimaksud dengan palindrom 7. Jelaskan apa yang dimaksud dengan konversi data
8. Jelaskan fungsi yang digunakan untuk mengkonversi string ke integer 9. Jelaskan fungsi yang digunakan untuk mengkonversi string ke float
10. Jelaskan kegunaan fungsi LowerCase
Kompetensi Dasar:
Memahami konsep pointer Memodifikasi data melalui pointer
BAB 4. POINTER
Pada Bab sebelumnya telah dijelaskan mengenai variabel yang bertipe Array, suatu tipe data yang bersifat statis ukuran dan urutannya sudah pasti. Salah satu kelemahan data bertipe
array adalah bahwa variabel tersebut harus dideklarasikan terlebih dahulu dengan menyebutkan ukurannya. Dengan demikian ukuran variabel tersebut tidak dapat kita ubah selama program
dijalankan. Lalu bagaimanakah kalau kita akan membuat program untuk menangani data dalam jumlah yang besar? Bagaimana pula kalau jumlah datanya tidak diketahui sebelumnya?.
Bagaimana cara ruang memori yang dipakai oleh variabel tersebut dapat dihapus jika variabel tersebut tidak digunakan kembali..
Pertanyaan pertama mungkin dapat diselesaikan dengan memesan variabel array dengan ukuran sebanyak data yang akan dimasukkan. Tetapi sebenarnya ide ini belum tentu dapat
dijalankan terutama kalau implementasi programnya menggunakan bahasa yang mensyaratkan ukuran maksimum variabel dalam suatu program, seperti Pascal yang membatasi jumlah ukuran
semua variabel dalam suatu program tidak boleh melebihi 64 Kb. Sebagai contoh, berikut ini adalah deklarasi dalam Pascal yang akan ditolak:
1. var banyak : array[1..35000] of integer;
2. var larik : array[1..12000] of real;
3. var larik1 : array[1..30000] of char;
4. var larik2 : array[1..35000] of byte;
Pendeklarasian di atas akan ditolak oleh Pascal karena: 1.
ukuran variabel banyak adalah 35000 x 2 byte = 70000 byte 2.
ukuran variabel larik adalah 12000 x 6 byte = 72000 byte 3.
ukuran variabel larik1 = 30000 x 1 byte = 30000 byte dan ukuran variabel larik2= 35000 x 1 byte = 35000 byte, sehingga total ukuran kedua variabel adalah 65000 byte
Permasalahan kedua juga menyulitkan pemrograman. Bila kita alokasikan variabel dengan ukuran yang besar sementara nantinya data yang dipakai hanya sedikit maka ini berarti
pemborosan memori memori sudah dipesan tetapi tidak dipergunakan sedang bila dialokasikan dengan ukuran kecil sementara nantinya data yang digunakan cukup banyak sehingga deklarasi
yang dibuat tidak cukup maka tentunya permasalahan tidak akan terselesaikan. Untuk mengatasi permasalahan di atas, kita dapat menggunakan pointer yang bersifat
dinamis. Variabel akan dialokasikan hanya pada saat dibutuhkan dan setelah tidak digunakan dapat didealokasikan lagi.
5.1. Kegiatan Belajar 1. Pointer ke Variabel Alokasi Waktu : 2 x 45 menit
5.1.1. Tujuan Pembelajaran
Tujuan pembelajaran pada Kegiatan Belajar 1 tentang Pointer ke Variabel adalah: 1. Siswa dapat memahami Pembuatan pointer ke variabel dan penyimpanannya pada memori
2. Siswa dapat menganalisis kegunaan pointer dalam program untuk mengendalikan variabel dan manajemen memori
5.1.2. Aktivitas belajar siswa
5.1.2.1. Mengamati Definisi Pointer
Pointer sering disebut juga dengan istilah link, referensi, penunjuk adalah suatu variabel yang menyimpan atau menunjuk alamat dari suatu variabel yang lain. Pointer menunjuk suatu data
yang tersimpan dalam sebuah variabel dengan cara menyimpan alamat dari variabel penyimpan data tersebut. Pointer dalam kehidupan sehari
– hari dianalogikan seperti kartu alamat sesorang KTP, atau yg lain maka kartu tersebut dapat menunjukkan dimana orang tersebut berada,
bagaimana caranya? ya tentu saja dengan menyimpan alamat tersebut pada kartu.
Gambar 4.1. Analogi Pointer
Sumber https:www.iconfinder.comicons34226home_house_icon Secara umum, dalam pembicaraan tentang pointer, tipe data pointer digambarkan sebagai
tanda panah sedang variabel yang ditunjuk digambarkan sebagai kotak. Suatu pointer dapat menunjuk ke data bertipe elementer, terstruktur, pointer yang lain, atau tidak bertipe. Jika suatu
pointer tidak menunjuk ke mana-mana, pointer itu dinamakan dangling, sedangkan bagian memori yang tidak dapat diakses karena tidak ada pointer yang menunjuk dinamakan garbage sampah.
JL. H. NUR No. 07