Selamat Datang di Pratomo Wijoyo Berikan Komentar Anda untuk Kemajuan Blog ini

Selasa, 08 Februari 2011

Contoh Program C++: Standard Template Library

STL singkatan dari Standard Template Library. Compiler C++ telah menyediakan library khusus untuk menampung beberapa template yang memang secara umum sering dipakai dalam pembuatan program. Dengan adanya STL, programmer tidak perlu lagi coding dari nol dan mulai awal. Namun cukup memanfaatkan template yang sudah dijadikan library tersebut. Tugas programmer tinggal menganalisa dan memilih template mana yang paling cocok dengan kebutuhan programnya. Di dalam template sudah disediakan container class lengkap dengan fungsi-fungsinya. Berikut adalah salah satu contoh penggunanan STL list untuk mengimplementasikan linked list:
#include “iostream.h”
#include “list” //standard template library
using namespace std;
int main(){
list values, otherValues;
values.push_front(1);
values.push_front(2);
values.push_back(4);
values.push_back(3);
list::iterator p; //pointer u/ mengakses isi container class
for (p=values.begin(); p!=values.end(); p++)
{
cout << *p <
}
return 0;
}
Read More..

Minggu, 06 Februari 2011

Contoh Program Double Stack

Sekarang aku mo lanjutin postingan sebelumnya yaitu mengenai Double Stack, sebelumnya sudah kejelaskan sedikit tentang apa itu double stack, bisa dibaca di artikel sebelumnya double stack Contoh Program Double Stack

Sekarang tinggal memberikan Contoh Program Double Stack C.

Oke langsung aja, ini dia Contoh Program Double Stack nya



/*Contoh double stack*/

#include "stdio.h"
#include "conio.h"

#define MAX 50
#define true 1
#define false 0

char stack[MAX];
int top1, top2;

void init(void);
void push(char data, int nomorstack);
char pop(int nomorstack);
void clear(int nomorstack);
int full(void);
int empty(int nomorstack);
void baca();

main(){
char data;
int pilih, nomorstack;

init();

do{
clrscr();
printf("Contoh program double stack");
printf("\n1. Push");
printf("\n2. Pop");
printf("\n3. Clear");
printf("\n4. Baca");
printf("\n5. Selesai...");
printf("\nPilihan anda : \n");
scanf("%i",&pilih);

switch(pilih){
case 1: printf("Push\n");
printf("Masukkan datanya :\n"); scanf("%s",&data);
printf("Mau dimasukkan ke stack berapa ? 1 atau 2 ? :\n");

scanf("%i",&nomorstack);

push(data, nomorstack);
break;
case 2: printf("Pop\n");
printf("Masukkan nomor stack\n");
scanf("%i",&nomorstack);
data=pop(nomorstack);
printf("\nData yang dikeluarkan adalah %s", data);
break;
case 3: printf("Clear\n");
printf("Nomor Stack yang akan dikosongkan \n");
scanf("%i",&nomorstack);
clear(nomorstack);
break;
case 4: printf("Baca\n");
baca();
break;
case 5: printf("Exit");
break;
default: printf("Pilihan yang anda masukkan tidak ada");
break;
}
}while(pilih!=5);



getch();
}

//init
void init(){
top1=0;
top2=MAX+1;
}

//PUSH
void push(char data, int nomorstack){

if(full()!=true){

switch(nomorstack){
case 1: top1++;
stack[top1]=data;
break;
case 2: top2--;
stack[top2]=data;
break;
default: printf("\nNomor stack salah");
break;

}


}
else
printf("\nStack penuh");
getch();

}

//POP
char pop(int nomorstack){
char data;

if(empty(nomorstack)!=true){

switch(nomorstack){
case 1: data=stack[top1];
top1--;
return data;
break;
case 2: data=stack[top2];
top2++;
return data;
break;
default: printf("\nNomor stack salah");
break;
}

}
else printf("\nStack masih kosong");

getch();
return 0;
}

//cek full

int full(void){

if(top1+1>=top2){
return true;
}

else return false;


}

//cek empty
int empty(int nomorstack){

switch(nomorstack){
case 1: if(top1==0) return true;
else return false;
break;
case 2: if(top2==MAX+1) return true;
else return false;
break;
default: printf("nomor stack salah");
break;
}



}

//clearing
void clear(int nomorstack){

switch(nomorstack){

case 1: top1=0;
break;
case 2: top2=MAX+1;
break;
default: printf("Nomor stack salah");
break;

}
}

void baca(){
int i;

printf("Baca isi stack pertama \n");

for(i=1; i<=top1; i++){
printf(" %c ",stack[i]);
printf("\n");

}

printf("Isi stack kedua\n");

for(i=MAX; i>=top2; i--){
printf(" %c ",stack[i]);
printf("\n");
}

getch();
}



Jika ada masalah dengan Contoh Program Double Stack silahkan tinggalkan komentar...

sekian dan terima kasih. Contoh Program Double Stack


Artikel Saya lainnya :



Read More..

Double Stack C

Beberapa waktu yang lalu saya pernah menulis tentang Single Stack nah kali ini gak beda jauh dengan yang sebelumnya. Dalam double stack kali ini kita masih menggunakan sebuah array, namun di dalam array tersebut akan ada dua buah stack, makanya di kasih nama Double Stack Double Stack C

Jadi lebih mudahnya seperti ini, stack yang satu akan selalu bergerak ke kanan, sedangkan satunya lagi akan bergerak kekiri, lalu dimana topnya,,,? jadi topnya adalah saat dimana dua buah stack itu bertabrakan, yakni ditengah-tengah, ups gak musti tengah deng. . Double Stack C

Sekarang kita bahas bagian2 apa aja yang musti ada di source double stack,

Variable Global


#define MAX 50
#define true 1
#define false 0

char stack[MAX];
int top1, top2;




jadi besarnya array kita itu static, nggak bisa dinamis, jadi kalo butuh ruangan yang besar ya nilai MAX nya dibesarin aja

Fungsi Init


void init(){
top1=0;
top2=MAX+1;
}


Fungsi Full


int full(void){

if(top1+1>=top2){
return true;
}

else return false;
}


Fungsi Empty


int empty(int nomorstack){
switch(nomorstack){
case 1: if(top1==0) return true;
else return false;
break;
case 2: if(top2==MAX+1) return true;
else return false;
break;
default: printf("nomor stack salah");
break;
}
}


Fungsi Clear


void clear(int nomorstack){

switch(nomorstack){

case 1: top1=0;
break;
case 2: top2=MAX+1;
break;
default: printf("Nomor stack salah");
break;

}
}


Fungsi PUSH


void push(char data, int nomorstack){

if(full()!=true){

switch(nomorstack){
case 1: top1++;
stack[top1]=data;
break;
case 2: top2--;
stack[top2]=data;
break;
default: printf("\nNomor stack salah");
break;

}


}
else
printf("\nStack penuh");
getch();

}


fungsi POP


char pop(int nomorstack){
char data;

if(empty(nomorstack)!=true){

switch(nomorstack){
case 1: data=stack[top1];
top1--;
return data;
break;
case 2: data=stack[top2];
top2++;
return data;
break;
default: printf("\nNomor stack salah");
break;
}

}
else printf("\nStack masih kosong");

getch();
return 0;
}


ya fungsi umum di Double Stack kebanyakan itu-itu aja, kalo mo tambahin fungsi untuk Baca juga bisa. .

Oke sekian artikel Double Stack C tinggal bikin contoh Programnya saja

P.N.W
Double Stack C

Artikel Saya lainnya :


Read More..