Minggu, 16 April 2017

Latihan Soal Single Linked List


JAWABAN:
1.   Kata lain link disebut juga Link list tunggal. Pointer aritmatika (variabel penunjuk) adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang
mempunyai nilai tertentu.


2.   Pandangan sebuah linked list, LIST yang tersimpan dalam memory berupa larik INFO dan LINK, dilengkapi dengan variable penuding START, yang berfungsi menuding lokasi simpul pertama dari list, dan NULL yang digunakan untuk menyatakan berakhirnya list.

Nomor 3, 4, 5, 6
7.     Header linked list merupakan suatu list yang mengandung suatu simpul khusus yang terletak pada bagian awal dari list yang disebut simpul header.
jenis linked list :                      
a. header linked list
b. circular linked list
c. doubly linked list
d. multiple linked list
     
    8.     Penyisipan :
if(awal_ptr != NULL)
 {
 cout<<"Akan disisip setelah Data Ke ? : ";
 cin>>posisi_sisip;
 bantu=awal_ptr;
 baru =new node;
 for(int i=1;i<posisi_sisip-1;i++)
{
   if(bantu->next != NULL)
   bantu=bantu->next; else break;
 }
 cout << "Masukkan Nama : ";
 cin >> baru->nama;
 cout << "Masukkan Umur : ";
 cin >> baru->umur;
 cout << "Masukkan tingggi : ";
 cin >> baru->tinggi; baru->
 next=bantu->next;
bantu->next=baru;
}
else
 {
  cout<<"Belum ada data !! silahkan isi data dulu....";
  getch();
 }

 menghapus depan :
void hapusDepan (){
TNode *hapus,*bantu;
if (isEmpty()==0){
int d;
hapus = head;
d = head->data;
if(head->next != head){
bantu = head;
while(bantu->next!=head){
bantu=bantu->next;
}
head = head->next;
delete hapus;
bantu->next = head;
}else{
head=NULL;
}
printf(“%d terhapus\n“,d);
} else printf(”Masih kosong\n“);
}

Menghapus belakang :
void hapusBelakang(){
TNode *hapus,*bantu;
if (isEmpty()==0){
int d;
hapus = head;
if(head->next == head){
head = NULL;
}else{
bantu = head;
while(bantu->next->next != head){
bantu = bantu->next;
}
hapus = bantu->next;
d = bantu->data;
bantu->next = head;
delete hapus;
}
printf(“%d terhapus\n“,d);
} else printf(”Masih kosong\n“);
}

Minggu, 09 April 2017

Pemetaan RMO dan CMO Array Dimensi 3

SOAL :
Buatlah Ilustrasi Tabel, Pemetaan RMO & CMO, Jalur Perpindahan Serta Hitunglah hasilnya dalam array-array dibawah ini:
1.       Array Long A[5][4][2] dengan nilai awal A[0][1][0] = 00AF(H). Berapa nilai A[4][2][1]..?
2.       Array Long A[5][5][2] dengan nilai awal A[1][1][0] = 5F(H). Berapa nilai A[4][2][1]..?
3.       Array Long A[5][5][2] dengan nilai awal A[1][1][0] = 00AF(H). Berapa nilai A[4][4][1]..?

No 1.
Terdapat array tiga dimensi dengan long A[5][4][2].
Diketahui &A[0][1][0]=00AF(H),
Ditanya &A[4][2][1] =....?

Tabel array  [BARIS][KOLOM][GROUP] 
Group 0
0
1
2
3
4
0

00AF(h)



1





2





3





4






Group 1
0
1
2
3
4
0





1





2





3





4



&A[4][2][1]..?


Pemetaan RMO
  1. Hitung besarnya perpindahan group: 1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*4=20
  3. Hitung bersarnya perpindahan baris: 4-0=4
  4. Dalam 1 baris terdapat 4 kolom sehingga total perpindahan baris =4*4=16
  5. Total perpindahan kolom adalah :2-1=1
  6. Total dari seluruh perpindahan (Group + Baris + Kolom) =20+16+1=37

Jalur perpindahan:      A[0][2][0] → A[0][3][0] → A[1][0][0] → A[1][1][0] →A[1][2][0] →
                                              A[1][3][0] → A[2][0][0] → A[2][1][0] →A[2][2][0] → A[2][3][0] →
                                              A[3][0][0]→A[3][1][0] → A[3][2][0] → A[3][3][0] → A[4][0][0] →
                                              A[4][1][0] →A[4][1][0] → A[4][3][0] → A[0][0][1] → A[0][1][1] →
                                              A[0][2][1] →A[0][3][1] → A[1][0][1] → A[1][1][1] → A[1][2][1] →
                                              A[1][3][1] →A[2][0[1] → A[2][1][1] → A[2][2][1] → A[2][3][1] →
                                              A[3][0][1] →A[3][1[1] → A[3][2][1] → A[3][3][1] → A[4][0][1] →
                                              A[4][1][1] →A[4][2[1]

Hasil: 00AF(H) + (37(D)*2)                     = (0*163)+(0*162)+(10 * 161)+(15 * 160)(D) + 74(D)
                                                                = 175(D) + 74(D)
                                                                = 267(D)
                                                                = F9(H)
Pemetaan CMO
  1. Hitung besarnya perpindahan group:1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*4=20
  3. Hitung bersarnya perpindahan kolom: 2-1=1
  4. Dalam 1 kolom terdapat 5 baris sehingga total perpindahan kolom =1*5=5
  5. Total perpindahan baris adalah :4-0=4
  6.  Total dari seluruh perpindahan (Group + Baris + Kolom) =20+4+5=29

Jalur perpindahannya :       A[1][1][0] → A[2][1][0] → A[3][1][0] → A[4][1][0] →A[0][2][0] →
                                                A[1][2][0] → A[2][2][0] → A[3][2][0] →A[4][2][0] → A[0][3][0] →
                                                A[1][3][0]→A[2][3][0] → A[3][3][0] → A[4][3][0] → A[0][0][1] →
                                                A[1][0][1] →A[2][0][1] → A[3][0][1] → A[4][0][1] → A[0][1][1] →
                                                A[1][1][1] →A[2][1][1] → A[3][1][1] → A[4][1][1] → A[0][2][1] →
                                                A[1][2][1] →A[2][2[1] → A[3][2][1] → A[4][2][1] →


Hasil: 00AF(H) + (29(D)*2)                     = (0*163)+(0*162)+(10 * 161)+(15 * 160)(D) + 58(D)
                                                                = 175(D) + 58(D)
                                                                = 233(D)
                                                                = E9(H

No 2.
Terdapat array tiga dimensi dengan long A[5][5][2].
Diketahui &A[1][1][0]=5F(H),
Ditanya &A[4][2][1] =....?

Tabel array  [BARIS][KOLOM][GROUP]
Group 0
0
1
2
3
4
0





1

5F(H)



2





3





4






Group 1
0
1
2
3
4
0





1





2





3





4


&A[4][2][1]..?



Pemetaan RMO
  1. Hitung besarnya perpindahan group: 1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*5=25
  3. Hitung bersarnya perpindahan baris: 4-1=3
  4. Dalam 1 baris terdapat 5 kolom sehingga total perpindahan baris =3*5=15
  5. Total perpindahan kolom adalah :2-1=1
  6. Total dari seluruh perpindahan (Group + Baris + Kolom) =25+15+1=41



Jalur perpindahan :          A[1][2][0] → A[1][3][0] → A[1][4][0] → A[2][0][0] →A[2][1][0] →
                                                A[2][2][0] → A[2][3][0] → A[2][4][0] →A[3][0][0] → A[3][1][0] →
                                                A[3][2][0]→A[3][3][0] → A[3][4][0] → A[4][0][0] → A[4][1][0] →
                                                A[4][2][0] →A[4][3][0] → A[4][4][0] → A[0][0][1] → A[0][1][1] →
                                                A[0][2][1] → A[0][3][1] → A[0][4][1] → A[1][0][1] →A[1][1][1] →
                                                A[1][2][1] →A[1][3[1] → A[1][4][1] →A[2][0][1] → A[2][1][1] →
                                                A[2][2][1] →A[2][3][1] →A[2][4][1] → A[3][0[1] → A[3][1][1] →
                                                A[3][2][1] → A[3][3][1] →A[3][4][1] →A[4][0[1] → A[4][1][1] →
                                                A[4][2][1]

Hasil: 5F(H) + (41(D)*2)          (5 * 161)+(15 * 160)(D) + 82(D)
                                                = 95(D) + 82(D)
                                                = 177(D)
                                                = B1(H)
Pemetaan CMO
  1. Hitung besarnya perpindahan group:1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*5=25
  3. Hitung bersarnya perpindahan kolom: 2-1=1
  4. Dalam 1 kolom terdapat 5  baris sehingga total perpindahan kolom =1*5=5
  5. Total perpindahan baris adalah :4-1=3
  6.  Total dari seluruh perpindahan (Group + Baris + Kolom) =25+3+5=33

Jalur pemindahan :          A[2][1][0] → A[3][1][0] → A[4][1][0] → A[0][2][0] →A[1][2][0] →
                                                A[2][2][0] → A[3][2][0] → A[4][2][0] →A[0][3][0] → A[1][3][0] →
                                                A[2][3][0]→A[3][3][0] → A[4][3][0] → A[0][4][0] → A[1][4][0] →
                                                A[2][4][0] →A[3][4][0] → A[4][4][0] → A[0][0][1] → A[1][0][1] →
                                                A[2][0][1] → A[3][0][1] → A[4][0][1] → A[0][1][1] →A[1][1][1] →
                                                A[2][1][1] →A[3][1[1] → A[4][1][1] →A[0][2][1] → A[1][2][1] →
                                                A[2][2][1] →A[3][2][1] →A[4][2][1]

Hasil: 5F(H) + (33(D)*2)         (5 * 161)+(15 * 160)(D) + 66(D)
                                                = 95(D) + 66(D)
                                                = 161(D)
                                                = A1(H)               

No 3.
Terdapat array tiga dimensi dengan long A[5][5][2].
Diketahui &A[1][1][0]=00AF(H),
Ditanya &A[4][4][1] =....?

Tabel array  [BARIS][KOLOM][GROUP]
Group 0
0
1
2
3
4
0

00AF(h)



1





2





3





4






Group 1
0
1
2
3
4
0





1





2





3





4



&A[4][4][1]..?
Pemetaan RMO
  1. Hitung besarnya perpindahan group: 1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*5=25
  3. Hitung bersarnya perpindahan baris: 4-1=3
  4. Dalam 1 baris terdapat 5 kolom sehingga total perpindahan baris =3*5=15
  5. Total perpindahan kolom adalah :4-1=3
  6. Total dari seluruh perpindahan (Group + Baris + Kolom) =25+15+3=43



Jalur pemindahan :            A[1][2][0] → A[1][3][0] → A[1][4][0] → A[2][0][0] →A[2][1][0] →
                                                A[2][2][0] → A[2][3][0] → A[2][4][0] →A[3][0][0] → A[3][1][0] →
                                                A[3][2][0]→A[3][3][0] → A[3][4][0] → A[4][0][0] → A[4][1][0] →
                                                A[4][2][0] →A[4][3][0] → A[4][4][0] → A[0][0][1] → A[0][1][1] →
                                                A[0][2][1] → A[0][3][1] → A[0][4][1] → A[1][0][1] →A[1][1][1] →
                                                A[1][2][1] →A[1][3[1] → A[1][4][1] →A[2][0][1] → A[2][1][1] →
                                                A[2][2][1] →A[2][3][1] →A[2][4][1] → A[3][0[1] → A[3][1][1] →
                                                A[3][2][1] → A[3][3][1] →A[3][4][1] →A[4][0[1] → A[4][1][1] →
                                                A[4][2][1] → A[4][3][1] →A[4][4][1]


Hasil: 00AF(H) + (43(D)*2)                     = (0*163)+(0*162)+(10 * 161)+(15 * 160)(D) + 86(D)
                                                                = 175(D) + 86(D)
                                                                = 261(D)
                                                                = 105(H)
Pemetaan CMO
  1. Hitung besarnya perpindahan group:1-0=1
  2. Total perpindahan 1 group = banyak baris dikali banyak kolom =5*5=25
  3. Hitung bersarnya perpindahan kolom: 4-1=3
  4. Dalam 1 kolom terdapat 5 baris sehingga total perpindahan kolom =3*5=15
  5. Total perpindahan baris adalah :4-1=3
  6.  Total dari seluruh perpindahan (Group + Baris + Kolom) =25+3+15=43

Jalur pemindahan :                
                                                A[2][1][0] → A[3][1][0] → A[4][1][0] → A[0][2][0] →A[1][2][0] →
                                                A[2][2][0] → A[3][2][0] → A[4][2][0] →A[0][3][0] → A[1][3][0] →
                                                A[2][3][0]→A[3][3][0] → A[4][3][0] → A[0][4][0] → A[1][4][0] →
                                                A[2][4][0] →A[3][4][0] → A[4][4][0] → A[0][0][1] → A[1][0][1] →
                                                A[2][0][1] → A[3][0][1] → A[4][0][1] → A[0][1][1] →A[1][1][1] →
                                                A[2][1][1] →A[3][1[1] → A[4][1][1] →A[0][2][1] → A[1][2][1] →
                                                A[2][2][1] →A[3][2][1] →A[4][2][1] →A[0][3][1] → A[1][3][1] →
                                                A[2][3][1] →A[3][3[1] → A[4][3][1] →A[0][4][1] → A[1][4][1] →
                                                A[2][4][1] →A[3][4][1] →A[4][4][1]

Hasil: 00AF(H) + (43(D)*2)                     = (0*163)+(0*162)+(10 * 161)+(15 * 160)(D) + 86(D)
                                                                = 175(D) + 86(D)
                                                                = 261(D)
                                                                = 105(H)