#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