Vector di C++. Array dinamis di Pascal???

Beberapa hari yang lalu, tumben lagi semangat coding. Mulai buka2 deh tutorial STL untuk C++. Kenapa STL? Karena konon katanya, STL C++ tuh isinya banyak tentang struktur data baru dan sintaks2 aneh lainnya. Bayangin aja, prosedur quicksort yang kalo koding di pascal bisa beberapa baris (rawan bug pula), bisa diselesaikan pake STL dengan hanya 1 baris sintaks, qsort().

Cukup sebel juga awalnya, kenapa di pascal kok gak bisa yah? Karena itu, terpaculah saya belajar STL. Yang pertama aku baca yaitu tentang vector. Vector nih bisa dibilang evolusinya array, atau aku sebut saja smart array. Kenapa? Antara lain, sifatnya sangat dinamis. vector ini bisa berkembang dan menyusut sewaktu-waktu dengan sintaks(atau mungkin lebih tepat disebut member, karena sepertinya vector itu sejenis class) yang simple. Sebut saja push_back(), yaitu menambahkan elemen baru sebagai elemen terakhir di vector, atau pop_back() yaitu menghapus/ memotong elemen terakhir dari vector. Dengan ini, kita bisa dengan mudah membuat dan mengolah struktur data , misal stack, tanpa harus repot memikirkan ukuran array. suatu vector juga dapat melaporkan ukurannya, yaitu dengan sintaks size(). Selain itu, masih banyak lagi member-member vector yang sangat amat berguna.

Dan ketika sedang terkagum-kagum dengan vector, esok harinya tiba-tiba Pak Janoe menjelaskan tentang deklarasi array dinamis di Pascal (????????).
Hah? ada ya?
Memang sih, cuma ada di beberapa compiler, Free Pascal misalnya. Tapi itu itu sudah cukup membuat saya shock. Deklarasinya mirip deklarasi array pada umumnya. Bedanya, ukuran array tidak ditentukan di awal, seperti ini :

var arr:array of integer;

Nah lo, ukurannya gimana? Ukuran array tersebut kemudian kita tentukan dengan sintaks
setlength(nama_array,ukuran);
Array dinamis ini pun bisa mengembang dan menyusut sewaktu-waktu, tentunya dengan menggunakan sintaks setlength beberapa kali. Bahkan, ketika arraynya kita perbesar, data yang kita masukkan sebelumnya tidak hilang!!

AArrgh!! Meringis hatiku! Coba aku tahu tentang array ini 2 tahun yang lalu! T_T

5 thoughts on “Vector di C++. Array dinamis di Pascal???

  1. triplefortune mengatakan:

    Aku baru belajar bhs Python ni.
    Dahsyat juga. Variabel ga perlu dideklarasikan. Dengan kata lain arraynya bisa menampung berapa aja. Dan dahsyatnya list (sebutan array di python) ini bisa menyimpan lebih dari 1 variabel. Cool deh…

  2. Riza mengatakan:

    Waw, keren juga tu!
    Tapi biasanya kan reliability berbanding terbalik dengan performance.
    Kalo phyton gimana?

  3. shakai mengatakan:

    aku mau tanya sebenarnya tu vektor tipe data abstrak itu apa ya?
    bedanya vektor dan list itu apa?

  4. Riza mengatakan:

    Vektor dan list itu termasuk dalam STL, yaitu tipe container atau penyimpan data.
    Vektor sendiri dideskripsikan seperti sebuah array dinamis yang ukurannya dapat mengembang setiap saat. Sedangkan list, mirip dengan vektor, tetapi sifatnya lebih ke double linkedlist. List ini lebih unggul darpada vektor dalam hal kecepatan penyisipan dan penghapusan elemen datanya. Sedangkan vektor, lebih cepat dan mudah dalam hal pengaksesan elemennya-elemennya, karena vektor memiliki indeks sedangkan list tidak.
    Untuk lebih jelasnya ( jaga2 kalau saya salah :p ) silahkan kunjungi
    http://www.sgi.com/tech/stl/

  5. wah.. bermanfaat sekali… terima kasih…🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s