loading...
loading...

Wednesday, August 31, 2016

Implementasi Stack dan Code nya C++



Implementasi Stack dan Code nya C++



Sama halnya dengan data pada konsep stack di algoritma dan pemrograman. Stack (tumpukan) inilah yang menerapkan konsep yang kita kenal dengan LIFO (Last-In-First-Out) atau FCLS (First-Come-Last-Serve), artinya elemen struktur yang dimasukkan ke dalam rangkaian terakhir kali maka akan muncul pertama kali apabila ditampilkan/dikeluarkan.
Pada konsep Last-In-First-Out, yang terakhir masuk yang pertama kali keluar. Jika ada sebanyak NOEL elemen pada sebuah stack, maka elemen ke-NOEL merupakan elemen TOP.
Berikut ini adalah operator-operator atau nama method yang biasa digunakan dalam pemrograman algoritma stack.
- PUSH: penyisipan (Memasukkan elemen).
- POP: penghapusan (Mengeluarkan elemen puncak).
- IsEmpty: operator yang memeriksa apakah stack kosong.
- IsFull: operator yang memeriksa apakah stack penuh.
- Clear: operator untuk menghapus stack.
Berikut ini adalah contoh program simulasi stack menggunakan bahasa C++


header file



#include <iostream>
#include <vector>
using namespace std;

template <class T>
class Stack{

private:
vector<T> data;

public:
bool Empty(); //checks if stack is empty
void Push(T item); //adds item to stack
T Top(); //returns item at top of stack
void Pop(); //removes item at top of stack
friend ostream& operator<<(ostream&out, const Stack &s); //overloaded output operator

};

implementation file

#include <iostream>
#include <vector>
#include "Stack.h"
using namespace std;

template <class T>
bool Stack<T>::Empty() //checks if stack is empty
{
return data.empty();
}

template <class T>
void Stack<T>::Push(T item) //adds item to stack
{
data.push_back(item);

}

template <class T>
T Stack<T>::Top() //returns item at top of stack
{
if(data.back()>-1)
return data.back();

else
cerr<<"Stack is empty\n";
}

template <class T>
void Stack<T>::Pop() //removes item at top of stack
{
data.pop_back();
}

template <class T>
ostream & operator<<(ostream&out, const Stack<T> &s) //overloaded output operator
{
while(!s.Empty())
{
out<<s.Top();
s.Pop();
}return out;
}

driver file

#include <iostream>
#include <vector>
#include <string>
#include "Stack.h"
#include <fstream>
using namespace std;

int main()
{
ifstream inFile;
ofstream outFile;
inFile.open("palindrome.txt");
outFile.open("outfile.txt");

Stack<string> s;
string holdPalindrome="";
//I know the following isn't really right but I stopped here
while(inFile)
{
holdPalindrome.append(s.Top());
outFile<<holdPalindrome<<endl;
}

inFile.close();
outFile.close();

return 0;
}


sekian
semoga bermanfaat dan terima kasih.
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Implementasi Stack dengan Vector C++


Implementasi Stack dengan Vector

pengertian Stack

Stack biasa disebut tumpukan, adalah list linier yang dikenali dengan elemen puncaknya disebut top, nah penyisipan dan penghapusan data dilakukan di bagian atas saja yaitu pada bagian TOP nya.


pengertian Vector

Vector adalah gambar yang ditampilkan dengan menggunakan definisi matematis. vector adalah salah satu metode yang dapat menciptakan hasil terbaik dan digunakan oleh kebanyakan aplikasi gambar pada saat ini.

berikut adalah code C++ nya 

#include<iostream>
#include<vector>
#include<stack>
using namespace std;

template <class T>
bool Stack<T>::Empty() //checks if stack is empty 
{
return data.empty();
}

template <class T>
void Stack<T>::Push(T item) //adds item to stack
{
data.push_back(item);

}

template <class T>
T Stack<T>::Top() //returns item at top of stack
{
if(data.back()>-1)
return data.back();

else
cerr<<"Stack is empty\n";
}

template <class T>
void Stack<T>::Pop() //removes item at top of stack
{
data.pop_back();
}

template <class T>
ostream & operator<<(ostream&out, const Stack<T> &s) //overloaded output operator
{
while(!s.Empty())
{
out<<s.Top();
s.Pop();
}return out;

}


Nb : fungsi Pop digunakan untuk mengeluarkan data dari tumpukan atau stack tadi.

sekian
semoga bermanfaat




www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Berlatih Pemrograman Berorientasi Object Titik #1

Berlatih Pemrograman Berorientasi Object Titik #1

Pengenalan dasar Tentang Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM).

sumber : Wikipedia



Pemrograman berorientasi object sendiri berbahasa Java, dengan software nya yaiitu notepad++ ataupun NETBEAN ide. Untuk outputnya dapat di run pada CMD dengan masuk ke direktori Java, lalu memasukkan perintah javac program yang anda buat .java(semisal program yang anda buat bernama gue, tinggal masukkan saja perintah javac gue.java).
Dengan memasukkan perintah tersebut maka jika ada eror pun akan langsung terlihat, jika tidak ada eror pada program, tinggal memanggil langsung saja(java gue) atau java program yang anda buat tadi.

berikut adalah contoh coding nya
Membuat Titik dengan fungsi yang dipanggil di Main Titik.java

Titik.java

public class Titik{
String warna;
int x;
int y;

public Titik(String warna, int x, int y){
this.warna = warna;
this.x = x;
this.y = y;
}

public Titik(String warna){
this.warna = warna;
this.x = 0;
this.y = 0;
}
public Titik(){
warna = "putih";
x = 0;
y = 0;
}

void gantiBaju(String warna){this.warna = warna;}
void naik(){y++;}
void turun(){y--;}
void kanan(){x++;}
void kiri(){x--;}

void loncatAtas(int a){y=y+a;}
void terjun(int a){y=y-a;}
void loncatKanan(int a){x=x+a;}
void loncatKiri(int a){x=x-a;}

public void pindahCling(int x, int y){
this.x = x;
this.y = y;
}

public String toString(){
return "titik berwarna "+warna+" berada di ( "+x+","+y+")";
}
}

MainTitik.java

public class MainTitik{
public static void main(String[] args){
Titik t1 = new Titik("Biru",5,4);
Titik t2 = new Titik("Hijau");
Titik t3 = new Titik();
System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
/*
t1.naik();
t1.kiri();
t1.turun();
t1.kanan();
System.out.println(t1);

t1.gantiBaju("Merah");
System.out.println(t1);

t1.loncatAtas(10);
System.out.println("atas : "+t1);
t1.loncatKanan(20);
System.out.println("kanan : "+t1);
t1.terjun(20);
System.out.println("terjun : "+t1);
t1.loncatKiri(2);
System.out.println("kiri : "+t1);
t1.pindahCling(0,0);
System.out.println("pindah : "+t1);
*/
}

}

Penjelasan tentang coding diatas dapat anda lihat di halaman selanjutnya
semoga bermanfaat, dan terima kasih.
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net