Jumat, 28 Juni 2013

Tugas SRUKTUR DATA II ( SINGLE LIST II )

SCRIPT SINGLE LIST II

#include <iostream>
#include <stdio.h>
using namespace std;

struct mahasiswa {
    int nim;
    int smt;
    int ank;
};
    struct Tnode{
    mahasiswa info;
    Tnode *next;
    Tnode *baru;

    };
Tnode *head;
Tnode *baru, *bantu;


int main(){

head = baru;


//Data awal
    baru = new Tnode;
    baru->info.nim = 1204498001;
    baru->info.smt = 2;
    baru->info.ank = 2013;
    baru->next = NULL;

    head = baru;
    head->next = NULL;
    //Menampilkan data
    bantu=head;
    while (bantu!=NULL){
        cout << "Nim : " <<bantu->info.nim << "\n Semester : " << bantu->info.smt << "\n Angkatan : " <<bantu->info.ank << "\n";
        bantu = bantu->next;
    }

//Insert di akhir
        baru = new Tnode;
        baru->info.nim = 1204498002;
        baru->info.smt = 4;
        baru->info.ank = 2012;
        baru->next=NULL;

        head=baru;
        head->next = NULL;

//Menampilkan data
bantu=head;
while (bantu!=NULL){
    cout << "Nim: " <<bantu->info.nim << "\n Semester: " << bantu->info.smt << "\n Angkatan : " <<bantu->info.ank << "\n";
    bantu = bantu->next;
}


return 0;

}

Tugas STRUKTUR DATA II ( SELECTION SORT )

SCRIPT SELECTION SORT


#include <stdio.h>
#include <iostream>
using namespace std;

void tampilData(int data[], int max);
void selectionSort(int data[], int max);
int main(){
    int data []= {3,9,6,10,4};
    int max = sizeof(data)/sizeof(int);
    int urut [max];

    selectionSort(data, max);

    return 0;
}
void selectionSort(int data[], int max) {
    tampilData(data, max);

    int i;
    int temp;

    for (int k=0;k<max;k++) {
        i=k;
        for (int j=i+1; j<max; j++) {
            if (data[i] > data[j]) {
                i=j;

            }
        }
        temp = data[k];
        data[k] = data[i];
        data[i] = temp;

    }


    tampilData(data,max);
}

void tampilData(int data[], int max){
    cout << "\n<(========================)>\n";
    for (int i=0;i<max; i++) {
        cout << "\t" << data[i];
    }
    cout << "\n";
}

Tugas STRUKTUR DATA ( QUEUEL )

SCRIPT QUEUEL

#include<stdio.h>
#include<iostream>
using namespace  std;

struct Queue{
  int Front;
  int data[100];
  int Rear;
};

Queue antri;
void createQueue();
void enQueue();
void deQueue();
void listAll();

int main(){
    cout << "Operasi Queue: \n";
    cout << "1. Create Queue \n";
    cout << "2. IsEmpty  \n";
    cout << "3. IsFull  \n";
    cout << "4. Enqueue \n";
    cout << "5. Dequeue \n";
    cout << "6. listAll \n";
    cout << "0. KELUAR \n\n";

    int masukan=-1;
    while (masukan != 0){
        cout<<"Masukkan Pilihan Anda:  ";
        cin>>masukan;
        //Jika pil bernilai 1 maka jalankan procedure createQueue
        if(masukan==1){
        createQueue();
        }else if (masukan==2){
         //isEmpty
        }else if (masukan==3){
         //isFull
        }else if (masukan == 4){
        enQueue();
        }else if (masukan==5){
        deQueue();
        }else if (masukan==6){
        listAll();
        }else{
            cout<<"\n Pilihan Anda Salah!\n";
        }
    }



    cout<<"\n";
    return 0;
}

void enQueue(){
    int baru;
    cout<<"\nData yang akan dimasukkan: ";
    cin>>baru;
    antri.Front= antri.Front +1;
    antri.data[antri.Front]= baru;
}
void createQueue(){
    //createQueue
    antri.Front = antri.Rear =-1;
    //isEmpty
    if (antri.Front<0){
        //cout<<"\n Kosong \n";
    }
}
void deQueue(){
    //DeQueue
    cout <<"\nData " << antri.data[0] <<" sudah berhasil dihapus!\n";
    for (int i=0; i<=antri.Front;i++) {
        antri.data[i] = antri.data[i+1];
    }
    antri.Front=antri.Front-1;
}
void listAll(){
    //Tampil Data
    cout << "\n";
    for (int i=0; i<=antri.Front; i++){
        cout << "data ke-" << i << " : " << antri.data[i] << "\n";
    }
    cout << "\n";
}

Tugas STRUKTUR DATA II ( LINKLIST IV )

SCRIPT LINKLIST IV


#include <QCoreApplication>
#include <stdio.h>
#include <iostream>
using namespace std;

struct tnode {
  int info;
  tnode *next;
};
tnode *head;
tnode *baru;
tnode *bantu;
tnode *hapus;
tnode *cari;
tnode *pencacah;

int main(){
  //1. deklarasi
  int databaru;

  //Insert Kosong --> maka head baru
  databaru =10;
  baru = new tnode;
  baru->info = databaru;
  baru->next=NULL;

  head=baru;
  head->next = NULL;


  //Insert di awal head
  databaru = 9;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head=baru;

  //Insert di awal head
  databaru = 2;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head=baru;

  //Insert di awal head
  databaru = 23;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head = baru;

  //Insert di akhir
  databaru = 7;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  bantu = head;
  while (bantu->next != NULL ){
      bantu = bantu->next;
  }
  bantu->next = baru;

  //Insert di akhir
  databaru = 3;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  bantu = head;
  while (bantu->next != NULL ){
      bantu = bantu->next;
  }
  bantu->next = baru;



  //Menampilkan
  cout << "\n (=======Keadaan awal==========) \n";
  bantu = head;
  while (bantu != NULL) {
      cout << bantu->info << "\n";
      bantu = bantu->next;
  }

  //Hapus Depan
  hapus = head;
  head = head->next;
  delete hapus; //Menghapus dari memory

  //Hapus Belakang --> tidak bisa melihat sebelumnya
  bantu  = head;
  hapus = bantu;
  while (bantu->next != NULL) {
    bantu = bantu->next;
    hapus = bantu;
  }
  hapus->next= NULL;

  //Menampilkan
  cout << "\n (========Setelah data awal dihapus=========) \n";
  bantu = head;
  while (bantu != NULL) {
      cout << bantu->info << "\n";
      bantu = bantu->next;

  }
  // Cari Data
 bantu = head;
 int pencacah =0;
 int cari = 8;
     while (bantu !=NULL){
         if (cari ==( bantu->info )) {
         break;
}
         else{
         cout << pencacah;
         cout << bantu->info << "\n";
         bantu = bantu->next;
         pencacah +=1;
        }}

        cout << "data terakhir pada " <<pencacah;

  cout << "\n";
  return 0;
}