SHARE
TWEET

Untitled

a guest Jan 22nd, 2020 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Procedure MenuPilihan(Output Pilih : Char)
  2. {I.S. : user memasukkan menu pilihan}
  3. {F.S. : menghasilkan pilihan}
  4. Kamus:
  5. Algoritma:
  6.     Output('MENU PILIHAN')
  7.     Output('------------')
  8.     Output('1. Isi Data Buku')
  9.     Output('2. Tampil Data Buku (terurut secara Ascending berdasarkan Kode Buku -> Minimum Sort)')
  10.     Output('3. Tampil Data Buku (terurut secara Descending berdasarkan Tahun -> Maximum Sort)')
  11.     Output('4. Tampil Data Buku (terurut secara Ascending berdasarkan Jumlah -> Bubble Sort)')
  12.     Output('0. Keluar')
  13.     Output('Pilihan anda? ')
  14.     Input(Pilih)
  15.     While (Pilih < 0) or (Pilih > 4) do
  16.         Input(Pilih)
  17.     Endwhile
  18. Endprocedure
  19.  
  20.  
  21. Procedure IsiDataBuku(Output N : Integer, Buku : ArrBuku)
  22. {I.S. : user memasukkan jumlah buku (N)}
  23. {F.S. : menghasilkan jumlah buku (N) dan array buku}
  24. Kamus:
  25.     i : Integer
  26. Algoritma:
  27.     Output('ISI DATA BUKU')
  28.     Output('-------------')
  29.     Output('Masukkan Jumlah Buku : )
  30.     Input(N)
  31.     While (N > MaksBuku) do
  32.         Input(N)
  33.     Endwhile
  34.     For i <- 1 to N do
  35.         Output('Masukkan Kode      : ')
  36.         Input(Buku(i).Kode)
  37.         Output('Masukkan Judul     : ')
  38.         Input(Buku(i).Judul)
  39.         Output('Masukkan Jenis     : ')
  40.         Input(Buku(i).Jenis)
  41.         Output('Masukkan Pengarang : ')
  42.         Input(Buku(i).Pengarang)
  43.         Output('Masukkan Jumlah    : ')
  44.         Input(Buku(i).Jumlah)
  45.     Endfor
  46. Endprocedure
  47.  
  48.  
  49. Procedure TampilAscMinimumSort(Input N : Integer, I/O Buku : ArrBuku)
  50. {I.S. : N dan Buku sudah terdefinisi}
  51. {F.S. : menampilkan data buku secara ascending berdasarkan kode buku}
  52. Kamus:
  53.     i,j : Integer
  54.     Temp : RecBuku
  55. Algoritma:
  56.     Output('TAMPIL DATA BUKU (TERURUT SECARA ASCENDING BERDASARKAN KODE BUKU -> MINIMUM SORT)')
  57.     Output('---------------------------------------------------------------------------------')
  58.     For i <- 1 to (N - 1) do
  59.         Min <- i
  60.         For j <- (i + 1) to N do
  61.             If (Buku(j).Kode < Buku(Min).Kode)
  62.                 Then
  63.                     Min <- j
  64.             Endif
  65.         Endfor
  66.         Temp <- Buku(Min)
  67.         Buku(Min) <- Buku(i)
  68.         Buku(i) <- Temp
  69.     Endfor
  70.     For i <- 1 to N do
  71.         Output('Buku ke-',i)
  72.         Output('Kode      : ',Buku(i).Kode)
  73.         Output('Judul     : ',Buku(i).Judul)
  74.         Output('Jenis     : ',Buku(i).Jenis)
  75.         Output('Pengarang : ',Buku(i).Pengarang)
  76.         Output('Jumlah    : ',Buku(i).Jumlah)
  77.     Endfor
  78. Endprocedure
  79.  
  80.  
  81. Procedure TampilDscMaximumSort(Input N : Integer, I/O Buku : ArrBuku)
  82. {I.S. : N dan Buku sudah terdefinisi}
  83. {F.S. : menampilkan data buku secara descending berdasarkan tahun buku}
  84. Kamus:
  85.     i,j : Integer
  86.     Temp : RecBuku
  87. Algoritma:
  88.     Output('TAMPIL DATA BUKU (TERURUT SECARA DESCENDING BERDASARKAN TAHUN -> MAXIMUM SORT)')
  89.     Output('------------------------------------------------------------------------------')
  90.     For i <- 1 to (N - 1) do
  91.         Max <- N
  92.         For j <- (N - 1) downto i do
  93.             If (Buku(j).Tahun > Buku(Max).Tahun)
  94.                 Then
  95.                     Max <- j
  96.             Endif
  97.         Endfor
  98.         Temp <- Buku(Max)
  99.         Buku(Max) <- Buku(i)
  100.         Buku(i) <- Temp
  101.     Endfor
  102.     For i <- 1 to N do
  103.         Output('Buku ke-',i)
  104.         Output('Kode      : ',Buku(i).Kode)
  105.         Output('Judul     : ',Buku(i).Judul)
  106.         Output('Jenis     : ',Buku(i).Jenis)
  107.         Output('Pengarang : ',Buku(i).Pengarang)
  108.         Output('Jumlah    : ',Buku(i).Jumlah)
  109.     Endfor
  110. Endprocedure
  111.  
  112.  
  113. Procedure TampilAscBubbleSort(Input N : Integer, I/O Buku : ArrBuku)
  114. {I.S. : N dan Buku sudah terdefinisi}
  115. {F.S. : menampilkan data buku secara ascending berdasarkan jumlah buku}
  116. Kamus:
  117.     i,j : Integer
  118.     Temp : RecBuku
  119. Algoritma:
  120.     Output('TAMPIL DATA BUKU (TERURUT SECARA ASCENDING BERDASARKAN JUMLAH -> BUBBLE SORT)')
  121.     Output('-----------------------------------------------------------------------------')
  122.     For i <- 1 to (N - 1) do
  123.         For j <- N downto (i + 1) do
  124.             If (Buku(j).Jumlah < Buku(j - 1).Jumlah)
  125.                 Then
  126.                     Temp <- Buku(j)
  127.                     Buku(j) <- Buku(j - 1)
  128.                     Buku(j - 1) <- Temp
  129.             Endif
  130.         Endfor
  131.     Endfor
  132.     For i <- 1 to N do
  133.         Output('Buku ke-',i)
  134.         Output('Kode      : ',Buku(i).Kode)
  135.         Output('Judul     : ',Buku(i).Judul)
  136.         Output('Jenis     : ',Buku(i).Jenis)
  137.         Output('Pengarang : ',Buku(i).Pengarang)
  138.         Output('Jumlah    : ',Buku(i).Jumlah)
  139.     Endfor
  140. Endprocedure
  141.  
  142.  
  143. {Algoritma Utama}
  144. DataBuku
  145. {I.S. : user memasukkan menu pilihan}
  146. {F.S. : menampilkan hasil berdasarkan pilihan}
  147. Kamus:
  148.     Const
  149.         MaksBuku = 50
  150.     Type
  151.         RecBuku = Record
  152.             Kode : String,
  153.             Judul : String,
  154.             Jenis : String,
  155.             Pengarang : String,
  156.             Jumlah : Integer
  157.         Endrecord
  158.         ArrBuku = array[1..MaksBuku] of RecBuku
  159.     N : Integer
  160.     Buku : ArrBuku
  161.     Pilih : Char
  162. Algoritma:
  163.     Repeat
  164.         MenuPilihan(Pilih)
  165.         Depend On (Pilih)
  166.             '1' : IsiDataBuku(N,Buku)
  167.             '2' : TampilAscMinimumSort(N,Buku)
  168.             '3' : TampilDscMaximumSort(N,Buku)
  169.             '4' : TampilAscBubbleSort(N,Buku)
  170.         Enddepend
  171.     Until (Pilih = 0)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top