Diktat_Prosedural_13_StudiKasus

1 2011 2012tgl revisi 21 nov 2011 24 draft diktat

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: cPt1 : address PDel : address { indeks traversal } { alokasi sebuah suku baru } ALGORITMA if P1 = Nil then { kaitkan P2 ke P1 } P1 ← P2 else { P1 minimal mempunyai 1 elemen } Pt1 ← P1; PrecPt1 ← Nil { predesesor elmt pertama tak terdefinisi } Pt2 ← P2 while (Pt1 ≠ Nil) and (Pt2 ≠ Nil) do depend on Pt1, Pt2 Degree(Pt1) > Degree(Pt2): { Maju ke elmt P1 yg berikut } PrecPt1 ← Pt1; Pt1 ← Next(Pt1) Degree(Pt1) = Degree(Pt2): { Jumlahkan koefisien, cek hasil } if Coefficient(Pt1) + Coefficient(Pt2) = 0 then { Hapus Pt1, Pt1 ke elmt berikut, PrecPt1 tetap } { Delete (PrecPt1,Pt1), mungkin delete First!!! } PDel ← Pt1 if (Pt1 = P1) then P1 ← Next(P1) { Delete first } Pt1 ← P1 else { Delete after PrecPt1 } Next(PrecPt1) ← Next(Pt1) Pt1 ← Next(Pt1) { Dealokasi PDel } DeallocSuku(PDel) { Hapus Pt2, maju } PDel ← Pt2 Pt2 ← Next(Pt2) DeallocSuku(PDel) else { Update koefisien Pt1 } Coefficient(Pt1) ← Coefficient(Pt1) + Coefficient(Pt2) PrecPt1 ← Pt1; Pt1 ← Next(Pt1) Pt2 ← Next(Pt2) Degree(Pt1) < Degree(Pt2): { Insert Pt2 sebelum Pt1 } { InsertAfter(Pt2,PrecPt1) } Temp ← Next(PrecPt1); Next(PrecPt1) ← Pt2 Pt2 ← Next(Pt2); Next(Pt2) ← Temp PrecPt1 ← Pt2 { Pt1 = Nil or Pt2 = Nil } if (Pt1 = Nil) then { gabungkan sisa Pt2 dg elemen terakhir Pt1 } if (PrecPt1 ≠ Nil) then Next(Pt2) ← Pt1 { insert first } else Next(PrecPt1) ← Pt2 Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 24 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Latihan Soal 1. Buatlah analisis perbandingan dari segi memori dan proses untuk semua representasi yang dibahas. 2. Polinom “kosong” merupakan fenomena yang menarik untuk didiskusikan. Coba berikan sedikit ulasan mengenai "polinom kosong". 3. Bagaimana jika urutan penulisan polinom dikehendaki mulai dari derajat terkecil sampai terbesar? Jika urutan Suku disusun menaik menurut Degree agar mempermudah penulisan, apa implikasinya terhadap representasi polinom? Tuliskanlah algoritmanya. 4. Bagaimana jika pada representasi berkait list suku tidak diurut? 5 Perhatikanlah bahwa menu pada program utama menimbulkan masalah. Jika pemakai memanggil pilihan 2 s.d. 5 tanpa pernah membentuk polinom P1 dan P2, maka semua operasi kecuali membentuk polinom tidak dapat dilakukan karena polinom belum terdefinisi. Usulkan beberapa solusi untuk persoalan ini. Create polinom boleh diaktifkan kapan saja, sedangkan operasi lain hanya boleh ditawarkan jika sudah ada polinom yang terdefinisi. Pikirkanlah hal ini, dan tuliskan modul interaksi yang memungkinkan sistem menawarkan operasi dan memanggil prosedur yang telah tersedia. Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 25 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Studi Kasus 2: Kemunculan Huruf dan Posisi Pada Pita Karakter Deskripsi Persoalan Diberikan sebuah pita karakter yang hanya terdiri dari huruf kecil ['a'..'z'], karakter 'blank' dan diakhiri titik. Didefinisikan karakter ke-n sebagai nomor urutan karakter pada pita dengan karakter pertama (bukan titik) yang d...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online