List Bersarang (List 2 Dimensi)




Pada pembahasan kali ini Kita akan belajar lebih jauh tentang list. Jika pada pemabahasan sebelumnya Kita telah mempelajari bagaumana membuat list tunggal / list satu dimensi, maka pada pembahasan kali ini Kita akan belajar tentang bagaimana membuat list bersarang. List bersarang bisa dikatakan sebagai list dua dimensi karena terdiri dari kolom dan baris. Untuk lebih jelasnya contoh dibawah ini memperlihatkan bagaimana membuat list dua dimensi 2×3.

Contoh list dua dimensi
Cuplikan layar dari 2017-02-12 20-31-07.png

Contoh diatas memperlihatkan bagaimana membuat list dua dimensi dengan 2×3 yang merupakan urutan fakultas berdasarkan kesukarannya. Kolom pertama mewakili nama-nama fakultas dan kolom kedua mewakili tingkat kesukarannya.

Jika di visualisasikan makan contoh sebelumnya akan tambak seperti gambar dibawah.
Cuplikan layar dari 2017-02-12 20-41-39.png

Layaknya array 2 dimensi pada bahasa pemograman C/C++ dan JAVA, maka untuk mengakses elemen dari list dimensi dilakukan dengan cara mengakses kolom dan barisnya. Adapun format untuk mengaksesnya adalah nama_list[indeks_baris][indeks_kolom]b. Contoh berikut ini akan memperlihatkan bagaimana mengakses dan menampilkan elemen pada baris pertama dan baris kedua.

Contoh mengakses list dua dimensi
Cuplikan layar dari 2017-02-12 20-48-55.png

Dengan menggunakan perintah fakultas[0][0:] maka elemen-elemen yang berada pada baris pertama list akan ditampilkan dan begitu juga dengan perintah fakultas[1][0:] berfungsi untuk mengakses elemen-elemen yang berada pada baris kedua, Kita juga bisa mencoba membuat list dua dimensi dan menerapkan fungsi-fungsi anggota list yang telah dipelajari pada pembahasan sebelumnya.

Pada array dua dimensi C/C++ dan JAVA, dimana ketika dibuat array 3×4 maka tiap baris harus berisi empat elemen dan tidak kurang ataupun lebih. List memiliki keistimewaan dimana Kita bebas mendefenisikan berapa elemen dari setiap baris. Hal ini tentu sangat dinamis dan sangat menguntung pada saat Kita membuat program yang lebih kompleks nantinya. Contoh berikut ini akan memperlihatkan bagaimana Python menangani hal tersebut.

Contoh list dua dimensi dengan jumlah elemen yang berbeda
Cuplikan layar dari 2017-02-12 21-00-00.png
Pada contoh di atas terlihat bahwa list dua dimensi bisa memiliki jumlah elemen yang berbeda pada tiap barisnya. Hal tersebut juga bisa dilihat dari gambar berikut yang merupakan visualisasi dari contoh diatas.
Cuplikan layar dari 2017-02-12 21-25-52.png

List diatas merupakan list dua dimensi yang berisi nama-nama bahasa pemograman dan web server. Di sana terlihat bahwa pada baris pertama terdapat 4 elemen [“Python”,”JAVA”,”SQL”,”C++”], baris kedua berisi 3 elemen [“HTML”,”PHP”,”Java Script”] dan baris ketiga memiliki satu elemen [“Apache”].

Terdapat satu permasalahan yang harus diperhatikan ketika membuat list dua dimensi atau list bersarang. Ketika Kita mereferensikan suatu objek list kedalam list lainnya, maka hal itu berarti Kita bekerja dengan data asli dari list tersebut. Sehingga apabila terjadi perubahan pada list tereferensi, maka list referensi juga akan mengalami perubahan dan begitu jua sebaliknya. Berikut ini adalah contoh yang memperlihatkan hal tersebut.

Contoh list sebagai referensi
Cuplikan layar dari 2017-02-12 21-40-26.png

Pada contoh diatas terdapat dua buah list yaitu list data1 dan data2 yang merupakan list dua dimensi. Dimana list data1 berisi [“Python”] dan data2 berisi [data1,”C++”,”JAVA”]. Hal ini berarti data2 berisikan [[“Python],”C++,”,”Java”]. Pada saat elemen data1 diubah menjadi “PHP”, maka hal tersebut juga akan mengubah isi dari data2 yang menjadi [[“PHP”],”C++,”JAVA”]. Begitu juga pada saat elemen data2 pada baris pertama di kolom pertama diubah menjadi “MySQL”, maka hal tersebut akan mengubah isi dari data1 yang merupakan referensi dari data2. Disana terlihat bahwa isi dari data1 berubah menjadi “MySQL”. Jadi hal tersebut membuktikan bahwa ketika Kita membuat list dua dimensi dengan cara mereferensikan suatu list lainnya, maka itu berarti Kita bekerja dengan data asli dari list referensi tersebut.

Setelah beberapa pembahasan tentang list, Kita bisa melihat bahwa list sangat luar biasa dan jauh berbeda denggan array pada umumnya. List sangat kaya akan fungsi yang sangat penting untuk setiap operasi yang dilakukan dalam pemograman Python.