Uji Kompetensi Kegiatan Belajar 5. Pemanfaatan Konversi Data Dalam Aplikasi Alokasi Waktu : 2 x 45 menit

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