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

Saturday, June 11, 2016

Instalasi program R beserta penjelasannya


Program R

R adalah bahasa pemrograman dan perangkat lunak untuk analisis statistika dan grafik R. R dibuat
oleh Ross Ihaka dan Robert Gentleman di Universitas Auckland, Selandia Baru, dan kini
dikembangkan oleh R Development Core Team. Bahasa R kini digunakan statistikawan untuk
pengembangan perangkat lunak statistika, serta digunakan secara luas untuk pengembangan
perangkat lunak statistika dan analisis data. R menyediakan berbagai teknik statistika (permodelan
linier dan nonlinier, uji statistik klasik, analisis deret waktu, klasifikasi, klasterisasi, dan sebagainya)
serta grafik. R, sebagaimana S, dirancang sebagai bahasa komputer sebenarnya, dan mengizinkan
penggunanya untuk menambah fungsi tambahan dengan mendefinisikan fungsi baru. Kekuatan besar
dari R yang lain adalah fasilitas grafiknya, yang menghasilkan grafik dengan kualitas publikasi yang
dapat memuat simbol matematika.

Instalasi R
Menginstal R pada sistem operasi Windows
Klik dua kali file R-2.3.2-win.exe yang telah di download melalui internet.
Kemudian akan keluar tampilan sebagai berikut :
 



Pilih bahasa yang akan digunakan, default pada instalasi program ini adalah English, kemudian OK.
Klik Next pada jendela dialog di atas dan akan muncul sebagai berikut :


Klik Next kemudian muncul jendela dialog sebagai berikut :  






Jendela dialog di atas digunakan untuk menentukan lokasi instalasi dari R.
Di sini default lokasi instalasinya, yakni pada direktori C:\Program Files\R\R-3.0.2.
Jika ingin mengubah lokasi instalasinya dapat dengan mengklik browse kemudian pilih lokasi yang diinginkan.

Default instalasi adalah menggunakan mode 32-bit User instalation.
Anda dapat juga memilih mode instalasi lain. Akan tetapi, mode default di atas sudah cukup untuk keperluan  praktikum kita. Terlihat instalasi mode ini membutuhkan space 75.1 MB dari hard disk. Selanjutnya klik Next.

 
Pada jendela dialog di atas kita pilih default kemudian pilih Next.

Jendela dialog di atas untuk menentukan lokasi shortcut dari program R pada start menu program. Di sini kita akan menggunakan modus default dari instalasi, yakni shortcut akan diletakkan pada direktori R. Kemudian pilih Next dan sekali lagi pada jendela dialog selanjutnya, maka proses instalasi akan dimulai.


Silakan menunggu sampai proses instalasi selesai.
Jika proses telah selesai kemudian akan keluar jendela dialog sebagai berikut :


Klik Finish pada jendela dialog di atas.
Kemudian pada desktop windows dan start menu dari windows akan terdapat shortcut dari R. Shortcut dari program R pada desktop windows dapat dilihat pada gambar berikut

Klik dua kali shortcut R pada desktop atau pada start menu kemudian akan muncul tampilan sebagai berikut :

Menginstal Rcommander
pada sistem operasi Windows Untuk menginstal Rcommander,
pilih menu Packages > Install package(s) from local zip files .... Kemudian pilih file Rcmdr_2.0-3.zip. Lihat seperti pada jendela dialog berikut  



Klik open kemudian paket Rcmdr akan terinstal dan lihat tampilan pada Rconsole.  Tampilan Rconsole akan tampil seperti gambar di bawah ini :




Pada dialog Rconsole terdapat error dan perlu di instal paket tcltk2.
Langkah untuk menginstal paket tcltk2 sama seperti proses menginstal paket Rcmdr di atas. Kemudian jalankan paket Rcommander yang dapat dilakukan dengan dua cara, yakni dengan mengetikkan perintah berikut pada Rconsole :
>library(Rcmdr)
dan menekan Enter satu kali, atau dengan memilih menu Packages>Load package ... dan memilih Rcmdr pada daftar paket library yang terinstal sebagai berikut :


Tekan OK dan akan muncul seperti ini  





Agar paket Rcmdr dapat berjalan secara sempurna maka perlu diinstal paket-paket lainnya yang telah tercantum di atas. Proses penginstalan paket-paket tersebut sama seperti proses penginstalan paket Rcmdr.




Sekian postingan kali ini 
Jangan lupa like commend dan share yah
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

Thursday, June 9, 2016

Contoh Soal Ujian Algoritma Tree C++



Contoh Soal Ujian Algoritma Tree C++

Hai teman teman

kali ini saya akan mengeshare contoh soal untuk Tree, ini adalah soal yang saya hadapi sendiri saat

ujian semester kemarin hehehe

berikut adalah contoh soalnya semoga bermanfaat

SOAL UJIAN AKHIR D3 KOMSI TA. 2012/2013

SEKOLAH VOKASI UNIVERSITAS GADJAH MADA YOGYAKARTA

            MATA UJIAN : ALGORITMA DAN STRUKTUR DATA 2 (B , C)

            SIFAT                        : Buku Terbuka  
            DOSEN                      : Drs. Janoe Hendarto MKom.       
            TANGGAL               : 24 Juni 2013
 

1. a. Jelaskan kelebihan dari struktur data AVL Tree, kemudian jelaskan kelebihan dan kekurangan dari metode hashing dengan linked (open hashing) dan metode hashing dengan linear probing (closed hashing).
b. Tulis output program multiple linked list berikut:
#include<iostream>
#include<conio.h>
using namespace std;
typedef struct node1
         { int data; struct node1 *next;  } *opo;
typedef struct node
         { char blok; struct node *next;opo down; } *list;
main() {
   int i,n=5; list l=NULL,b,p;opo t,q;
   for (i=1;i<=n;i++){
     b=new node;t=new node1;t->next=NULL;t->data=60+i*5;b->next=NULL; b->blok=t->data;
     if (l==NULL) {l=b;l->down=t;}
     else {b->next = l; l = b; l->down = t; t->next = l->next->down; }
    }
   p=l;
   while (p!=NULL) {
        cout<<p->blok<<" = "; q=p->down; cout<<q->data<<", "; q=q->next;  p=p->next;}     
}
2. a.  Jika diketahui informasi sebagai berikut :
Inorder
J
S
G
A
U
Y
I
M
P
E
Preorder
U
G
J
S
A
M
Y
I
E
P



Gambarlah pohon biner yang memenuhi informasi di atas, kemudian tentukan hasil kunjungan postordernya
b. Diberikan deretan data sebagai berikut:
                   42, 68, 35, 1, 70, 25, 79, 59, 63, 65
·         Buatlah Binary Search Tree berdasarkan urutan data tersebut.
·         Buatlah AVL Tree berdasarkan urutan data tersebut.

3.     a Jika diketahui data key adalah :
32, 83, 49, 88, 97, 24, 87, 8, 78, 26, 89, 71
Menggunakan fungsi hash dengan metode sisa pembagian (key mod P) + 1, tempatkan key tersebut pada larik H1, jika terjadi tabrakan gunakan metode linked dan kemudian tentukan rata-rata pencariannya. {P: bilangan prima terkecil yang >n}

selanjutnya tempatkan key tersebut pada larik H2, jika terjadi tabrakan gunakan linear probing dan kemudian tentukan rata-rata pencariannya.

b. Pada implementasi BST dengan pointer, buatlah subprogram untuk menghapus suatu node daun x (node yang datanya = xx adalah suatu karakter), perhatikan ada beberapa kasus antara lain node x adalah node daun, node x bukan node daun atau tidak ada node yang datanya sama dengan x.


sekian untuk postingan kali ini

jangan lupa like share dan commend yah

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

Contoh Coding Binary Search Tree C++


Contoh Coding Binary Search Tree C++

Hai teman teman

kali ini saya akan mengeshare tentang Coding untuk binary search tree

sebelumnya untuk lebih jelasnya kita review dulu yah tentang binary search tree.

secara sederhana :


sebuah binary search tree (bst) adalah sebuah pohon biner yang boleh kosong, dan setiap nodenya harus memiliki identifier/value. value pada semua node subpohon sebelah kiri adalah selalu lebih kecil dari value dari root, sedangkan value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada root, masing – masing subpohon tersebut (kiri&kanan)

tanpa basa basi untuk coding C++ nya sebagai berikut

#include<iostream>

#include<cstdlib>
using namespace std;

class BinarySearchTree{
      private:
      struct node{
             node* left;
             node* right;
             int data;
      };
      node* root;
      
      public:
             BinarySearchTree(){
             root = NULL;
             }
             
             bool isEmpty() const {return root==NULL;}
             struct node* newNode(int data){
             struct node* node = new(struct node);
                    node->data = data;
                    node->left = NULL;
                    node->right = NULL;
                    return(node);
             }
                    
             struct node* insert(struct node* node, int data){
                    if(node == NULL){
                             return(newNode(data));
                    }
                    else{
                         
                    if (data <= node->data) node->left = insert(node->left, data);
                    else node->right = insert(node->right, data);
                    return(node);
                    }
             }
             void insert(int data){
                  if(isEmpty()){
                                 root = newNode(data);
                                      }else{
                                            insert(root,data);
                                      }
                                 }
                                 
             void printTree(struct node* node){
                  if(node == NULL)return;
                  /*InOrder
                  printTree(node->left);
                  cout<<" "<<node->data;
                  printTree(node->right); 
                  
                  /*PreOrder
                  cout<<" "<<node->data;
                  printTree(node->left);
                  printTree(node->right);*/
                  
                  /*PostOrder
                  printTree(node->left);
                  printTree(node->right);
                  cout<<" "<<node->data;*/
             }
             void callPrintTree(){
                  printTree(root);
             }
             
             int callLookup(int target){
                 return lookup(root,target);
                 }
                 int lookup(struct node* node,int target){
                     if(node==NULL) return 0;
                     
                     if(node->data == target)return 1;
                     else{
                          if(target < node->data)
                          return lookup(node->left,target);
                          else
                          return lookup(node->right,target);
                          }
                     }
              
             int callMin(){
                 return min(root);
                 }
                 int min(struct node* node){
                     if(node->left==NULL) return node->data;
                     else return min(node->left);
                     }
                     
             int callMax(){
                 return max(root);
                 }
                 int max(struct node* node){
                     if(node->right==NULL)return node->data;
                     else return max(node->right);
                     }
                     
             int callDept(){
                 return dept(root);
                 }
                 int dept(struct node* node){
                     if(node == NULL) return 0;
                     else{
                          int l = dept(node->left);
                          int r = dept(node->right);
                          if(l < r) return 1 + r;
                               else return 1 + l;
                                     
                               }
                          }
                 
};


int main(){
    BinarySearchTree b;
    b.insert(5);
    b.insert(3);
    b.insert(9);
    b.insert(1);
    b.insert(4);
    b.insert(6);
    //b.callPrintTree();
    cout<<b.callLookup(4)<<endl; //output : 1
    cout<<b.callLookup(2)<<endl; //output : 0
    cout<<b.callMin()<<endl; //output : 1
    cout<<b.callMax()<<endl; //output : 9
    cout<<b.callDept()<<endl; // output : 3
    
    system("pause");
    return 0;
}

sekian postingan dari saya

jangan lupa like commend dan share yah

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