Senin, 30 Maret 2015

Program pengurutan data menggunakan selection sort

#Contoh program sorting menggunakan selection sort pada pascal

1
a. Tampilan saat program dijalankan

(gambar 1)
b. Tampilan saat menginput jumlah mahasiswa

(gambar 2)
c. Tampilan saat menginputkan data ke-1

(gambar 3)
d. Tampilan saat menginput data ke-2

e. Tampilan saat menginput data ke-3

(gambar 5)
f. Tampilan saat menginput data ke-4

(gambar 6)
g. Tampilan saat menginput data ke-5

(gambar 7)
h. Tampilan saat menginput data ke-6

(gambar 8)
i. Tampilan hasil dari data yang telah diurutkan

(gambar 9)
Tabel selection sort pada program diatas:
Data
33,40
33,30
30,31
33,41
34,43
35,36
Proses 1
33,30
33,40
30,31
33,41
34,43
35,36
Proses 2
30,31
33,30
33,40
33,41
34,43
35,36
Hasil
30,31
33,30
33,40
33,41
34,43
35,36


2.      2. Source Code
3.        uses crt;
4.        type data= record
5.         
6.        nma, nim: string;
7.         
8.        ipk : real;
9.         
10.    end;
11.     
12.    var
13.     
14.    mhs : array [1..100] of data;
15.     
16.    i, j, n, temp : integer;
17.     
18.    pilih : char;
19.     
20.    procedure input;
21.     
22.    begin
23.     
24.    clrscr;
25.     
26.    write('Masukkan jumlah mahasiswa : ');
27.     
28.    readln(n);
29.     
30.    for i := 1 to n do
31.     
32.    begin
33.    clrscr;
34.     
35.    writeln('Masukkan Data ke- ', i);
36.     
37.    writeln('______________________');
38.     
39.    write ('Nama   : '); readln(mhs[i].nma);
40.     
41.    write ('NIM   : '); readln(mhs[i].nim);
42.     
43.    write ('IPK   : '); readln(mhs[i].ipk);
44.     
45.    end;
46.     
47.    end;
48.     
49.    procedure output;
50.     
51.    begin
52.     
53.    clrscr;
54.    writeln;
55.    writeln('-----------------------------------------------');
56.    writeln('------- Data Mahasiswa Setelah Diurutkan ------');
57.     
58.    writeln('|---------------------------------------------|');
59.     
60.    writeln('|    NIM      |       Nama      |      IPK    |');
61.   
62.  writeln('|---------------------------------------------|');
63.   
64.  for i:=1 to n do
65.   
66.  begin
67.   
68.  gotoxy(1,6+i); writeln('|');
69.   
70.  gotoxy(9,6+i); writeln('|');
71.   
72.  gotoxy(39,6+i); writeln('|');
73.   
74.  gotoxy(47,6+i); writeln('|');
75.   
76.  gotoxy(5,6+i); writeln(mhs[i].nim);
77.   
78.  gotoxy(21,6+i); writeln(mhs[i].nma);
79.   
80.  gotoxy(37,6+i); writeln(mhs[i].ipk:2:2);
81.   
82.  end;
83.   
84.  writeln('|---------------------------------------------|');
85.   
86.  readkey;
87.   
88.  end;
89.   
90.   
91.  procedure selection;
92.   
93.  var max: integer;
94.  temp: data;
95.  begin
96.  for i:=1 to n-1 do
97.   
98.  begin
99.   
100.          max:=i;
101.           
102.          for j:= i+1 to n do
103.           
104.          if mhs[j].ipk> mhs[max].ipk then
105.           
106.          max:=j;
107.           
108.          temp:= mhs[max];
109.           
110.          mhs[max]:= mhs[i];
111.           
112.          mhs[i]:= temp;
113.           
114.          end;
115.           
116.          output;
117.           
118.          end;
119.          begin
120.          input;
121.           
122.          selection;
123.           
124.          end.


Tidak ada komentar:

Posting Komentar