Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Soal dan Jawaban Tugas Pendahuluan & Tugas Akhir Sorting Lanjut 1 (Struktur Data)

Struktur Data adalah salah satu mata kuliah di Universitas Pamulang Viktor. Saya saat belajar struktur data hanya mencatat dan membuat tugas dan alhamdulilah tugasnya gampang-gampang termasuk Uts dan Uasnya dan alhamdulilah nya lagi di akhir semester mendapatkan nilai A.


Disini saya akan membagikan soal dan jawaban struktur data baik soal pendahuluan atau tugas akhir (soal coding) dari struktur data tersebut di bagian "Sorting Lanjut 1".

Soal dan Jawaban Tugas Pendahuluan Sorting Lanjut 1

1. Jelaskan kekurangan menggunakan metode Maximum/Minimum Sort dengan metode-metode Sorting lainnya!
Membutuhkan method tambahan, sulit untuk digabungkan kembali, perlu dihindari untuk penggunaan data lebih dari 1000 tabel karena akan menyebabkan kompleksitas yang lebih tinggi & kurang praktis.
2. Jelaskan perbedaan program Sorting dengan menggunakan antara metode Maximum Sort dan Minimum Sort!
Perbedaannya, maximum sort memilih elemen maximum sebagai basis pengurut. Sedangkan minimum sort memilih elemen minimum sebagai basis pengurutan.
3. Jelaskan tahapan-tahapan Sorting menggunakan metode Maximum Sort!
  • Cari elemen maximum sort didalam [0--(N-1)] Pertukaran elemen max dengan elemen L[N-1] 
  • Cari elemen maximum sort didalam [0--(N-2)] Pertukaran elemen max dengan elemen L[N-2]
  • Cari elemen maximum sort didalam [0--(N-3)] Pertukaran elemen max dengan elemen L[N-3]
4.   Jelaskan tahapan-tahapan Sorting menggunakan metode Minimum Sort!
  • Cari elemen minimum sort didalam [0--(N-1)] Pertukaran elemen min dengan elemen L[N-1] 
  • Cari elemen minimum sort didalam [0--(N-2)] Pertukaran elemen min dengan elemen L[N-2]
  • Cari elemen minimum sort didalam [0--(N-3)] Pertukaran elemen min dengan elemen L[N-3]

Soal dan Jawaban Tugas Akhir Sorting Lanjut 1

1. Buatlah tambahan program menggunakan sistem menu pada program yang telah dipraktekan!
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iomanip>
using namespace std;
main ()
{
                menu:
                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<<"===================================================\n";
cout<<"\t\tNAMA : Nandaka Arga Wijaba\n";
cout<<"\t\tKELAS : 04 TPLP010\n\n";
cout<<"===================================================\n\n";
                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:
                                                (0);
                }
}
 Maka hasil outputnya :

output sorting lanjut 1
output sorting lanjut 1
Semoga bermanfaat dan jangan lupa share teman sekelas ya agar bisa dapat nilai A. Masuk bareng lulus juga harus bareng, jangan pelit ilmu antara teman sekelas. Terimakasih!
 
Jangan lupa kunjungi maswijaba untuk artikel bermanfaat lainnya.

Post a Comment for "Soal dan Jawaban Tugas Pendahuluan & Tugas Akhir Sorting Lanjut 1 (Struktur Data)"