Jumat, 01 Juni 2018

Tugas Akhir Pertemuan 13 QUEUE

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 13.cpp

#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
typedef struct node *simpul;
struct node
{
    char isi;
    simpul next;
  
};
//Nama         : Muhammad Zuhri
//Nim         : 2016140614
//Kelas     : 04TPLP011
//prototype function
void Sisip_Belakang(simpul &L, char elemen );
void Hapus_Depan(simpul &L);
void Cetak(simpul L);
//function main
main()
{
    char huruf, ulang, yt;
    simpul L = NULL; //pastikan bahwa L kosong
    int i, pilih;
    cout<<"Nama    : Muhammad Zuhri\n";
    cout<<"Nim    : 2016140614\n";
    cout<<"Kelas    : 04TPLP011/316\n";
    cout<<"Matkul  : Tugas Akhir Queue \n\n";
    cout<<"===================================="<<endl;
    cout<<"==Operasi Pada Singel Linked List=="<<endl<<endl;
    atas:
      cout<<"\nPILIHAN MENU\n";
      cout<<"------------------------------------\n";

    cout<<" 1. Sisip belakang  \n";
      cout<<" 2. Hapus simpul depan   \n";
      cout<<" 3. Setelah hapus simpul \n";
      cout<<" 4. Cetak                       \n";
      cout<<"--------------------------------------\n";
      cout<<"Apa yang anda inginkan =  " ; cin>>pilih;
  
    if (pilih==1){
    //sisip belakang
    cout<<"\nPenyisipan simpul\n\n";
    for(i=1; i<=3; i++)
    {
        cout<<"Masukan huruf : ";cin>>huruf;
        Sisip_Belakang(L , huruf );
    }
    Cetak(L);
    }
  
    if(pilih==2){
    //hapus simpul depan
    cout<<"\nSetelah Hapus Simpul "<<endl;
    Hapus_Depan(L);
    Cetak(L);
    cout<<"\nSetelah Hapus Simpul "<<endl;
    Hapus_Depan(L);
    Cetak(L);
    cout<<"\nSetelah Hapus Simpul "<<endl;
    Hapus_Depan(L);
    Cetak(L);
    cout<<"\nPenyisipan simpul\n\n";
    for(i=1; i<=3; i++)
    {
        cout<<"Masukan huruf : ";cin>>huruf;
        Sisip_Belakang(L , huruf );
    }
    Cetak(L);
    }
  
    if(pilih==3){
    cout<<"\nSetelah Hapus Simpul "<<endl;
    Hapus_Depan(L);
    Cetak(L);
    cout<<"\nSetelah Hapus Simpul "<<endl;
    Hapus_Depan(L);
    Cetak(L);
    }
  
    if(pilih==4){
    Cetak(L);
    }
    cout<<"\n\nAnda ingin mengulang lagi ? [Y/T] "; cin>>yt;
        if (yt == 'Y' || yt == 'y')
        goto atas;
        else if(yt=='T' || yt=='t')
        cout<<"\n";
        cout<<"------------Allhamdullilah Muhammad Zuhri Berhasil :v----------"<<endl;
  
    getch();
}
//finction sisip simpul di belakang
void Sisip_Belakang(simpul &L ,char elemen )
{
    simpul bantu,baru;
    baru=(simpul)malloc (sizeof(simpul));
    baru->isi=elemen;
    baru->next=NULL;
    if(L==NULL)
    L=baru;
    else
    {
        bantu= L;
        while(bantu->next != NULL)
        bantu = bantu->next;
        bantu->next=baru;
      
    }
}
//function mencetak isi linked list
void Cetak(simpul L)
{
    simpul bantu;
    if(L==NULL)
    cout<<"linked list kosong.........\n";
    else
    {
        bantu=L;
        cout<<"\nisi linked list : ";
        while(bantu->next !=NULL)
        {
            cout<<bantu->isi<<"->";
            bantu=bantu->next;
          
        }
        cout<<bantu->isi;
      
    }
}
//function hapus simpul depan
void Hapus_Depan(simpul &L)
{
    simpul Hapus;
    if(L==NULL)
    cout<<"linked list kosong...........\n";
    else
    {
        Hapus=L;
        L=L->next;
        Hapus->next=NULL;
        free(Hapus);
    }
}
//====================muhammadzuhri98.blogspot.co.id============================
//Nama         : Muhammad Zuhri
//Nim         : 2016140614
//Kelas     : 04TPLP011
Hasil Outputnya seperti gambar dibawah ini :

Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 12 STACK (Lanjut)

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 12.cpp

#include<iostream>
#include<conio.h>

using namespace std;
main()
{

 int i,j,len,flag=1;
 char a[20];
 cout<<"Masukkan Kalimat : ";
 cin.getline(a,20);

 for(len=0;a[len]!='\0';++len);
 for(i=0,j=len-1;i<len/2;++i,--j)
 {
  if(a[j]!=a[i])
  flag=0;
 }

 if(flag==1)
 cout<<"\nKalimat Ini adalah Kalimat Polindrome";
 else
 cout<<"\nKalimat Ini Bukan Kalimat Polindrome";
 getch();
}

Hasil Outputnya seperti gambar dibawah ini :

















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 11 STACK

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 11.cpp

#include<stdio.h>
#include<conio.h>

int MAXSTACK; typedef int itemtype;

typedef struct
{
 itemtype item[300]; int count;
}stack;

void initializestack(stack *s)
{
 s->count = 0;
}

int empty(stack *s)
{
 return (s->count == 0);
}

int full(stack *s)
{
 return (s->count == MAXSTACK);
}

void push(itemtype x, stack *s)
{
 if(full(s))
 printf("stack penuh !\n");
 else
 {
  s->item[s->count]=x; ++(s->count);
 }
}

int pop(stack *s)
{
 if(empty(s))
 printf("stack kosong\n");
 else
 {
  --(s->count);
  return (s->item[s->count]);
 }
}

main()
{
 int i, n, m, l, z; int input;
 stack tumpukan;

 printf("Program Pengkonversi Desimal ke Biner\n\n");
 initializestack(&tumpukan);
 printf("Masukkan bilangan desimal = ");
 scanf("%d", &input);


 for(z=1,n=input;n>0;n=n/2, z++)
 {
  MAXSTACK=z;
 }
 m=0;
 for(n=input;n>0;n=n/2)
 {
  l=n%2;
  push(l,&tumpukan);
  ++m;
 }

 printf("Masukkan bilangan biner = ");
 for(i=MAXSTACK;i>0;i--)
 {
  printf("%d", pop(&tumpukan));
 }

 getch();
 return 0;
}

Hasil Outputnya seperti gambar dibawah ini :

















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 10 LINKED LIST

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 10.cpp

#include<iostream>
#include<cstdlib>

using namespace std;

typedef struct node *simpul;

struct node
{
    char isi;
    simpul next;
};

//prototype functions

void sisipDepan (simpul &l, char elemen);
void sisipBelakang(simpul &l, char elemen);
void sisipTengah1 (simpul &l, char elemen1, char elemen2);
void sisipTengah2 (simpul &l, char elemen1, char elemen2);
void hapusDepan (simpul &l);
void hapusBelakang(simpul &l);
void hapusTengah (simpul &l, char elemen);
void cetak (simpul l);

int main()
{
    char huruf, huruf2;
    simpul l = NULL; //pastikan bahwa l kosong
    int menu;
    cout << "OPERASI PADA SINGLE LINKED LIST" << endl << endl;
   
    do
    {
        cout << "Menu : " << endl;
        cout << "1. sisip depan" << endl;
        cout << "2. sisip belakang" << endl;
        cout << "3. sisip tengah1" << endl;
        cout << "4. sisip tengah2" << endl;
        cout << "5. hapus depan" << endl;
        cout << "6. hapus belakang" << endl;
        cout << "7. hapus tengah" << endl;
        cout << "8. cetak" << endl;
        cout << "9. keluar" << endl;
       
        cout << "Pilih menu : ";
        cin     >> menu;
        cout << endl;
       
        switch(menu)
        {
            case 1 :
                cout << "## Masukan huruf : ";
                cin     >> huruf;
                sisipDepan(l, huruf);
                cout << endl;
                break;
            case 2 :
                cout << "## Masukan huruf : ";
                cin     >> huruf;
                sisipBelakang(l, huruf);
                cout << endl;
                break;
            case 3 :
                cout << "## Masukan huruf : ";
                cin     >> huruf; cout << endl;
                cout << "## Disisip setelah huruf : ";
                cin     >> huruf2; cout << endl;
                sisipTengah1(l, huruf, huruf2);
                break;
            case 4 :
                cout << "## Masukan huruf : ";
                cin     >> huruf; cout << endl;
                cout << "## Disisip sebelum huruf : ";
                cin     >> huruf2; cout << endl;
                sisipTengah2(l, huruf, huruf2);
                break;
            case 5 :
                hapusDepan(l);
                cout << "## Simpul depan dihapus" << endl << endl;
                break;
            case 6 :
                hapusBelakang(l);
                cout << "## Simpul belakang dihapus" << endl << endl;
                break;
            case 7 :
                cout << "## Masukan huruf tengah yang akan dihapus : ";
                cin     >> huruf;
                hapusTengah(l, huruf);
                cout  << endl;
                break;
            case 8 :
                cetak(l);
                cout << endl << endl;
                break;
            case 9 :
                cout << "## Keluar program..." << endl;
                break;
            default :
                cout << "## kode salah, coba lagi" << endl << endl;
                break;
        }
    }
    while(menu != 9);
   
    return 0;
}

//fungsi sisip simpul depan
void sisipDepan (simpul &l, char elemen)
{
    simpul baru;
    baru = (simpul) malloc(sizeof(simpul));
    baru->isi = elemen;
    baru-> next = NULL;
    if(l == NULL)
        l = baru;
    else
    {
        baru->next = l;
        l = baru;
    }
}

//fungsi sisip setelah simpul tertentu
void sisipTengah1 (simpul &l, char elemen1, char elemen2)
{
    simpul bantu, baru;
    baru = (simpul) malloc(sizeof(simpul));
    baru->isi = elemen1;
    baru->next = NULL;
    if(l == NULL)
        cout << "List kosong............" << endl;
    else
    {
        bantu = l;
        while(bantu -> isi != elemen2) bantu = bantu -> next;
        baru -> next = bantu -> next;
        bantu -> next = baru;
    }
   
}

//fungsi sisip simpul sebelum simpul tertentu
void sisipTengah2 (simpul &l, char elemen1, char elemen2)
{
    simpul bantu, baru;
    baru = (simpul) malloc(sizeof(simpul));
    baru -> isi = elemen1;
    baru -> next = NULL;
    if(l == NULL)
        cout << "list kosong.........." << endl;
    else
    {
        bantu = l;
        while(bantu -> isi != elemen2) bantu = bantu -> next;
        baru -> next = bantu -> next;
        bantu -> next = baru;
    }
}

//fungsi simpul di belakang
void sisipBelakang(simpul &l, char elemen)
{
    simpul bantu, baru;
    baru = (simpul) malloc(sizeof(simpul));
    baru -> isi = elemen;
    baru -> next = NULL;
    if(l == NULL)
        l = baru;
    else
    {
        bantu = l;
        while(bantu -> next != NULL) bantu = bantu -> next;
        bantu -> next = baru;
    }
}

//fungis mencetak isi liked list
void cetak(simpul l)
{
    simpul bantu;
    if(l == NULL)
        cout << "Linked list kosong............." << endl;
    else
    {
        bantu = l;
        cout << "isi linked list : ";
        while(bantu -> next != NULL)
        {
            cout << bantu -> isi << "-->";
            bantu = bantu -> next;
        }
        cout << bantu -> isi;
    }
}

//funsi hapus simpul depan
void hapusDepan(simpul &l)
{
    simpul hapus;
    if(l == NULL)
        cout << "linked list kosong......" << endl;
    else
    {
        hapus = l;
        l = l -> next;
        hapus -> next == NULL;
        free(hapus);
    }
}

//fungsi hapus simpul belakang
void hapusBelakang(simpul &l)
{
    simpul bantu, hapus;
    if(l == NULL)
        cout << "linked list kosong....... " << endl;
    else
    {
        bantu = l;
        while(bantu -> next -> next != NULL) bantu = bantu -> next;
        hapus = bantu -> next;
        bantu -> next = NULL;
        free(hapus);
    }
}

//fungsi hapus simpul di tengah
void hapusTengah(simpul &l, char elemen)
{
    simpul bantu, hapus;
    if(l == NULL)
        cout << "Linked list kosong............";
    else
    {
        bantu = l;
        while(bantu -> next -> isi != elemen) bantu = bantu -> next;
        hapus = bantu -> next;
        bantu -> next = bantu -> next -> next;
        hapus -> next = NULL;
        free(hapus);
    }
}

Hasil Outputnya seperti dibawah ini :

















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 9 SORTING (Lanjut 2)

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 9.cpp

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
int sort_function(const void *a, const void *b);
char list[8][9]={"aku","suka","sama","kamu","dari","dulu","sampai","sekarang"};
int main(void)
{
 int x,y;
 cout<<"Nama            : namamu\nNIM            : nimmu\nKelas            : kelasmu\n\n";
 printf("\t\t**Susun Kata**\n\n");
 printf("Kata Sebelum di Susun : \n");
  for(y=0;y<8;y++)
 printf("%s ",list[y]);
 printf("\n\nKata Setelah di Susun : \n");
 qsort((void *)list, 8, sizeof(list[0]), sort_function);         
  for(x=0;x<8;x++)
 printf("%s\n",list[x]);
return 0;
}
int sort_function(const void *a, const void *b)
{
 return (strcmp((char *)a, (char *)b));

}

Hasil Outputnya seperti gambar dibawah ini :



















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 8 SORTING (Lanjut 1)

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 8.cpp

#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iomanip>
#include <windows.h>
using namespace std;

main ()
{
                char nama[40];
                char nim[15];
                cout << "||-------------------------------------------------||\n";
                cout << "||   Silahkan masukan nama & nim terlebih dahulu   ||\n";
                cout << "||-------------------------------------------------||\n\n";
                cout<<"Masukan Nama            : "; cin>>nama;
                cout<<"Masukan NIM          : "; cin>>nim;
                if (strcmp(nama,"Haidir") ==0 && strcmp(nim,"2016140614") ==0)
                {
                                cout<<"\n___________________________\n\n";
                                cout<<"        Login Berhasil   " << endl;
                                cout<<"___________________________\n\n";
                                cout<<"  Tekan ENTER untuk Lanjutkan \n\n";
                                getch();
                }
                else
                {
                                cout<<"\n_________________________________\n\n";
                                cout<<"Nama & NIM yang di masukan salah"<<endl;
                                cout<<"_________________________________\n\n";
                }
                menu:
                system("cls");
                int data[15]={34,12,56,78,6,43,32,20,90,50,55,75,85,95,25};
                int i,u,maks,j,t,min;
                int pilihan;
                cout<<"--------Menu----------\n";
                cout<<" 1.Metode Maximum Sort (Pengurutan secara menaik)\n";
                cout<<" 2.Metode Maximum Sort (Pengurutan secara menurun)\n";
                cout<<" 3.Metode Minimum Sort (Pengurutan secara menaik)\n";
                cout<<" 4.Metode Minimum Sort (Pengurutan secara menurun)\n";
                cout<<" 5.Exit\n";
                cout<<"----------------------\n";
                cout<<"Masukan Pilihan anda : ";cin>>pilihan;
                cout<<endl;
                switch (pilihan)
                {
                                case 1:
                                                cout<<"Data sebelum di urut\n\n";
                                                for (i=0;i<15;i++)
                                                {
                                                                cout<<setw(3)<<data[i]<<" ";
                                                }
                                                cout<<endl;
                                                //Proses Pengurutan
                                                u=15-1;
                                                for(i=0;i<=15-2;i++)
                                                {
                                                                maks=0;
                                                                for(j=1;j<=u;j++)
                                                                {
                                                                                if(data[j]>data[maks])
                                                                                maks=j;
                                                                }
                                                                t=data[u];
                                                                data[u]=data[maks];
                                                                data[maks]=t;
                                                                u--;
                                                                cout<<endl;
                                                                for(int a=0;a<15;a++)
                                                                cout<<setw(3)<<data[a];                                                           
                                                }
                                                cout<<"\n\nData setelah di urut : \n\n";
                                                for(i=0;i<15;i++)
                                                cout<<setw(3)<<data[i];
                                                cout<<endl<<endl;
                                                lanjut:
                                                cout<<"Tekan ENTER untuk kembali ke menu";
                                                getch();
                                                goto menu;
                                case 2:
                                                cout<<"Data sebelum di urut\n\n";
                                                for (i=0;i<15;i++)
                                                {
                                                                cout<<setw(3)<<data[i]<<" ";
                                                }
                                                cout<<endl;
                                                //Proses Pengurutan
                                                u=15-1;
                                                for(i=0;i<=15-2;i++)
                                                {
                                                                maks=i;
                                                                for(j=i+1;j<=u;j++)
                                                                {
                                                                                if(data[j]>data[maks])
                                                                                maks=j;
                                                                }
                                                                t=data[i];
                                                                data[i]=data[maks];
                                                                data[maks]=t;
                                                                cout<<endl;
                                                                for(int a=0;a<15;a++)
                                                                cout<<setw(3)<<data[a];                                                           
                                                }
                                                cout<<"\n\nData setelah di urut : \n\n";
                                                for(i=0;i<15;i++)
                                                cout<<setw(3)<<data[i];
                                                cout<<endl<<endl;
                                                goto lanjut;
                                                getch();
                                                goto menu;
                                case 3:
                                                cout<<"Data sebelum di urut\n\n";
                                                for (i=0;i<15;i++)
                                                {
                                                                cout<<setw(3)<<data[i]<<" ";
                                                }
                                                cout<<endl;
                                                //Proses Pengurutan
                                                for(i=0;i<=15-2;i++)
                                                {
                                                                min=i;
                                                                for(j=i+1;j<15;j++)
                                                                {
                                                                                if(data[j]<data[min])
                                                                                min=j;
                                                                }
                                                                t=data[i];
                                                                data[i]=data[min];
                                                                data[min]=t;
                                                                cout<<endl;
                                                                for(int a=0;a<15;a++)
                                                                cout<<setw(3)<<data[a];                                                           
                                                }
                                                cout<<"\n\nData setelah di urut : \n\n";
                                                for(i=0;i<15;i++)
                                                cout<<setw(3)<<data[i];
                                                cout<<endl<<endl;
                                                goto lanjut;
                                                getch();
                                                goto menu;
                                case 4:
                                                cout<<"Data sebelum di urut\n\n";
                                                for (i=0;i<15;i++)
                                                {
                                                                cout<<setw(3)<<data[i]<<" ";
                                                }
                                                cout<<endl;
                                                //Proses Pengurutan
                                                u=15-1;
                                                for(i=0;i<=15-2;i++)
                                                {
                                                                min=0;
                                                                for(j=1;j<=u;j++)
                                                                {
                                                                                if(data[j]<data[min])
                                                                                min=j;
                                                                }
                                                                t=data[u];
                                                                data[u]=data[min];
                                                                data[min]=t;
                                                                cout<<endl;
                                                                u--;
                                                                for(int a=0;a<15;a++)
                                                                cout<<setw(3)<<data[a];                                                           
                                                }
                                                cout<<"\n\nData setelah di urut : \n\n";
                                                for(i=0;i<15;i++)
                                                cout<<setw(3)<<data[i];
                                                cout<<endl<<endl;
                                                goto lanjut;
                                                getch();
                                                goto menu;
                                case 5:
                                                exit(0);
                }
}

Hasil Outputnya seperti gambar dibawah ini :



















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 7 SORTING

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 7.cpp

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

void MergeSort (int low, int high);
void Merge (int, int, int);

int A[50];
int main()
{
    int i, elemen;
    cout<<"Berapa banyak elemen yang ingin disusun ? ";
    cin>>elemen;
    cout<<endl;
    cout<<"Masukkan " <<elemen<<" elemen : \n";
    cout<<endl;
    for(i=1; i<=elemen; i++)
    {
        cout<<"Elemen ke- "<<i<<" = ";
        cin>>A[i];
    }
    cout<<endl;
    MergeSort(1,elemen);
    cout<<endl;
    cout<<"Setelah di urutkan dari angka terbesar ke angka terkecil : \n\n";
    for(i=1; i<=elemen; i++)
    {
        cout<< A[i] <<" ";
    }
    cout<< endl << endl;
    return 0;
}

//prosedure MergeSort

void MergeSort (int low, int high)
{
    int mid;
    if(low<high)
    {
        mid = (low+high)/2;
        MergeSort(low,mid);
        MergeSort(mid+1, high);
        Merge(low, mid, high);
    }
}

//Prosedure Merge

void Merge(int low, int mid, int high)
{
    int h, i, j, k, b[50];
    h=low;
    i=low;
    j=mid+1;
    while ((h<=mid)&&(j<=high))
    {
        if (A[h]<A[h])
        {
            b[i]=A[h];
            h++;
        }
        else
        {
            b[i]=A[j];
            j++;
        }
        i++;
    }
    if(h>mid)
    {
        for(k=j; k<=high; k++)
        {
            b[i]=A[k];
            i++;
        }
    }
    else
    {
        for (k=h; k<=mid; k++)
        {
            b[i]=A[k];
            i++;
        }
    }
    for(k=low; k<=high; k++)
    {
        A[k]=b[k];
    }
}

Hasil Outputnya seperti gambar dibawah ini :



















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 6 SEARCHING

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 6.cpp

#include <iostream>
#include <conio.h>
using namespace std;
main()
{
       char nama[40];
       int nim;
       bool ketemu;
       int posisi[25];
       int c,i,banyak=0;
       int data[25]={34,8,50,74,87,90,12,25,20,30,35,45,40,22,29,72,60,55,53,12,32,33,12,41,12};
       cout<<"Nama : "; gets(nama);
       cout<<"NIM  : "; cin>>nim;
       cout<<"\nData : ";
       for(i=0;i<25;i++)
       {
                       cout<<data[i]<<" ";
       }
       cout<<"\n\nData yang ingin di cari : "; cin>>c;
       for (i=0;i<25;i++){
       if (data[i]==c){
                       ketemu=true;
                       posisi[banyak]=i+1;
                       banyak++;
       }
       }
       if (ketemu)
       {
                       cout<<"Data : "<<c;
                       cout<<"\nDitemukan sebanyak "<<banyak;
                       cout<<"\nPada posisi ke ";
                       for(i=0;i<banyak;i++){
                       cout<<posisi[i]<<"  ";
       }
       }
       else
       {
                       cout<<"Data "<<c<<" tidak di temukan";
       }
       getch();
}

Hasil Outputnya seperti gambar dibawah ini :



















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 5 FUNCTION

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 5.cpp

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

int hitung (const char *);
main()
{
    char string[80];
    system ("COLOR 09");
    cout<<"===========================PROGRAM FUNGSI DAN POINTER========================"<<endl;
    cout<<"\nMenghitung banyaknya karakter yang diinput menggunakan fungsi dan pointer :"<<endl;
    cout<<"\nKetikan kata/kalimat : ";
    cin.getline(string,80);
    cout<<"\nJumlah Karakter : "<<hitung(string)<<" Karakter";
    return 0;
}

int hitung (const char*s)
{
    int x=0;
    for (;*s!='\0'; s++)
    ++x;
    return x;
}

Hasil Outputnya seperti gambar dibawah ini :


















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 4 POINTER

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 4.cpp

#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;

void  DisplayNumbers(char *Nbr[], int r, int c);
int main()
{
 system("COLOR F9");
    char number[2][10] = { { 'U', 'N', 'I', 'V', 'E', 'R', 'S', 'I', 'T', 'A' },
                         { 'S', '-', 'P', 'A', 'M', 'U', 'L', 'A', 'N', 'G' } };

    char *pNumbers[2];

    *pNumbers = number[0];

    for(int i = 0; i < 6; i++)
        (*pNumbers)[i] = number[0][i];

    *(pNumbers+1) = number[1];

    for(int i = 0; i < 6; i++)
        (*(pNumbers+1))[i] = number[1][i];
 cout<<"KOMBINASI PROGRAM ARRAY DUA DIMENSI DENGAN POINTER"<<endl;
 cout<<"\nMencetak semua elemen yang terdapat pada array dua dimensi dengan pointer"<<endl;
    cout<<"\nDaftar Huruf"<<endl;
    DisplayNumbers(pNumbers, 2, 10);

    return 0;
}
void  DisplayNumbers(char *nbr[], int rows, int columns)
{
    for(int i = 0; i < rows; i++)
        for(int j = 0; j < columns; j++)
            cout << "\nIndeks ke - [" << i << "][" << j << "]: " << (*(nbr+i))[j];

}

Hasil Outputnya seperti gambar dibawah ini :


















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)

Tugas Akhir Pertemuan 3 STRUCTURE

//Nama     : Muhammad Zuhri
//NIM      : 2016140614
//Kelas : 04TPLP011
//Tugas Akhir Struktur Data Pertemuan 3.cpp

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

struct Tinggal
{
    char Jalan [50];
    char Kota [15];
    char Kode_Pos [5];
};
struct Tanggal
{
    int Tanggal;
    int Bulan;
    int Tahun;
};
struct Biodata
{
    char Nip [15];
    char Nama [25];
    char Agama [10];
    char Jabatan [10];
    char Unit_kerja [10];
    Tinggal Alamat;
    Tanggal Lahir;
    Tanggal Mulai_kerja;
};

main()
{
    Biodata Pegawai [2];
    int i;
    for(i=0; i<2; i++)
    {
        cout<<"\t\t\tProgram Pendataan Karyawan "<<endl;
        cout<<"\n\t\t===============================================\n";
        cout<<"\t\tNIP \t:";
        cin>>Pegawai[i].Nip;
        cout<<"\t\tNama \t:";
        cin>>Pegawai[i].Nama;
        cout<<"\t\tAlamat\t\n";
        cout<<"\t\t\tJalan\t :";
        cin>>Pegawai[i].Alamat.Jalan;
        cout<<"\t\t\tKota\t :";
        cin>>Pegawai[i].Alamat.Kota;
        cout<<"\t\t\tKode Pos :";
        cin>>Pegawai[i].Alamat.Kode_Pos;
        cout<<"\t\tJabatan :";
        cin>>Pegawai[i].Jabatan;
        cout<<"\t\tAgama\t:";
        cin>>Pegawai[i].Agama;
        cout<<"\t\tTanggal Lahir \n";
        cout<<"\t\t\tTanggal :";
        cin>>Pegawai[i].Lahir.Tanggal;
        cout<<"\t\t\tBulan \t:";
        cin>>Pegawai[i].Lahir.Bulan;
        cout<<"\t\t\tTahun \t:";
        cin>>Pegawai[i].Lahir.Tahun;
        cout<<"\t\tTanggal Mulai Kerja \n";
        cout<<"\t\t\tTanggal :";
        cin>>Pegawai[i].Mulai_kerja.Tanggal;
        cout<<"\t\t\tBulan \t:";
        cin>>Pegawai[i].Mulai_kerja.Bulan;
        cout<<"\t\t\tTahun \t:";
        cin>>Pegawai[i].Mulai_kerja.Tahun;
        cout<<"\t\tUnit Kerja :";
        cin>>Pegawai[i].Unit_kerja;
    }
    cout<<"Cetak"<<endl;
    for(i=0; i<2; i++)
    {
        cout<<"=============================== NIP"<<Pegawai[i].Nip<<"===================================";
        cout<<endl;
        cout<<"\n Nama \t\t:"<<Pegawai[i].Nama;
        cout<<"\n Alamat \t:"<<Pegawai[i].Alamat.Jalan<<"-"<<Pegawai[i].Alamat.Kota<<"-"<<Pegawai[i].Alamat.Kode_Pos;
        cout<<"\n Jabatan \t:"<<Pegawai[i].Jabatan;
        cout<<"\n Agama \t\t:"<<Pegawai[i].Agama;
        cout<<"\n Tgl Lahir \t:"<<Pegawai[i].Lahir.Tanggal<<"-"<<Pegawai[i].Lahir.Bulan<<"-"<<Pegawai[i].Lahir.Tahun;
        cout<<"\n Tgl Mulai Krj \t:"<<Pegawai[i].Mulai_kerja.Tanggal<<"-"<<Pegawai[i].Mulai_kerja.Bulan<<"-"<<Pegawai[i].Mulai_kerja.Tahun;
        cout<<"\n Unit Kerja \t:"<<Pegawai[i].Unit_kerja;
        cout<<endl;
        cout<<"================================================================================\n";
    }
    getch();
}

Hasil Outputnya seperti gambar dibawah ini :


















Semoga materi struktur data ini bermanfaat bagi teman-teman yang membutuhkannya :)