Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Soal dan Jawaban Tugas Pendahuluan & Tugas Akhir Stack (Struktur Data)

Struktur Data adalah salah satu mata kuliah di Universitas Pamulang Viktor. Saya saat belajar struktur data hanya mencatat dan membuat tugas dan alhamdulilah tugasnya gampang-gampang termasuk Uts dan Uasnya dan alhamdulilah nya lagi di akhir semester mendapatkan nilai A.


Disini saya akan membagikan soal dan jawaban struktur data baik soal pendahuluan atau tugas akhir (soal coding) dari struktur data tersebut di bagian "Stack".


Soal dan Jawaban Tugas Pendahuluan Stack

1. Apa yang dimaksud dengan Stack!
Kumpulan elemen yang hanya dapat ditambah atau dihapus dari suatu ujung (gerbang) yang sama.
2. Bagaimana tahapan-tahapan proses operasi PUSH !
  • Periksa apakah stack penuh (isfull), jika bernilai false/0 (tidak penuh) maka proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1, true proses push digagalkan.
  • Proses pushnya sendiri adalah dengan menambahkan field top dengan 1, kemudian elemen pada posisi diisi dengan elemen data baru.
3. Bagaimana tahapan-tahapan proses operasi POP !
Operasi ini biasanya dibuat dalam bentuk function yang mereturnkan nilai sesuai data yang ada di top. Operasi pop pada stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong, jika kosong maka data diambil pada posisi yang ditunjuk oleh posisi top kemudian disimpan dalam variabel baru dengan nama "data".
4. Jelaskan karakteristik-karakteristik dari Stack !
  • Elemen stack yaitu item-item data dielemen stack.
  • Top (elemen puncak dari stack)
  • Jumlah elemen pada stack
  • Status/kondisi stack 
Kondisi stack yang menjadi perhatian:
  • Kosong
  • Penuh

Soal dan Jawaban Tugas Akhir Stack

1. Buatlah program untuk mengkonversi bilangan desimal menjadi biner dengan menggunkan Stack !
#include<stdio.h>
#include<conio.h>
int MAXSTACK; typedef int itemtype;
typedef struct
{
 itemtype item[300]; int count;
}stack;
void initializestack(stack *s)
{
 s->count = 0;
}
int empty(stack *s)
{
 return (s->count == 0);
}
int full(stack *s)
{
 return (s->count == MAXSTACK);
}
void push(itemtype x, stack *s)
{
 if(full(s))
 printf("stack penuh !\n");
 else
 {
  s->item[s->count]=x; ++(s->count);
 }
}
int pop(stack *s)
{
 if(empty(s))
 printf("stack kosong\n");
 else
 {
  --(s->count);
  return (s->item[s->count]);
 }
}
main()
{
 int i, n, m, l, z; int input;
 stack tumpukan;
 printf("Program Pengkonversi Desimal ke Biner\n\n");
 initializestack(&tumpukan);
 printf("Masukkan bilangan desimal = ");
 scanf("%d", &input);

 for(z=1,n=input;n>0;n=n/2, z++)
 {
  MAXSTACK=z;
 }
 m=0;
 for(n=input;n>0;n=n/2)
 {
  l=n%2;
  push(l,&tumpukan);
  ++m;
 }
 printf("Masukkan bilangan biner = ");
 for(i=MAXSTACK;i>0;i--)
 {
  printf("%d", pop(&tumpukan));
 }
 getch();
 return 0;
}
Maka hasil outputnya :


output tugas akhir stack
output tugas akhir stack
Semoga bermanfaat dan jangan lupa share teman sekelas ya agar bisa dapat nilai A. Masuk bareng lulus juga harus bareng, jangan pelit ilmu antara teman sekelas. Terimakasih!

Jangan lupa kunjungi maswijaba untuk artikel bermanfaat lainnya.

Post a Comment for "Soal dan Jawaban Tugas Pendahuluan & Tugas Akhir Stack (Struktur Data)"