SOAL UJIAN SISIPAN MATRIKULASI TA. 2013/2014 S1 ILMU KOMPUTER FMIPA UNIVERSITAS GADJAH MADA YOGYAKARTA MATA UJIAN : ALGORITMA DAN STRUKTUR DATA WAKTU : 100 Menit SIFAT : Buku Terbuka DOSEN : Drs. Janoe Hendarto MKom. TANGGAL : 31 Oktober 2013 1. a. Sebutkan apa saja keuntungannya membuat struktur data dengan tipe data array dan keuntungannya membuat struktur data dengan tipe data pointer. b. Jelaskan kelebihan dan kekurangan dari single linked list dan double linked list. 2. a. Berikut adalah subprogram untuk menghapus node-node dimulai dari node dengan data = x hingga node terakhir pada doubly linked list, lengkapilah subprogram tersebut dengan mengisi statemen/variable yang sesuai pada .......... void DeleteNode(Dlist &L) { int x; Dlist t,r; cout<<"data awal yg mau dihapus :";cin>>x; if ( L->data == x ) { while ( L != NULL ) { r=L; .......... ; .......... ; } } else { t = L; while ( t != NULL && t->data != x ) t = t->next ; if ( t == NULL) cout<<" data tidak ada"<<endl; else { ............... = NULL; while ( t != NULL ) { r=t; ......... ; ......... ; } } } } b. Tuliskan output program berikut : #include<iostream> #include<conio.h> using namespace std; typedef struct node { char data; struct node *next;} *list; main() { int i, n = 10; list b, t, L = NULL; for (i=1; i<=n; i++) { b=new node; b->next=NULL; b->data = 67 + (7*i+i*2)%25; if (L == NULL) L = b; else if (b->data<=70) {b->next = L; L = b;} else { t = L; while (t->next !=NULL && t->data < b->data) t = t->next; b->next = t->next; t->next = b; } } t = L; while (t!=NULL) { cout<< t->data<<" "; t = t->next; } getch(); } 3. a. Dengan menggunakan stack buatlah subprogram untuk membalik urutan elemen matrik, sebagai gambaran berikut contoh matrik input dan outputnya. Input : 7 2 3 5 8 7 2 9 4 1 4 8 7 3 7 3 5 2 Output : 2 5 3 7 3 7 8 4 1 4 9 2 7 8 5 3 2 7 ( Saudara boleh langsung menggunakan subprogram standar pada stack ) b. Buatlah subprogram BucketSort untuk mengurutkan n data bilangan yang hanya terdiri 0 s.d. 9. (Saudara boleh langsung menggunakan subprogram standar pada queue)