Selasa, 07 Januari 2014

Pengertian Stack atau Tumpukan


Pengertian Stack atau Tumpukan adalah suatu stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.  Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“  TOP dan Penghapusan selalu dilakukan pada TOP.
STACK ATAU TUMPUKAN PADA MATAKULIAH STRUKTUR DATA
Stack karena aturan penyisipan dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus.Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out).


karena kita menumpuk Compo di posisi terakhir, maka Compo akan menjadi elemen teratas dalam tumpukan. 
Sebaliknya, karena kita menumpuk Televisi pada saat pertama kali, maka elemen Televisi menjadi elemen terbawah dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen teratas, yaitu Compo juga.

OPERASI-OPERASI/FUNGSI STACK
  • Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
  • Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
  • Clear : digunakan untuk mengosongkan stack
  • IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
  • IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
INISIALISASI STACK
Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG.!
Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH!

Ilustrasi stack pada saat inisialisasi

Fungsi IsFull
Untuk memeriksa apakah stack sudah penuh?
Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Ilustrasi
 

 Contoh Rumus seserhaana Stack
#include <iostream.h>
#include<stdio.h>
#define MAX 5
#define true 1
#define false 0

char stack[MAX];
int top;

void init(void);
int full(void);
int empty(void);
char pop(void);
void clear(void);
void push(char info);
void baca(void);

void main()
{
char pilih,elm;
cout<<"demo operasi single stack"<<endl;
init();
do
{
cout<<"OPERASI SINGLE STACK :"<<endl;
cout<<"[1]PUSH"<<endl;
cout<<"[2]POP"<<endl;
cout<<"[3]clear"<<endl;
cout<<"[4]BACA"<<endl;
cout<<"[5]selesai"<<endl;
cout<<"pilihan:";cin>>pilih;
switch(pilih)
{
case '1':cout<<"PUSH-->";cin>>elm;
push(elm);
break;
case '2':elm=pop();
cout<<"pop"<<elm;
break;
case '3':clear();
break;
case '4':baca();
break;
case '5':break;
default:cout<<"salah pilih..."<<endl;
}
cout<<endl;
}
while(pilih!='5');
}

void init(void)
{
top=0;
}
void push(char info)
{
if(full()!=true)
{
top++;
stack[top]=info;
}
else
cout<<"stack overflow..."<<endl;
}
char pop(void)
{
char info;
if(empty()!=true)
{
info=stack[top];
top--;
return(info);
}
else
cout<<"stack underflow..."<<endl;
}
void clear(void)
{
top=0;
}
int full(void)
{
if(top==MAX)
return(true);
else
return(false);
}
int empty(void)
{
if(top==0)
return(true);
else
return(false);
}
void baca(void)
{ int i;
cout<<"isi stack:"<<endl;

if(top>0)
{
for(i=1;i<=top;i++)
cout<<stack[i];
}
else
cout<<"(kosong)";
cout<<endl;
}

Pengertian Struktur Data

Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Secara garis besar type data dapat dikategorikan menjadi:
Type data sederhana.
  • Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter.
  • Type data sederhana majemuk, misalnyaString
Struktur Data, meliputi:
  • Struktur data sederhana, misalnya array dan record.
  • Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, sertaList dan Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
* List linier (Linked List) dan variasinya
* Multilist
* Stack (Tumpukan)
* Queue (Antrian)
* Tree ( Pohon)
* Graph ( Graf )

Senin, 22 Juli 2013

ddi tugas


Tugas ditulis tangan pada lembar kertas folio bergaris (bukan fotokopi-an).
Tugas dikumpulkan bersamaan dengan lembar jawab UAS.
Tugas ini TIDAK untuk dibuka saat UAS!

Jawablah semua pertanyaan di bawah ini dengan baik dan benar!
1.      Jelaskan apa yang dimaksud dengan sinyal digital dan sinyal analog!
2.      Sebutkan dua tipe dasar noise (derau) listrik dan jelaskan penyebab tiap derau tersebut!
3.      Sebutkan dan jelaskan tiga klasifikasi elemen-elemen yang dapat digunakan untuk menampilkan data!
4.      Apa yang dimaksud dengan penampil alfanumerik dan sebutkan dua tipe penampil alfanumerik!
5.      Sebutkan kegunaan sensor perpindahan!
6.      Apa yang dimaksud dengan encoder (enkoder) dan sebutkan serta jelaskan dua kategori enkoder posisi!
7.    Jelaskan apa yang dimaksud dengan istilah error?
8.    Sebutkan dan jelaskan 3 macam error yang kerap dijumpai dalam spesifikasi sistem-sistem instrumentasi!
9.      Jelaskan apa yang dimaksud dengan sensor cerdas (smart sensors)?
10.  Jelaskan apa yang dimaksud dengan sistem akuisisi data (Data Acquisition System)?
11.  Sebutkan dan jelaskan fungsi 4 elemen yang ada dalam sebuah sistem akuisisi data!
12.  Jelaskan apa yang dimaksud dengan kontrol loop terbuka (open-loop control)! Sebutkan elemen-elemen dasarnya!
13.  Jelaskan apa yang dimaksud dengan kontrol loop tertutup (closed-loop control)! Sebutkan elemen-elemen dasarnya!


Jawaban :
1.      SINYAL ANALOG  adalah sinyal data dalam bentuk gelombang yang kontinyu, yang membawa informasi dengan mengubah karakteristik gelombang. SINYAL DIGITAL merupakan sinyal data dalam bentuk pulsa yang dapat mengalamogi Sinyal digital hanya memiliki dua keadaan
2. Noise internal adalah noise yang dibangkitkan oleh komponen-komponen dalam sistem komunikasi. Noise eksternal. Dihasilkan oleh sumber di luar sistem komunikasi.Ada dua macam noise eksternal yaitu noise buatan manusia (man-made noise) dan noise alami (ekstra terrestrial)
3.      Numerik, (bilangan bulat.bilangan riil) karakter (alfabet.angka.simbol) Boolean(true.false)
4.      Alfanumerik adalah bagian dari Alphabet dan Nomor,biasanya kata alfanumerik kita temukan saat permintaan memasukkan password,saat anda diminta memasukkan alfanumerik pada password artinya anda harus memasukkan huruf dan angka pada password anda
5.      Perpindahan fungsi sensor linear adalah perpindahan linier mekanik menjadi sinyal listrik
6.      encoder adalah divais elektromekanik yang dapat memonitor gerakan dan posisi.
7.      adalah sumber variasi data yang tidak dapat dimasukkan ke dalam model.
8.      Eror Histeresis adalah Error histeresis digunakan untuk menyatakan selisih keluaran yang diperoleh dari nilai besaran yang sama, yang sedang diukur berkenaan dengan apakah nilainya didapat melalui perubahan kontinu naik atau turun 
Error non-linieritas 
Eror ini biasanya digunakan ketika mengasumsikan  sebuah hubungan yang tidak linier menjadi hubungan yang linier (untuk melakukan pendekatan). 
Error penyisipan 
Untuk mengerti fenomena error penyisipan, langsung aja ambil contoh. Misalkan dilakukan pengukuran temperatur dengan menggunakan termometer pada air yang panas.
9.      Sebuah transduser pintar adalah analog atau digital transduser atau aktuator dikombinasikan dengan unit pengolahan dan antarmuka komunikasi
10.  Sistem akuisisi data menkonversikan besaran fisis sumber data ke bentuk sinyal digital dan diolah oleh suatu komputer. 

11. Elemen masukan terdiri dari bermacam-macam transduser, pengkondisi sinyal, dan multiplekser.
Elemen sampling terdiri dari filter low-pass, rangkaian S/H, A/D converter.
Elemen kontrol merupakan unit pengolahan sentral (Central Processing Unit/CPU).
Elemen keluaran terdiri dari D/A Converter, filter low-pass dan (sin x)/x correction, I/O, Modem, Storage device, Display device, dan Printout device.

12.  Sistem kendali lup terbuka atau umpan maju (feedforward control) umumnya mempergunakan pengatur (controller) serta aktuator kendali (control actuator) yang berguna untuk memperoleh respon sistem yang baik. Sistem kendali ini keluarannya tidak diperhitungkan ulang oleh controller. Suatu keadaan apakah plant benar-benar telah mencapai target seperti yang dikehendaki masukan atau referensi, tidak dapat mempengaruhi kinerja kontroler.

13.  sistem kendali lup tertutup (closed loop system) memanfaatkan variabel yang sebanding dengan selisih respon yang terjadi terhadap respon yang diinginkan. Sistem seperi ini juga sering dikenal dengan sistem kendali umpan balik. Aplikasi sistem umpan balik banyak dipergunakan untuk sistem kemudi kapal laut dan pesawat terbang. Perangkat sehari-hari yang juga menerapkan sistem ini adalah penyetelan temperatur pada almari es, oven, tungku, dan pemanas air.