Rabu, 14 Desember 2011

Pencarian, Pengurutan, dan Rekursi (Java)


Dua jenis teknik pemrosesan array yang paling umum adalah pencarian dan pengurutan. Pencarian di sini berarti mencari item di dalam array yang memenuhi kriteria tertentu. Pengurutan berarti menata ulang semua item di dalam array dalam urutan tertentu (urutan naik atau turun tergantung konteksnya).

Pencarian dan pengurutan sering didiskusikan, dengan cara yang teoretis, dengan menggunakan contoh array bilangan. Dalam situasi sebenarnya, tipe data yang lebih kompleks biasanya digunakan. Misalnya, array bisa jadi suatu mailing list, dan setiap elemen di dalam array adalah objek yang berisi nama dalam alamat email. Kita mungkin akan mencari alamat email seseorang apabila namanya diketahui. Ini adalah contoh pencarian, di mana kita ingin mencari objek di dalam array yang berisi suatu nama.

Mungkin juga kita ingin mengurut array tersebut tergantung pada kriteria tertentu. Misalnya mengurutkan elemen pada array di mana nama diurutkan secara abjad. Contoh lainnya adalah mengurutkan elemen pada array berdasarkan kode pos.

Contoh-contoh ini bisa dibuat lebih umum yaitu kita mempunyai array yang berisi objek, dan kita ingin melakukan pencarian atau pengurutan array berdasarkan nilai salah satu variabel instansi pada array tersebut. Kita bisa gunakan beberapa istilah yang bersumber pada "database", yang sesungguhnya adalah koleksi data yang besar dan terorganisir.

Kita akan menyebut masing-masing objek di dalam array sebagai record. Variabel instansi di dalam objek disebut field dari record tersebut. Dalam contoh mailing list di atas, masing-masing record berisi nama dan alamat email. Field dari record tersebut mungkin nama depan, nama akhir, alamat email, dan seterusnya. Dalam konteks pencarian dan pengurutan, salah satu field diambil sebagai field kunci. Mencarian berarti mencari suatu record di dalam array yang memiliki nilai tertentu pada field kuncinya. Pengurutan berarti melakukan penataan elemen di dalam array sehingga field kunci record akan terurut berdasarkan urutan naik atau turun.

Dalam bagian ini, contoh-contoh yang disediakan akan mengikuti tradisi menggunakan array bilangan. Kita akan contoh beberapa record dan kunci untuk mengingatkan kita pada aplikasi yang lebih praktis.

Lebih jauh, kita akan melihat tentang rekursi dan aplikasinya. Suatu rubrutin disebut rekursif jika ia memanggil dirinya sendiri baik secara langung atau tak langsung. Rekursi dapat digunakan untuk menyelesaikan masalah kompleks dengan menguranginya menjadi masalah yang lebih sederhana.

- Pencarian

- List Asosiasi

- Pengurutan

- Rekursi

- Pengurutan Cepat

Tidak ada komentar:

Posting Komentar