Diktat_Prosedural_13_StudiKasus

Contoh jika p1 dan p2 adalah polinom maka hendak

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: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 18 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure DerivListPol (input P : polinom, output P1 : polinom) { I.S. P terdefinisi, mungkin kosong } { F.S. P1 adalah turunan P, polinom baru } { Membuat turunan P dan menyimpan hasilnya di P1, P1 ≠ P } KAMUS LOKAL Pt : address Last : address { address untuk traversal } { alamat elemen terakhir P1 } ALGORITMA InitListPol(P1); Last ← Nil Pt ← P if (Pt ≠ Nil) then { Minimal satu elemen, proses elemen terakhir secara khusus } while (Next(Pt) ≠ Nil) do { Salin dan Insert Pt sebagai elemen terakhir P1 } InsertLast(Degree(Pt)-1,Degree(Pt)*Coefficient(Pt),P1,Last) { Next elemen list polinom } Pt ← Next(Pt) { Next(Pt) = Nil), elemen terakhir, cek apakah berderajat 0, jika tidak baru diproses } if (Degree(Pt) ≠ 0) then InsertLast(Degree(Pt)-1,Degree(Pt)*Coefficient(Pt),P1,Last) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 19 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Studi Kasus: Suku-Suku Polinom Hasil Berasal dari Operan Persoalannya adalah jika pada operasi penjumlahan, pengurangan dan derivasi pada paket polinom tersebut suku dari polinom hasil berasal dari polinom operan, dan hasilnya disimpan pada salah satu operan. Contoh: Jika P1 dan P2 adalah polinom, maka hendak dilakukan operasi: P1 = P1 + P2 P1 = P1 - P2 P1 = P1' Pada persoalan ini, polinom P1 “tidak ada lagi”, karena “ditimpa” oleh hasil penjumlahan, Suku P2 “melebur menjadi suku polinom P1 yang baru. Implikasi terhadap perubahan spesifikasi tidak sama untuk representasi kontigu dan representasi berkait. Berikut ini hanya dibuat studi perbandingan untuk algoritma penjumlahan P1 = P1 + P2. Representasi KONTIGU Untuk representasi kontigu, algoritma penjumlahan dua buah polinom tidak berubah, hanya dengan menggantikan penulisan P3 menjadi P1. procedure AddPolBis (input/output P1, P2 : polinom) { I.S. P1 dan P2 terdefinisi, mungkin kosong } { F.S. P1 = P1 + P2. } { Representasi kontigu, menjumlahkan P1 + P2 dan menyimpan hasilnya di P1 } KAMUS LOKAL i : integer MaxDegree : integer { indeks traversal } { derajat masukan maksimum antara P1 dan P2 } ALGORITMA if P1.Degree > P2.Degree then MaxDegree ← P1.Degree else MaxDegree ← P2.Degree if MaxDegree ≠ -9999 then P1.Degree ← MaxDegree i traversal [MaxDegree..0] P1.TabSukui ← P1.TabSukui + P2.TabSukui AdjustDegree(P1) {else : kedua polinom kosong. Tidak ada operasi. } Representasi BERKAIT Perubahan spesifikasi hasil operasi tersebut membawa implikasi cukup banyak pada representasi berkait. Prosesnya adalah traversal kedua list, setiap saat kita mengelola dua buah pointer Pt1 untuk traversal Polinom P1 dan Pt2 untuk traversal Polinom P2. Untuk setiap pasangan harga elemen yang ditunjuk oleh Pt1 dan Pt2, diadakan analisis kasus terhadap harga field Degree dan Coefficient. Operasi penjumlahan dapat mengakiba...
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