Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Soal dan Jawaban Tugas Pendahuluan & Tugas Akhir Sorting (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".

Soal dan Jawaban Tugas Pendahuluan Sorting


1. Apa yang dimaksud dengan Sorting!
Sorting, proses pengurutan data yang sebelumnya disusun secara acak/tidak teratur menjadi urut dan teratur menurut aturan tertentu. Dan dibedakan menjadi 2 jenis yaitu Ascending dan Descending.
2. Jelaskan perbedaan dari Pengurutan Internal dan Pengurutan Eksternal!
Pengurutan Internal, pengurutan terhadap sekumpulan data yang disimpan didalam memori utama komputer. Sedangkan pengurutan eksternal, pengurutan data yang disimpan didalam memori sekunder.
3. Jelaskan perbedaan metode-metode Sorting seperti: Bubble Sort, Quick Sort, Selection Sort, Merge Sort, Tree Sort, Maximum Sort, dan Insertion Sort!
  • Bubble Sort, pengurutan sederhana yang bekerja dengan cara berulang kali membandingkan dua elemen data pada suatu saat, dan menukar data yang urutannya salah.
  • Quick Sort, pengurutan data dengan menggunakan prinsip rekursif, menggunakan strategi "pecah belah" dengan mekanisme.
  • Selection Sort, Algoritma yang memilih elemen maksimum/minimum array, lalu menempatkan elemen itu pada awal/akhir array.
  • Merge Sort, algoritma dari strategi divide-and-conquer
  • Tree Sort, metode sorting dengan cara membangun pohon binner dengan menampilkan 3 hasil output: Pre Order, In Order, Post Order.
  • Maximum Sort, memilih data yang maksimum dari suatu kumpulan data larik, lalu menempatkan data tersebut ke elemen paling akhr atau awal sesuai pengurutan yang diinginkan.
  • Insertion Sort, pengurutan yang membandingkan dua elemen data pertama, mengurutkannya,kemudian mengecek elemen data berikutnya & membandingkan dengan elemen data yang telah diurutkan.
4.  Buatlah contoh program sederhana menggunakan Sorting!
#include<iostream>
#include<conio.h>
#include<iomanip>
using namespace std;
main()
{
int Nilai [20];
int i, j, k, N;
int temp;
bool tukar;
cout<<"Masukkan Banyak Bilangan : ";
cin>>N;
for (i=0; i<N; i++)
{
cout<<"Elemen ke - "<<i<<" : ";
cin>>Nilai [i];
}
//Proses Cetak Sebelum diurutkan
cout<<"\nData sebelum diurut : ";
for (i=0; i<N; i++)
cout<<setw(3)<<Nilai [i];
//Proses Pengurutan
i=0;
tukar = true;
while ((i<=N-2) && (tukar))
{
tukar=false;
for (j=N-1; j>=+1; j--)
{
if (Nilai [j] < Nilai [j-1])
{
temp = Nilai [j];
Nilai [j] = Nilai [j-1];
Nilai [j-1] = temp;
tukar = true;
cout<<"\nUntuk j = "<<j<<" : ";
for (k=0; k<N; k++)
cout<<setw(3)<<Nilai [k];
}
}
i++;
}
//Proses Cetak setelah diurutkan
cout<<"\nData setelah diurut : ";
for (i=0; i<N; i++)
cout<<setw(3)<<Nilai [i];
getch();
}

Soal dan Jawaban Tugas Akhir Sorting

1. Buatlah program untuk mengurutkan sederetan data: 34, 12, 56, 78, 6, 43, 32, 20, 90, 50, 55, 75, 85, 95, 25!
#include <iostream>
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 mergesort: \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[j])
    {
       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];
 }
}
Maka hasil outpunya :


output tugas akhir sorting
output tugas akhir sorting
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 (Struktur Data)"