Program Pembalik Kata C++ dengan stack

Tahukah Anda di dalam struktur data pemrograman C++ ada yang bernama tumpukan (stack), dimana stack tersebut menggunakan sistem LIFO (Last In First Out) yang memiliki arti bahwa yang masuk terakhir maka akan keluar pertama. Seperti contohnya pada tumpukan piring. Piring yang ditumpukkan terakhir di atas meja maka akan menjadi nominasi piring yang akan diambil pertama. Hal tersebutlah yang digunakan di dalam program pembalik kata ini.

Pada program pembalik kata ini, akan dipilih kata terakhir yang masuk akan dipindahkan menjadi kata pertama pada kalimat baru. Pada contohnya kalimat "LUSIANA HARYANTI", akan berpindah posisi setiap katanya menjadi "ITNAYRAH ANAISUL". Namun, meskipun sudah menggunakan struktur data stack, bukan berarti program ini tidak menggunakan struktur data yang lain, melainkan juga menggunakan struktur data struct.

Untuk lebih jelasnya mengenai bagaimana flowchart cara pembuatan program tersebut menggunakan source code, silahkan kopi dan tempelkan source code berikut ini ke dalam software compiler yang Anda gunakan. Disini, Saya sendiri menggunakan software compiler CodeBlocks.
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define maxstack 200

using namespace std;

struct stack
{
    int top;
    char data[maxstack];
};

char dta[maxstack];
struct stack stackbaru;

void inisialisasi()
{
    stackbaru.top=-1;
}

bool isfull() //menanyakan penuhkah?
{
    if (stackbaru.top == maxstack-1)return true;
    else return false;
}

bool isempty() //menanyakan kosongkah?
{
    if (stackbaru.top == -1) return true;
    else return false;
}
void push(char dta) //mengisi stack(menyiapkan data)
{
    if (isfull() == false)
    {
        stackbaru.top++;
        stackbaru.data[stackbaru.top]=dta;
    }
    else
    {
        puts("\nMaaf Stack Penuh");
    }
}

void pop() //mengambil isi stack
{
    while (isempty() == false)
    {
        cout<<stackbaru.data[stackbaru.top];
        stackbaru.top--;
    }
}

void print() // mencetak stack
{
    cout<<"";
    for(int i=0; i<=stackbaru.top; i++)
    {
        cout<<stackbaru.data[i];
    }
}

void clear()
{
    stackbaru.top = -1;
}

int main()
{
    char kata[200];

    printf("---PROGRAM PEMBALIK KALIMAT---\n\n");
    printf("Masukan kalimat : \n");

    gets(kata);

    for(int i=0; kata[i]; i++)
        push(kata[i]);
    printf("----------------------------------\n\n");

print();
cout<<"   Menjadi   ";
pop();
cout<"\n\n\n";
getche();
}

Setelah selesai Anda kopi dan tempelkan ke dalam software compiler yang Anda gunakan, maka keluaran dari program pembali kata c++ dengan stack akan menjadi seperti berikut ini:

Program Pembalik Kata C++ dengan Stack
Output Program Pembalik Kata C++ dengan Stack
Sekianlah program yang dapat Saya sampaikan dalam postingan kali ini, semoga postingan kali ini dapat bermanfaat bagi siapapun yang telah membaca dan menerapkannya ke dalam program masing-masing. Jangan lupa juga untuk berkomentar atau menekan tombol share pada postingan ini agar Saya lebih semangat lagi dalam membuat postingan yang berhubungan dengan anak informatika
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Posting Komentar