Title | Algoritma sistem dasar |
---|---|
Author | Erga M Salim |
Course | Ilmu Komputer dan Aplikasinya |
Institution | Universitas Brawijaya |
Pages | 18 |
File Size | 388.9 KB |
File Type | |
Total Downloads | 278 |
Total Views | 558 |
LABORATORIUM PEMBELAJARAN ILMU KOMPUTERFAKULTAS ILMU KOMPUTERUNIVERSITAS BRAWIJAYABAB : LINKED LISTNAMA : DHIZA WAHYU FIRMANSYAHNIM : 165150307111023TANGGAL : 13/03/ASISTEN : - ILHAM ROMADHONAA. DEFINISI MASALAH1. Masalah aritmatika polinom adalah membuat sekumpulan subrutin manipulasiterhadap polin...
RIUM PEMBELAJARAN ILMU KOMPUTER LMU KOMPUTER AS BRAWIJAYA BAB NAMA NIM TANGGAL ASISTEN
: LINKED LIST : DHIZA WAHYU FIRMANSYAH : 165150307111023 : 13/03/2017 : - ILHAM ROMADHONA
A. DEFINISI MASALAH 1.
Masalah aritmatika polinom adalah membuat sekumpulan subrutin manipulasi terhadap polinom simbolis (symbolic Polynomial). Misalnya: P1 = 6x8 + 8x7 + 5x5 + x3 + 15 P2 = 3x9 + 4x7 + 3x4 + 2x3 + 2x2 + 10 P3 = x2 + 5 Representasikan bilangan polinom dengan menggunakan linked list dan buatlah prosedur-prosedur untuk : • Menyisipkan simpul di awal jika pangkat yang dimasukkan lebih dari pangkat tertinggi dari bilangan polinomial. • Menyisipkan simpul di tengah jika pangkat dari bilangan yang kita sisipkan berada di tengah. • Menyisipkan simpul di akhir jika pangkat dari bilangan yang disisipkan adalah 0. • Menghapus simpul, baik di awal, di tengah, ataupun di akhir.
2.
Implementasikan sebuah single linked list yang merepresentasikan data mahasiswa. Data mahasiswa berupa nrp, nama, alamat, indeks prestasi. Buatlah fungsi-fungsi untuk membangun single linked list, menelusuri, menambah simpul, menghapus simpul.
3.
Tambahkan tampilan di output setelah anda mengerjakan percobaan di atas dengan penghitungan indeks prestasi rata-rata, dimana iprata=total/jumlah_siswa; total didapatkan dari menambahkan IP yang didapat tiap mahasiswa. B. SOURCE CODE Soal No 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include using namespace std; struct Node { int k; int p; Node *next; }; class linkedlist{ private: Node *head; public: linkedlist(){ head = NULL; } void insertBilPolinom(int a, int b){ Node *insert = new Node(); Node *p = head; Node *temp;
22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
insert->k = a; insert->p = b; if (b>=p->p) { if (insert->p==p->p){ p->k = insert->k+p->k; }else{ setBilPolinom(a, b); } } else if (b==0) { while (p->next!=NULL){ p = p->next; } if (insert->p==p->p){ p->k = insert->k+p->k; }else{ p->next = insert; } } else { while (bp){ temp = p; p = p->next; } if (insert->p==p->p){ p->k = insert->k+p->k; temp->next = p; }else{ temp->next = insert; insert->next = p; } } } void setBilPolinom(int a, int b){ Node *bil = new Node(); bil->k = a; bil->p = b; bil->next = head; head = bil; }
void hapusBilPolinom(int a, int b){ Node *hapus = head; Node *temp; if(hapus->k==a && hapus->p==b){ head = hapus->next; delete hapus; }else{ while(hapus->k!=a && hapus->p!=b){ temp = hapus; hapus = hapus->next; } temp->next = hapus->next; delete hapus; } }
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 11 0 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 12
void Tampilkan(){ Node *c = head; while (c != NULL) { if(c == head){ cout k p == 0){ if (c->k>0) { cout kk>0) { cout...