Apa itu Iterator?

Iterator adalah konstruksi bahasa komputer yang memungkinkan program untuk membaca sekelompok nilai data atau potongan informasi dengan cara yang sistematis. Iterator juga memungkinkan akses individu ke setiap anggota grup, tanpa memengaruhi anggota grup lainnya. Mereka digunakan dalam banyak bahasa scripting dan pemrograman, termasuk C++, Java, PHP, dan Perl. Implementasinya tidak tergantung pada objek yang mereka pindai, sehingga mereka dapat memindai semua jenis grup objek.

Perjalanan melalui sekelompok objek dengan iterator biasanya disebut iterasi atau melintasi. Dalam sebagian besar bahasa komputer, iterator digunakan untuk melintasi kelompok objek terkait yang disebut koleksi. Implementasinya sangat fleksibel dan dapat digunakan dengan koleksi dalam berbagai ukuran. Mereka, secara umum, lebih aman daripada akses elemen sederhana dalam koleksi karena jangkauannya terbatas pada elemen dalam koleksi. Meskipun masih memungkinkan untuk mengakses indeks di luar batas, itu tidak mungkin jika iterator digunakan dengan benar.

Iterator didefinisikan, diinisialisasi, dan ditangani dalam memori secara berbeda tergantung pada bahasa komputer yang digunakan. Sintaks umum untuk mereka, sebaliknya, serupa di sebagian besar bahasa. Ada dua jenis sintaks yang berbeda yang dapat digunakan untuk iterator, yang didefinisikan sebagai eksplisit atau implisit.

Iterator eksplisit melibatkan pembuatan objek iterator, dan objek itu kemudian digunakan dalam loop traversal di atas elemen koleksi. Iterator implisit melibatkan tipe khusus dari struktur loop yang membuat objek iterator tanpa ditentukan sebelumnya. Apakah iterator eksplisit atau implisit digunakan untuk traversal tertentu atau tidak biasanya tergantung pada preferensi programmer, karena perbedaan dalam jumlah kode atau kinerja di antara mereka dapat diabaikan. Perbedaan terbesar antara iterator eksplisit dan implisit adalah bahwa iterator eksplisit menunjukkan pembuatan iterator dalam kode sumber, sedangkan iterator implisit tidak menunjukkan ini.

Setiap kali koleksi objek tersedia, iterator dapat digunakan untuk memindainya. Tergantung pada kemampuan bahasa komputer, iterator dapat digunakan pada array, peta, daftar, dan berbagai jenis koleksi lainnya. Iterator adalah fitur bahasa pemrograman yang relatif ada di mana-mana, dan bahasa yang paling umum memiliki beberapa jenis fungsionalitas yang tersedia. Beberapa bahasa komputer mengizinkan iterator dengan fitur tambahan, seperti pembatasan berapa kali elemen diakses. Karena fitur ini tidak universal, terkadang ada cara di mana fitur tersebut dapat diimplementasikan secara independen dari iterator itu sendiri.