untuk lebih jelas nya lihat coding nya di bawah ini bila gambar di atas tidak terlihat jelas :
PROGRAM Tugas_table_n_sorting;
USES CRT;
CONST
garis='------------------------------------------------------';
VAR
kelas : ARRAY [1..100] OF STRING[5];
npm : ARRAY [1..100] OF STRING[8];
nama : ARRAY [1..100] OF STRING[15];
min, temp : STRING;
n,i,bar,kelompok,tempatnya_min : INTEGER;
BEGIN
CLRSCR;
WRITE('MASUKAN BEBERAPA DATA YANG ANDA INGINKAN : ');
READLN(N);
FOR i:= 1 TO n DO
BEGIN
CLRSCR;
GOTOXY(30,4); WRITE('DATA KE- ',i:2);
GOTOXY(10,7); WRITE('NPM : '); READLN(NPM[i]);
GOTOXY(10,8); WRITE('NAMA : '); READLN(NAMA[i]);
GOTOXY(10,9); WRITE('KELAS : '); READLN(KELAS[i]);
END;
menu :
clrscr;
writeln(' Pilihan Anda : ');
writeln(' 1.sort by class ');
writeln(' 2.sort by name ');
writeln(' 3.exit ');
write(' Pilih Pilihan Anda : ');readln(pil);
case pil of
1: For Kelompok := 1 to n DO
Begin
min:= Kelas [kelompok];
for i := kelompok to n DO
Begin
If (kelas[i]<=min) then
Begin
min:=Kelas[i];
tempatnya_min := i;
End;
end;
temp := KELAS[kelompok];
KELAS[kelompok] := KELAS[tempatnya_min];
KELAS[tempatnya_min] := temp;
temp := NPM[kelompok];
NPM[kelompok] := NPM[tempatnya_min];
NPM[tempatnya_min] := temp;
temp := NAMA[kelompok];
NAMA[kelompok] := NAMA[tempatnya_min];
NAMA[tempatnya_min] := temp;
end;
KELAS[kelompok] := KELAS[tempatnya_min];
KELAS[tempatnya_min] := temp;
temp := NPM[kelompok];
NPM[kelompok] := NPM[tempatnya_min];
NPM[tempatnya_min] := temp;
temp := NAMA[kelompok];
NAMA[kelompok] := NAMA[tempatnya_min];
NAMA[tempatnya_min] := temp;
end;
3: goto exit;
end;
CLRSCR;
GOTOXY(5,4); WRITE(GARIS);
GOTOXY(5,5); WRITE('NO');
GOTOXY(9,5); WRITE('NPM');
GOTOXY(20,5); WRITE('NAMA');
GOTOXY(37,5); WRITE('KELAS');
GOTOXY(47,5); WRITE('PARAF');
GOTOXY(5,6); WRITE(GARIS);
CLRSCR;
GOTOXY(5,4); WRITE(GARIS);
GOTOXY(5,5); WRITE('NO');
GOTOXY(9,5); WRITE('NPM');
GOTOXY(20,5); WRITE('NAMA');
GOTOXY(37,5); WRITE('KELAS');
GOTOXY(47,5); WRITE('PARAF');
GOTOXY(5,6); WRITE(GARIS);
bar:=7;
FOR i:= 1 TO n DO
BEGIN
GOTOXY(5,bar); WRITELN(i:2);
GOTOXY(9,bar); WRITELN(NPM[i]);
GOTOXY(20,bar); WRITELN(NAMA[i]);
GOTOXY(37,bar); WRITELN(KELAS[i]);
GOTOXY(47,bar); WRITELN(i,'. . .');
bar:=bar+1;
END;
GOTOXY(5,bar+1);WRITELN(garis);
READLN;
GOTOXY(9,bar); WRITELN(NPM[i]);
GOTOXY(20,bar); WRITELN(NAMA[i]);
GOTOXY(37,bar); WRITELN(KELAS[i]);
GOTOXY(47,bar); WRITELN(i,'. . .');
bar:=bar+1;
END;
GOTOXY(5,bar+1);WRITELN(garis);
READLN;
goto menu;
exit;
END.
END.
OUTPUT :
SORTIR BERDASARKAN KELAS.
SORTIR BERDASARKAN ABJAD.
Sorting Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Pada umumnya terdapat 2 cara pengurutan data yaitu
– Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar
– Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecil
Ada beberapa macem metoda pengurutan data diantaranya :
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
@. Bubble Sort
pengertian bubble sort
Bubble sort adalah sederhana algoritma sorting. It works by repeatedly stepping through the list to be sorted, comparing two items at a time and swapping them if they are in the wrong order. Bekerja dengan berulang kali melakukan melalui daftar akan di sortir, membandingkan dua item sekaligus dan swapping mereka jika mereka berada di salah pesanan. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. Yang melewati daftar diulang sampai swap tidak diperlukan, yang menunjukkan bahwa daftar disaring. The algorithm gets its name from the way smaller elements "bubble" to the top of the list. Algoritma yang mendapatkan namanya dari jalan kecil elemen "gelembung" ke bagian atas daftar. Because it only uses comparisons to operate on elements, it is a comparison sort . Karena hanya menggunakan perbandingan untuk beroperasi pada elemen, ia adalah perbandingan menyortir.
Bubble sort-kasus yang terburuk dan rata-rata kompleksitas kedua О (n ²), dimana n adalah jumlah item yang disortir. There exist many sorting algorithms with the substantially better worst-case or average complexity of O ( n log n ). Di sana ada banyak algoritma sorting dengan lebih baik substansial terburuk-kasus atau rata-rata kompleksitas O (n log n). Therefore bubble sort is not a practical sorting algorithm when n is large, except in rare specific applications where the array is known to be very close to being already sorted initially. Oleh karena itu gelembung menyortir tidak praktis algoritma sorting ketika n adalah besar, kecuali di langka di mana aplikasi spesifik deret diketahui sangat dekat dengan yang telah disortir awalnya.
@. Selection Sort
Pengertian tentang selection sort adalah Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.
@. Insertion Sort
Pengertian Insertion Sort adalah Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.
@. Merge Sort
Pengertian Merge Sort adalah algoritma yang dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya mereka menunjuk item yang pertama pada setiap daftar
@. Quick Sort
Pengerian Quick Sort adalah algoritma yang dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya mereka menunjuk item yang pertama pada setiap daftar.
No comments:
Post a Comment