TUGAS STRUKTUR DATA (STACK ATAU TUMPUKAN)

Standar

1. Stack termasuk linear list atau non linear list? jelaskan !

JAWAB:   Stack merupakan bentuk khusus dari linier list jadi bisa dipastikan bahwa Stack merupakan linear list. kenapa? karena pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari list(TOP)


2.  Prinsip kerja stack adalah? jelaskan !!

JAWAB:  sala satu konsep yang efektip untuk menyimpan dan mengambil data adalah ” terakhir masuk sebagai yang pertama keluar” (Last in First Out/LIFO). Dengan konsep ini pengambilan data akn berkebalikan urutannya dengan penyimpanan data.

Stack adalah sebuah kumpulan data di mana data yang di letakan di atas data yang lain. Dengn demikin stack adalah struktur data yang menggunakan konsep LIFO
, Dengan demikian, element terakhir yang di simpan di stack menjadi element yang pertama di ambil. dalam proses komputasi, untuk meletakan sebuah element pada bagian atas dari stack , maka kita melakukan push dan untuk memindahkan dari tempat yang atas tersebut, kita melakukan  pop.

untuk menjelaskan pengertian di atas kita mengambil contoh sebagai berikut :  misalnya kita mempunyai dua buah bola yang kita tumpuk, sehingga kotak kita letakan kotak di atas kotak lain, jika kemudian stack dua buah kotak tersebut kita tambah dengan kotak ketiga dan seterusnya, maka akan kita peroleh sebuah  stack kotak yang terdiri dari N kotak.

3.  Sebutkan empat operasi pada stack dan beri contohnya.

a. ISEMPTY

contohnya:
void insertDepan(int databaru){
TNode *baru,*bantu;
baru = new TNode;
baru->data = databaru;
baru->next = baru;
if(isEmpty()==1){
head=baru;
head->next=head;
}
else {
bantu = head;
while(bantu->next!=head){
bantu=bantu->next;
}
baru->next = head;
head = baru;
bantu->next = head;
}
printf(”Data masuk\n“);
}

b.ISFULL

contohnya:
int Stack :: isFull()
{
if (top == max_stack -1 ) return 1;
else
return 0;
}

c.PUSH

contohnya:
void Stack :: push()
{
char insert;
int i ;
cout << “Much of data : “;
cin >> i;
if( i > max_stack -1) cout << “Out Of Range”; cout << endl;
for(int j = 0;j<=i-1;j++)
{
cout << “insert data : “;
cin >> insert;
top++;
data[top] = insert;
}

getche();
}

d.POP

contohnya:
void Stack :: pop()
{
cout << “Insert Index Data : “;
cin >> top;
cout << “Data Deleted : ” << data[top] << endl;
top–;
}

4.  Dari keempat operasi tersebut,mana yang menghasilkan data yang bertipe  Boolean?

JAWAB:ISEMPTY  

5. Sebutkan 2 Kesalahan yang mungkin Terjadi Pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu bisa terjadi?

JAWAB:      Apabila keadaan stack kosong dan kita akan memPOP(menghapus data) maka Pertama
akan terjadi kesalahan dan kemudian eror(Under Flow).
Apabila keadaan stack penuh dan kita akan men-Top (menambah data) maka akan kedua
terjadi kesalahan dan kemudian eror(Over Flow).

6.  Alihkan notasi infix A-B*C^D^(E*F) ke notasi postfix.


About arrew

Rahadian Wijaya, Lahir di Subang, 28 november 1988 menyelesaikan D1 Pada Jurusan Manajemen Informatika di AMIK BSI Karawang, Setelah Lulus kemudian melanjutkan pendidikan D3 Manajemen Informatika AMIK BSI Karawang, Pernah bekerja di DHL INDONESIA Sebagai Database Administrator, Konsultan IT Pada PRUDENT INTERNATIONAL PATENT , Dan sekarang sedang menjalankan Usaha Online di bidang Webdevelopment http://www.aerestechnology.com

One response »

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s