Archive for April, 2008
Basic Comp – Word
Posted in College with tags basic, Computer, fbs on April 26, 2008 by infrontofcompieBASIC COMP.
Posted in College with tags basic, comp, Computer on April 23, 2008 by infrontofcompieBerikut ini hasil tes MOffice Word untuk gelombang 1 dan 2. Jika ada pertanyaan atau protes…silahkan mengisi comment pada blog ini..

Stack And Queue
Posted in Computer with tags algoritma, data, queue, stack on April 13, 2008 by infrontofcompie
//Stack and Queue
//Nelfrits Christopher 682005021
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
struct Node{
char nim[25];
char nama[25];
char fak[25];
Node *next;
};
class Mahasiswa{
private:
char nim[25];
char nama[25];
char fak[25];
Node *head;
Node *tail;
Node *find(char nim[25]);
Node *tmp;
public:
Mahasiswa();
~Mahasiswa();
int addDataStack(char nim[25],char nama[25],char fak[25]);
int addDataQueue(char nim[25],char nama[25],char fak[25]);
int delData(char nim[25]);
int updateData(char nim[25]);
int isNull();
void showAllData();
};
Mahasiswa::Mahasiswa(){
head = NULL;
tail = NULL;
tmp = NULL;
}
Mahasiswa::~Mahasiswa(){
Node *deletePrt;
while(head!=NULL){
deletePrt = head;
head = head->next;
delete deletePrt;
}
}
int Mahasiswa::addDataStack(char nim[25],char nama[25],char fak[25]){
Node *newNode;
newNode = new Node;
if(newNode){
if(head==NULL){
newNode->next = head;
strcpy(newNode->nim,nim);
strcpy(newNode->nama,nama);
strcpy(newNode->fak,fak);
head = newNode;
tail = newNode;
}else{
newNode->next = head;
strcpy(newNode->nim,nim);
strcpy(newNode->nama,nama);
strcpy(newNode->fak,fak);
head = newNode;
}
return 1;
}else{
return 0;
}
}
int Mahasiswa::addDataQueue(char nim[25],char nama[25],char fak[25]){
Node *newNode;
newNode = new Node;
if(newNode){
if(head==NULL){
head = newNode;
strcpy(newNode->nim,nim);
strcpy(newNode->nama,nama);
strcpy(newNode->fak,fak);
newNode->next = NULL;
tail = newNode;
}else{
tail->next = newNode;
strcpy(newNode->nim,nim);
strcpy(newNode->nama,nama);
strcpy(newNode->fak,fak);
newNode->next = NULL;
tail = newNode;
}
return 1;
}else{
return 0;
}
}
void Mahasiswa::showAllData(){
clrscr();
cout<<"\n\n\n\t --------------------- DATA MAHASISWA---------------------\n\n";
Node *ptr;
ptr = head;
while(ptr!=NULL){
cout<<"\t NIM : "<<ptr->nim<<"\n";
cout<<"\t NAMA : "<<ptr->nama<<"\n";
cout<<"\t FAKULTAS: "<<ptr->fak<<"\n";
cout<<"\t --------------------------\n";
ptr = ptr->next;
}
getch();
}
int Mahasiswa::isNull(){
if(tail==NULL)
return 1;
else
return 0;
}
int Mahasiswa::delData(char nim[25]){
Node *ptr,*ptr2;
ptr2 = head;
ptr = find(nim);
if(ptr==NULL){
return 0;
}else{
if(ptr==head){
ptr2 = ptr->next;
head = ptr2;
}else{
tmp->next = ptr->next;
}
delete ptr;
return 1;
}
}
int Mahasiswa::updateData(char nim[25]){
Node *ptr;
ptr = find(nim);
if(ptr==NULL){
return 0;
}else{
clrscr();
cout<<"\n\n\n\t --------------------- INPUT DATA MAHASISWA QUEUE---------------------\n\n";
cout<<"\t NIM: ";
gets(ptr->nim);
cout<<"\n\t NAMA: ";
gets(ptr->nama);
cout<<"\n\t FAKULTAS: ";
gets(ptr->fak);
return 1;
}
}
Node* Mahasiswa::find(char nim[25]){
Node *data;
data = head;
while(data!=NULL){
if(strcmp(data->nim,nim)==0){
break;
}
tmp = data;
data = data->next;
}
return data;
}
void initFace(){
flushall();
cout<<"\n\n\n\t ---------------------DATA MAHASISWA---------------------\n\n";
cout<<"\t 1) Tambah Data\n";
cout<<"\t 2) Hapus Data\n";
cout<<"\t 3) Edit Data\n";
cout<<"\t 4) Tampilkan Data\n";
cout<<"\t 5) Keluar\n";
cout<<"\t Pilih: ";
}
void main(){
int opt,opt2,stat;
char nama[25],fak[25],nim[25],nimDel[25],nimUpd[25];
Mahasiswa mhs;
while(1){
clrscr();
initFace();
cin>>opt;
switch(opt){
case 1:
clrscr();
while(opt==1){
clrscr();
cout<<"\n\n\n\t --------------------- INPUT DATA MAHASISWA---------------------\n\n";
cout<<"\t 1) Stack\n";
cout<<"\t 2) Queue\n";
cout<<"\t 3) Menu\n";
cout<<"\t Pilih: ";
cin>>opt2;
if(opt2==1){
clrscr();
cout<<"\n\n\n\t --------------------- INPUT DATA MAHASISWA STACK---------------------\n\n";
cout<<"\t NIM: ";
gets(nim);
cout<<"\n\t NAMA: ";
gets(nama);
cout<<"\n\t FAKULTAS: ";
gets(fak);
mhs.addDataStack(nim,nama,fak);
//opt=-1;
}else if(opt2==2){
clrscr();
cout<<"\n\n\n\t --------------------- INPUT DATA MAHASISWA QUEUE---------------------\n\n";
cout<<"\t NIM: ";
gets(nim);
cout<<"\n\t NAMA: ";
gets(nama);
cout<<"\n\t FAKULTAS: ";
gets(fak);
mhs.addDataQueue(nim,nama,fak);
}else if(opt2==3){
opt=-1;
break;
}else{
break;
}
}
break;
case 2:
clrscr();
if(mhs.isNull()==1){
cout<<"\n\n\n\t --------------------- DATA KOSONG---------------------\n\n";
getch();
}else{
mhs.showAllData();
cout<<"\t Pilih NIM pada data yang akan dihapus: ";
gets(nimDel);
if(mhs.delData(nimDel)==1){
clrscr();
cout<<"\n\n\n\t --------------------- DATA BERHASIL DIHAPUS---------------------\n\n";
}else{
clrscr();
cout<<"\n\n\n\t --------------------- DATA GAGAL DIHAPUS---------------------\n\n";
}
}
getch();
//hapus
break;
case 3:
if(mhs.isNull()==1){
cout<<"\n\n\n\t --------------------- DATA KOSONG---------------------\n\n";
getch();
}else{
clrscr();
mhs.showAllData();
cout<<"\t Pilih NIM pada data yang akan di-update: ";
gets(nimUpd);
stat = mhs.updateData(nimUpd);
if(stat==1){
clrscr();
cout<<"\n\n\n\t --------------------- DATA BERHASIL DI-UPDATE---------------------\n\n";
}else{
clrscr();
cout<<"\n\n\n\t --------------------- DATA BERHASIL DI-UPDATE---------------------\n\n";
}
}
getch();
//edit
break;
case 4:
//tampil
if(mhs.isNull()==1){
cout<<"\n\n\n\t --------------------- DATA KOSONG---------------------\n\n";
getch();
}else{
mhs.showAllData();
}
break;
case 5:
_exit(0);
break;
default:
clrscr();
initFace();
break;
}
}
}



