Data Structure 2
Rangkuman Pertemuan 6
Gw belajar beberapa hal dari kelas besar tadi pagi. Yang pertama, gua diajarin sama Pak Ferdinand logic dari codingan linked list. Pak Ferdinand jelasin dengan step by step dan langkah-langkah dari pembuatan codingan Singly Linked List. Mulai dari logic headnya biar bisa stay di depan dan ga gerak-gerak, current yang harus bisa gerak sesuai dengan berapa kali kita next valuenya, dan gimana caranya tail bisa didorong sampe ke data yang terakhir dan stay di sana.
Selain itu, gua juga belajar kalo dalam codingan Linked List, mungkin banget buat kami (mahasiswa yang belum berpengalaman dalam coding Linked List) buat salah logic saat coding dan ga menyadarinya sampe beberapa waktu. Misalnya, salah mendefinisikan head->nextnya atau apapun itu mungkin ga langsung membuat programnya crash dan gabisa jalan, tapi pas kita coba masukin semua value datanya pasti ada yang salah. Maka dari itu gua juga belajar bahwa kita harus bukan dengerin penjelasan Pak Ferdinand kayak yang tadi pagi kita lakuin, tapi juga coba sendiri di luar kelas dan diulang-ulang agar logicnya lebih ngerti lagi dan udah jadi terbiasa dengan kesalahan-kesalahan dalam ngoding Linked List nantinya.
Gw juga belajar logicnya "pop" (menghapus value dari data) dalam Linked List dan kesalahan-kesalahan yang seringkali dilakuin oleh mahasiswa dalam ngoding "pop". Yang banyak banget dibahas juga tadi itu, seringkali kita udah berhasil merangkai codingan suatu function, tapi kita seringkali lupa kalo codingan kita biasanya hanya berlaku di saat kondisi datanya masih lebih dari satu. Maka dari itu, kita juga gaboleh lupa untuk nambahin kondisi jika datanya udah tinggal 1 atau jika datanya udah dipaling ujung (intinya kondisi yang beda sendiri dari yang lain dan cara penyelsaiannya juga harus dibedain dari "kondisi normal" biasanya).
Gw juga belajar kalo kita bisa ngeprint semua value dari data yang ada dengan gausah ribet ngeprint satu-satu. Kita bisa dapetin pola (seperti kalo dalam kasus yang tadi itu curr->next), abis itu kita tinggal pake looping untuk ngeprint smua value dari datanya sampe datanya habis.
Dan yang terakhir, gw juga diajarin sekilas logic dari codingan Doubly Linked List dan logic dari "previous". Keunggulan dari Doubly Linked List itu salah satunya adalah saat kita mau ngebuat fungsi "pop" yang bisa dilakuin jauh lebih gampang karena kita punya tangan untuk "previous"nya. Tapi kelemahannya ya kita jadi lebih ribet karna harus ngurus 2 tangan. Pak Ferdinand juga bilang kalo dalam kasus-kasus tertentu terkadang ada baiknya kita punya lebih dari 1 current. Fungsinya adalah tentunya mempercepat pencarian data kalo datanya emang udah semakin banyak. Bahkan kita bisa buat tangan sebanyak-banyaknya yang kita mau even sampe 8 tangan. Tapi, dalam kebanyakan kasus 4 tangan udah cukup banget buat menyelsaikan permintaan yang kita minta ke komputer kita.
Gw juga belajar kalo kita bisa ngeprint semua value dari data yang ada dengan gausah ribet ngeprint satu-satu. Kita bisa dapetin pola (seperti kalo dalam kasus yang tadi itu curr->next), abis itu kita tinggal pake looping untuk ngeprint smua value dari datanya sampe datanya habis.
Dan yang terakhir, gw juga diajarin sekilas logic dari codingan Doubly Linked List dan logic dari "previous". Keunggulan dari Doubly Linked List itu salah satunya adalah saat kita mau ngebuat fungsi "pop" yang bisa dilakuin jauh lebih gampang karena kita punya tangan untuk "previous"nya. Tapi kelemahannya ya kita jadi lebih ribet karna harus ngurus 2 tangan. Pak Ferdinand juga bilang kalo dalam kasus-kasus tertentu terkadang ada baiknya kita punya lebih dari 1 current. Fungsinya adalah tentunya mempercepat pencarian data kalo datanya emang udah semakin banyak. Bahkan kita bisa buat tangan sebanyak-banyaknya yang kita mau even sampe 8 tangan. Tapi, dalam kebanyakan kasus 4 tangan udah cukup banget buat menyelsaikan permintaan yang kita minta ke komputer kita.
Comments
Post a Comment