Kamis, 05 Oktober 2017

PSBO PERTEMUAN KE-2

Rangkuman Pemodelan Berbasis Objek Pertemuan ke – 2.

“UML”
-       UML  (Unified Modeling Language) adalah tools untuk menggambarkan pengembanggan software atau sistem dan cocok untuk pemodelan berbasis objek.
-       Uml sangat membantu perusahaan - perusahaan dalam mencapai tujuan strategis mereka, sehingga mereka membentuk  sebuah konsorsium. Contoh perusahaan yang bergabung: Microsoft, Oracle, IBM, dll.

Konsep Dasar UML

-         Tiga elemen utama UML:
A.    Benda / things / objek
     Bentuk dari beberapa objek:
1.    Classes,  sekelompok dari  object  yang mempunyai  atribute, operasi,  dan hubungan yang semantik
2.    Interface, penghubung antara software dan komputer (perangkat lunak & keras)
3.    Collaboration, kumpulan dari kelas.
4.    Use cases, pembentuk tingkah laku objek dalam sebuah model
5.    Nodes, bentuk fisik dari elemen2

B.    Hubungan / Relationship
1.    Dependency, hubungan semantik antara dua objek yang mana bila satu objek berubah maka yg satu lainnya juga berubah.
2.    Association, hubungan antar benda secara struktural yg terhubung di antara objek dalam kesatuan objek.
3.    Generalizations, hubungan khusus dalam objek anak yg menggantikan objek induk (dari umum menjadi spesifik).
4.    Realizations, hubungan semantik antar pengelompokkan.

C.    Bagan / diagrams, menggambarkan permasalahan dan solusi dari permasalahan suatu model.
Uml mempunyai 9 diagram:
1.    Diagram Use Case, menggambarkan fungsi umum / utama dari sebuah software.
Contoh: microsoft word fungsi utamanya seperti mengolah kata, membuat desain, mengolah angka, mengolah gambar.
2.    Diagram Class, memberikan pandangan luas untuk semua system, mempunyai 3 macam relationship:
a.     Association
b.    Aggregation
c.     Generalization
3.    Diagram Package dan object, kumpulan elemen2 logika uml yang mempunyai tujuan untuk mengelompokkan diagram yg lebih kompleks.
4.    Diagram Sequence, salah satu diagram yang di atur berdasarkan waktu.
5.    Diagram Collaboration, kumpulan dari kelas2 yg saling terkait. Berfungsi membawa informasi yang sama dengan diagram  Sequence, namun hanya memfokuskan pada waktu mengirim informasi.
6.    Statechart, menggambarkan transisi dan perubahan keadaan. Tapi pada umumnya statechart menggambarkan class tertentu.
7.    Diagram Activity, berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu  proses tunggal.
8.    Diagram component, menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
9.    Diagram Deployment, menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak.

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)