Minggu, 14 Maret 2010

Pengenalan Collections (koleksi)

Collection atau container adalah sebuah object yang berisi kumpulan unsur-unsur (elements) dalam satu unit. Collection digunakan untuk menyimpan data (store), mengambil data, dan menghubungkan data. Contoh : kartu Remi (kumpulan kartu), Kotak surat (berisi koleksi surat-surat), Buku telepon (berisi kumpulan data nomer telepon)

Collections Framework

Collections Framework (struktur koleksi) adalah suatu kesatuan arsitektur untuk menghadirkan (representing) dan memanipulasi (manipulating ) Collections.

Collection framework terdiri dari :

1. Collections Interface : merupakan tipe data abstrak yang memerankan collections, di sinilah Collections dapat dimanipulasi secara bebas dengan detail dari penyajian.

2. Implementations : merupakan penerapan nyata dari Collections Interface. Pada intinya merupakan susunan data yang dapat digunakan kembali (reusable data structures ).

3. Algorithms : merupakan metode (methods) yang menampilkan kegunaan penghitungan (computation), seperti pencarian (searching) dan pengurutan (sorting ) dalam objects yang menerapkan Collections interface. Algorith sering berupa polymorphic yang cocok dengan Collections Interface ( poliymorphic adalah metode/methods yang dapat digunakan untuk penerapan-penerapan yang berbeda). Pada intinya Algorithms merupakan fungsi-fungsi yang dapat digunakan kembali (reusable functionality).

Selain dari Java Collections Framework yang dimiliki bahasa Java, Contoh lain dari Collections Framework yang terkenal dari bahasa lain adalah C++ Standard Template Library (STL) dan Smalltalk's collection hierarchy. Dalam sejarahnya, Collection framework telah berubah menjadi sesuatu yang sangat rumit, yang telah memberikan reputasi bahwa untuk mempelajari Collection framework dibutuhkan tahapan pembelajaran yang terus meningkat. Kita percaya bahwa Java Collections Framework telah mematahkan anggapan itu jika ada belajar sendiri di bab ini.

Keuntungan Java Collection framework

1. Mengurangi usaha untuk pemrograman, dengan menyediakan struktur data dan algoritma yang bermanfaat. Collection framework membebaskan anda untuk berkonsentrasi pada bagian yang penting dari program anda. Dengan menyediakan interoperability diantara yang tidak berhubungan dengan API, Java Collection framework membebaskan anda dari menulis adapter object sesuai perubahan code untukterhubung dengn API.

2. Meningkatkan kecepatan dan kualitas program : Collection framework ini menyediakan performa tinggi dan penerapan kualitas tinggi pada struktur data yang berguna dan algoritma. Berbagai penerapan dari interface dapat bertukar tempat, jadi program dapat dengan mudah disesuaikan dengan mengganti penerapan collection. Karena anda dibebaskan dari pekerjaan yang menjemukan dari menulis struktur data anda, anda akan memiliki waktu yang lebih untuk meluangkan waktu intuk meningkatkan kualitas dan performa.

3. Memberikan ketergunaan diantara API yang tidak berhubungan : Collection Interface ( antarmuka koleksi ) merupakan vernacular ( kata, bahasa yang berkenaan dengan bahasa tertentu atau logat bahasa) yang mana API melewatkan collection mundur dan maju seterusnya. Jika administrasi jaringan API saya menyediakan collection nama pucuk dan jika GUI toolkit anda mengharapkan sebuah collection kolom bagian atas, API kita akan saling beroperasi tanpa berkerutan. Meskipun mereka menulis secara bebas.

4. Mengurangi usaha mempelajari dan menggunakan API baru : Banyak API pada dasarnya mengambil collection di input dan menyediakan mereka sebagai output. Seperti sebelumnya tiap-tiap API memiliki sub-API yang disisihkan untuk memanipulasi collection (koleksi) ini. Ada sedikit ketetapan diantara ad hoc collection sub-API ini, jadi kamu harus mempelajari semuanya dari goresan, dan itu mudah untuk membuat kesalahan ketika menggunakannya. Dengan kemunculan dari standard collection interface, masalah akan hilang.

5. Mengurangi usaha untuk mendesain API baru : Ini adalah sisi lain dari keuntungan sebelumnya. Seorang designer dan seorang implementer tidak harus menciptakan kembali roda setiap kali mereka menciptakan sebuah API yang tergantung collection; meskipun begitu mereka dapat menggunakan standart collection interface.

6. Pemeliharaan software yang dapat digunakan kembali : Struktur data baru yang sesuai untuk standard collection interface adalah dengan penggunaaan kembali yang alami. Hal yang sama untuk algorithms yang beroperasi dalam object yang menerapkan interface ini

Coleection Interface

Sebuah Collection mewakili sebuah kelompok object yang kita kenal sebagai element (unsur). Collection Interface ( Antarmukan koleksi ) digunakan untuk mengedarkan koleksi object (collection objects dimana maksimal keadaan umumnya diinginkan. Contohnya dengan convention (aturan) semua tujuan umum penerapan collection memiliki sebuah constructor yang mengambil sebuah collection argument. Constructor ini, dikenal sebagai conversion constructor, menginisialkan Collection baru untuk menyediakan semua element (unsur) di koleksi yang lebih khusus. Apa saja yang diberikan collection sub-interface atau tipe implementasinya. Dengan kata lain ini convention constructor ini mengijinkan kamu untuk mengkonversi tipe collection.