Minggu, 09 Oktober 2016

Pseudocode Mengurutkan Nilai Mahasiswa



Pseudocode Untuk Mengurutkan Nilai Mahasiswa

Dari Besar Ke Kecil (Descending) Untuk Menentukan Rangking 1-n Mahasiswa

program data_nilai
{I.S. :}
{F.S. :
type
    data = record
     nim : string
     nama : string
     nilai : integer
x = array [1..50] of data
Kamus :
        a : x
        n,j,i : integer
        pilih : char
Algoritma :
procedure create(input  i : integer)
{I.S. :}
{F.S. :}
Kamus :
Algoritma :
    i 0
endprocedure

procedure insert_nilai
{I.S. :}
{F.S. :}
Kamus :
min,urut,k : integer
l,m : string

Algoritma :
  urut ← 1
  for i ← 1 to n-1 do
        min ← i
        for j ← urut to n do
             if a[j].nilai > a[min].nilai then
             min ← j
               if a[i].nilai <> a[min].nilai then
                  k ← a[i].nilai
                  l ← a[i].nama
                  m ← a[i].nim
              endif
              endif
              if a[i].nilai < a[min].nilai then
                 a[i].nilai ← a[min].nilai
                 a[i].nama ← a[min].nama
                 a[i].nim ← a[min].nim
                 a[min].nilai ← k
                 a[min].nama ← l
                 a[min].nim ← m
             endif
       endfor
       urut ← urut+1
endfor
endprocedure

procedure entry
{I.S. :}
{F.S. :}
Kamus :
Algoritma :
output(' Jumlah Mahasiswa : ',n)
for i ← 1 to n do
output('Data ke-',i)
output('-------------------------------------------------')
output(' Nama     : ', a[i].nama)
output(' NIM      : ', a[i].nim)
output(' Nilai    : ', a[i].nilai)
endfor
endprocedure

procedure rekap
{I.S. :}
{F.S. :}
Kamus :
v : byte
Algoritma :
output('=================================================')
output('|   NIM   |     Nama     |  Nilai  |  Rangking  |')
output('=================================================')
for v ← 1 to n do
output('|         |              |         |            |')
output(a[v].nim)
output(a[v].nama)
output(a[v].nilai)
output(v)
endfor
output('=================================================')
repeat
output(' Menu  ')
output('-------------------------------------------------')
output('[1] Input Data Mahasiswa')
output('[2] Input Rekap Data Mahasiswa')
output('[3] Keluar')
output('Pilih [1..3] : ', pilih)
depend pilih on
'1' : entry
      insert_nilai
'2' : rekap
'3' : exit
enddepend
until pilih = '3'
endprocedure

Hasil T(n) dari pseudocode diatas
                       Cop           C(n)
        =  18                      a                 18n
For       =    4                      b                   4
If          =    3                      c                    3
-           =    1                      d                   1n
+          =    1                      e                   1n
>          =    2                      f                   n+1
<          =    2                      g                  n+1
Output =  21                       h                     21

T(n) = Cop . C(n)
        = 18n a + 4 b + 3 c + 1n d + 1n e + (n+1) f + (n+1) g + 21 h

Tidak ada komentar:

Posting Komentar

Total Tayangan Halaman