Jumat, 01 Juni 2018

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 :)

Tugas Akhir Pertemuan 2 ARRAY

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

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

int i, j, baris, kolom, m1[10][10], m2[10][10], hasil[10][10];
main()
{
    do
    {
        cout<<"Jumlah Baris =";
        cin>>baris;
        cout<<"Jumlah Kolom =";
        cin>>kolom;
    }
    while
    ((baris>10)||(kolom>10));
    cout<<"\nMatrix A"<<endl;
    for(i=0; i<baris; i++)
    for(j=0; j<kolom; j++)
    {
        cout<<"data ["<<i<<","<<j<<"]=";
        cin>>m1[i][j];
    }
    cout<<"\nMatrix B"<<endl;
    for(i=0; i<baris; i++)
    for(j=0; j<kolom; j++)
    {
        cout<<"data["<<i<<","<<j<<"]=";
        cin>>m2[i][j];
    }
    for (i=0; i<baris; i++)
    for (j=0; j<kolom; j++)
    hasil[i][j]=m1[i][j]+m2[i][j];
    cout<<endl;
    cout<<"\tMatrix A + Matrix B = Matrix C\n ";
    for (i=0; i<baris; i++)
    {
        cout<<"\n\t";
        for (j=0; j<kolom; j++)
        cout<<setw(4)<<m1[i][j];
        cout<<" ";
        for (j=0; j<kolom; j++)
        cout<<setw(4)<<m2[i][j];
        cout<<" ";
        for (j=0; j<kolom; j++)
        cout<<setw(4)<<hasil[i][j];
        cout<<endl;
    }
    getch();
}


Hasil Outputnys seperti gambar dibawah ini :


















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