Tantangan Larik: Perhatikan Bahwa pada Gambar 2.9 Terdapat Data yang Berganda
Tantangan larik: perhatikan bahwa pada Gambar 2.9 terdapat data yang berganda. Hal ini dikarenakan matriks tersebut menyimpan informasi jarak antara 2 kota (misal A dan B) sebagai jarak dari A-B dan B-A. Dapatkan kalian menemukan representasi yang lebih baik daripada contoh tersebut sehingga tidak ada duplikasi informasi dalam penyimpanan data jarak kota?
Jawaban:
Untuk mengatasi duplikasi informasi dalam penyimpanan data jarak antara dua kota, salah satu pendekatan yang dapat digunakan adalah dengan menggunakan matriks simetris.
Misalkan terdapat N kota yang akan diwakili dengan label 1 hingga N. Dalam pendekatan ini, kita hanya perlu menyimpan jarak dari kota A ke kota B, tanpa perlu menyimpan jarak dari kota B ke kota A secara terpisah.
Kita dapat membuat matriks simetris berukuran N x N, di mana setiap elemen matriks merupakan jarak antara dua kota yang bersesuaian. Jika jarak antara kota A dan kota B adalah d, maka elemen matriks pada baris A dan kolom B, serta baris B dan kolom A akan memiliki nilai yang sama, yaitu d. Elemen diagonal matriks akan berisi nilai nol, karena jarak antara suatu kota dengan dirinya sendiri adalah nol.
Contoh representasi matriks simetris untuk menyimpan data jarak antara tiga kota (A, B, dan C) adalah sebagai berikut:
Dalam matriks di atas, misalnya, jarak antara kota A dan kota B adalah 3, dan jarak antara kota B dan kota A juga adalah 3 (elemen pada baris A dan kolom B, serta baris B dan kolom A memiliki nilai yang sama).
Dengan menggunakan representasi ini, kita dapat menghindari duplikasi informasi dalam penyimpanan data jarak kota, karena hanya menyimpan setengah dari matriks simetris yang berukuran N x N.