Diktat_StrukturData_03_Tabel

Deklarasi nama type eltype dan idxtype dapat

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: bahasa Ada, jika type tabel diimplementasi menjadi private atau bahkan limitted private, maka organisasi prosedur juga perlu disesuaikan (beberapa menjadi private). • Deklarasi nama type “ElType” dan “IdxType” dapat menimbulkan persoalan serius mengenai kompatibilitas type. Catatan implementasi dalam bahasa C • Indeks tabel dalam bahasa C dimulai dari 0. • Representasi fisik tabel dalam bahasa C dapat secara dinamik dengan pointer. Namun secara konseptual, alokasi tetap dilakukan sekaligus (beberapa versi bahasa C memungkinkan tabel yang dapat berkembang/menyusut elemennya, tidak dibahas dalam kuliah ini). Jika tabel didefinisikan secara dinamik, maka harus ada alokasi untuk prosedur CreateEmpty. Jika alokasi gagal, apa akibatnya? Selain itu, untuk tabel dengan alokasi dinamik, harus dibuat destruktor untuk melakukan dealokasi memori. Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 3 Okt 2011 9 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Catatan secara umum • Jika type dari elemen adalah sembarang type (generik), maka ada prosedur/fungsi yang berlaku dan ada yang tidak. Coba analisis semua prosedur, dan sebutkanlah mana yang berlaku untuk tabel dengan elemen apapun, dan apa yang spesifik, misalnya jika elemen tabel diinstansiasi menjadi type yang pernah dibahas sebelumnya: • Character • JAM • Point • Line • Tidak semua prosedur/fungsi yang ditulis dapat dipakai untuk semua type. Misalnya jika ElType bukan integer, maka operasi penjumlahan, pengurangan, dsb tidak dapat dilakukan. Sebaiknya dilakukan pengelompokan terhadap prosedur/dungsi: • prosedur/fungsi mana yang tergantung type tertentu, • prosedur/fungsi yang dapat dipakai untuk type apapun (misalnya CopyTab). • Implementasi modul tersebut secara lengkap mempunyai banyak persoalan dengan bahasa prosedural “biasa”. • Beberapa persoalan mengharuskan kita mengelola tabel sebagai variabel global, dan bukan sebagai parameter karena untuk seluruh sistem hanya ada satu tabel saja. Misalnya tabel user pada sistem jaringan; tabel simbol pada proses kompilasi. Apakah modul ADT di atas masih dapat dipakai? Jika tetap dibuat sama, apa akibatnya? Jika anda sarankan untuk diubah, apa perubahannya? • Pada pemakaiannya, jarang sekali kita memakai semua fungsi tabel di atas. Maka anda hanya akan memakai sebagian. Apa yang sebaiknya dilakukan jika anda sudah mempunyai kode tersebut? Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 3 Okt 2011 10...
View Full Document

Ask a homework question - tutors are online