Fungsi strchr Bahasa C
Sebelum bekerja dengan fungsi strchr dalam melakukan pencarian karakter pada sebuah kalimat, mengetahui dan memahami bentuk dasar penulisan fungsi ini merupakan hal yang mutlak dilakukan. Untuk itu, mari perhatikan dan pahami bentuk dasar dari penulisan fungsi strchr di bawah ini. char * strchr ( const char *, int );Penjelasan penulisan fungsi "strchr"
- const char * Sebuah array yang menjadi target pencarian terhadap karakter yang telah dispesifikasikan
- int Sebuah karakter yang menjadi acuan dalam pencarian terhadap array (target)
Lalu, bagaimanakah cara kerja dari fungsi strchr ini? Untuk mempermudah dan agar lebih jelas, mari kita lihat contoh implementasi dari penggunaan fungsi strchr ini ke dalam bahasa c.
Berdasarkan kode program bahasa c di atas, variabel kalimat digunakan sebagai parameter pertama dan variabel cari digunakan sebagai parameter kedua terhadap fungsi strchr. Ketika fungsi strchr ini dipanggil, maka fungsi ini akan mengambil nilai yang disimpan oleh variabel cari ('m') dan menjadikannya sebagai acuan data yang ingin dicari. Kemudian, fungsi ini akan memulai mencari dan memeriksa apakah karakter tersebut terdapat dalam variabel kalimat. Pencarian karakter terhadap variabel kalimat dilakukan dengan mencocokkan ke setiap karakter yang ada pada array. Pencarian dimulai dari posisi awal karakter pertama pada array. Ketika karakter yang hendak dicari ditemukan, maka fungsi ini akan mengembalikan alamat dimana si karakter disimpan dalam memori, dan sesegera mungkin, fungsi ini berhenti melakukan tugasnya. Untuk itulah mengapa variabel pointer pch dideklarasikan dan dibutuhkan.
Lalu, bagaiaman jika karakter yang ingin dicari tidak ditemukan? Ketika karakter yang akan dicari tidak terdapat pada array, fungsi ini akan berhenti mencari tepat setelah karakter '\0' pada array ditemukan dan fungsi ini akan mengembalikan NULL pointer atau pointer kosong. Satu hal yang perlu diperhatikan lagi dalam contoh kode program di atas ialah penggunaan aritmatika pointer pada saat mencetak hasil ke layar, yaitu pch-kar+1. Untuk topik ini, sudah di bahas di postingan Aritmatika Pointer Array. Anda bisa membacanya sebagai bahan referensi untuk melengkapi pemahaman terhadap kode program di atas.
Sebelumnya, ketika fungsi ini sudah "menemukan" karakter yang ingin dicari untuk pertama kalinya, fungsi ini tidak lagi melanjutkan pencarian data ke posisi selanjutnya. Berdasarkan penjelasan tersebut, timbul sebuah permasalahan. Permasalahannya ialah bagaimana jika kita ingin mencari dan ingin memperoleh informasi mengenai ada berapa banyak dan di posisi mana sajakah karakter yang ingin dicari itu berada pada sederetan kalimat atau array target? Untuk menyelesaikan permasalahan ini, diperlukan sebuah perulangan dan bantuan aritmatika pointer agar hasil yang diperoleh nantinya sesuai dengan keinginan. Berikut contoh implementasi dari penyelesaian permasalahan di atas.
Fungsi strrchr Pada Bahasa C
Fungsi "strrchr" tidak berbeda jauh dengan fungsi strchr, bentuk dasar penulisan fungsi ini bisa dilihat di bawah ini. char * strrchr ( const char *, int );Melihat bentuk dasar penulisan fungsi di atas, penggunaan fungsi strrchr ini juga tidak berbeda jauh dengan fungsi strchr. Yang membedakan hanya langkah akhir dari proses kerja fungsi ini dan itu yang menyebabkan pengembalian nilai yang didapatkan juga berbeda dari fungsi strchr sebelumnya. Jika fungsi strchr mengembalikan alamat karakter yang pertama kali ditemukan, maka fungsi ini justru mengembalikan alamat karakter yang terakhir kali ditemukan pada sederetan karakter atau array yang menjadi target pencarian.
Untuk contoh implementasi fungsi ini ke dalam kode program bahasa c, bisa dilihat di bawah ini.
Hasil eksekusi dari kode program yang diberikan pada postingan ini, dapat dilihat pada screenshoot dibawah ini.
Fungsi strchr dan strrchr Bahasa C - kodeprogramcpp |
No comments:
Post a Comment
Berikan komentar, Kritik dan saran teman-teman mengenai blog ini. Komentar, Kritik dan saran teman-teman sangat berarti untuk perkembangan Blog ini.
Salam Blogger, salam kodeprogramcpp.