Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Procedure MenuPilihan(Output Pilih : Char)
- {I.S. : user memasukkan menu pilihan}
- {F.S. : menghasilkan pilihan}
- Kamus:
- Algoritma:
- Output('MENU PILIHAN')
- Output('------------')
- Output('1. Isi Data Buku')
- Output('2. Tampil Data Buku (terurut secara Ascending berdasarkan Kode Buku -> Minimum Sort)')
- Output('3. Tampil Data Buku (terurut secara Descending berdasarkan Tahun -> Maximum Sort)')
- Output('4. Tampil Data Buku (terurut secara Ascending berdasarkan Jumlah -> Bubble Sort)')
- Output('0. Keluar')
- Output('Pilihan anda? ')
- Input(Pilih)
- While (Pilih < 0) or (Pilih > 4) do
- Input(Pilih)
- Endwhile
- Endprocedure
- Procedure IsiDataBuku(Output N : Integer, Buku : ArrBuku)
- {I.S. : user memasukkan jumlah buku (N)}
- {F.S. : menghasilkan jumlah buku (N) dan array buku}
- Kamus:
- i : Integer
- Algoritma:
- Output('ISI DATA BUKU')
- Output('-------------')
- Output('Masukkan Jumlah Buku : )
- Input(N)
- While (N > MaksBuku) do
- Input(N)
- Endwhile
- For i <- 1 to N do
- Output('Masukkan Kode : ')
- Input(Buku(i).Kode)
- Output('Masukkan Judul : ')
- Input(Buku(i).Judul)
- Output('Masukkan Jenis : ')
- Input(Buku(i).Jenis)
- Output('Masukkan Pengarang : ')
- Input(Buku(i).Pengarang)
- Output('Masukkan Jumlah : ')
- Input(Buku(i).Jumlah)
- Endfor
- Endprocedure
- Procedure TampilAscMinimumSort(Input N : Integer, I/O Buku : ArrBuku)
- {I.S. : N dan Buku sudah terdefinisi}
- {F.S. : menampilkan data buku secara ascending berdasarkan kode buku}
- Kamus:
- i,j : Integer
- Temp : RecBuku
- Algoritma:
- Output('TAMPIL DATA BUKU (TERURUT SECARA ASCENDING BERDASARKAN KODE BUKU -> MINIMUM SORT)')
- Output('---------------------------------------------------------------------------------')
- For i <- 1 to (N - 1) do
- Min <- i
- For j <- (i + 1) to N do
- If (Buku(j).Kode < Buku(Min).Kode)
- Then
- Min <- j
- Endif
- Endfor
- Temp <- Buku(Min)
- Buku(Min) <- Buku(i)
- Buku(i) <- Temp
- Endfor
- For i <- 1 to N do
- Output('Buku ke-',i)
- Output('Kode : ',Buku(i).Kode)
- Output('Judul : ',Buku(i).Judul)
- Output('Jenis : ',Buku(i).Jenis)
- Output('Pengarang : ',Buku(i).Pengarang)
- Output('Jumlah : ',Buku(i).Jumlah)
- Endfor
- Endprocedure
- Procedure TampilDscMaximumSort(Input N : Integer, I/O Buku : ArrBuku)
- {I.S. : N dan Buku sudah terdefinisi}
- {F.S. : menampilkan data buku secara descending berdasarkan tahun buku}
- Kamus:
- i,j : Integer
- Temp : RecBuku
- Algoritma:
- Output('TAMPIL DATA BUKU (TERURUT SECARA DESCENDING BERDASARKAN TAHUN -> MAXIMUM SORT)')
- Output('------------------------------------------------------------------------------')
- For i <- 1 to (N - 1) do
- Max <- N
- For j <- (N - 1) downto i do
- If (Buku(j).Tahun > Buku(Max).Tahun)
- Then
- Max <- j
- Endif
- Endfor
- Temp <- Buku(Max)
- Buku(Max) <- Buku(i)
- Buku(i) <- Temp
- Endfor
- For i <- 1 to N do
- Output('Buku ke-',i)
- Output('Kode : ',Buku(i).Kode)
- Output('Judul : ',Buku(i).Judul)
- Output('Jenis : ',Buku(i).Jenis)
- Output('Pengarang : ',Buku(i).Pengarang)
- Output('Jumlah : ',Buku(i).Jumlah)
- Endfor
- Endprocedure
- Procedure TampilAscBubbleSort(Input N : Integer, I/O Buku : ArrBuku)
- {I.S. : N dan Buku sudah terdefinisi}
- {F.S. : menampilkan data buku secara ascending berdasarkan jumlah buku}
- Kamus:
- i,j : Integer
- Temp : RecBuku
- Algoritma:
- Output('TAMPIL DATA BUKU (TERURUT SECARA ASCENDING BERDASARKAN JUMLAH -> BUBBLE SORT)')
- Output('-----------------------------------------------------------------------------')
- For i <- 1 to (N - 1) do
- For j <- N downto (i + 1) do
- If (Buku(j).Jumlah < Buku(j - 1).Jumlah)
- Then
- Temp <- Buku(j)
- Buku(j) <- Buku(j - 1)
- Buku(j - 1) <- Temp
- Endif
- Endfor
- Endfor
- For i <- 1 to N do
- Output('Buku ke-',i)
- Output('Kode : ',Buku(i).Kode)
- Output('Judul : ',Buku(i).Judul)
- Output('Jenis : ',Buku(i).Jenis)
- Output('Pengarang : ',Buku(i).Pengarang)
- Output('Jumlah : ',Buku(i).Jumlah)
- Endfor
- Endprocedure
- {Algoritma Utama}
- DataBuku
- {I.S. : user memasukkan menu pilihan}
- {F.S. : menampilkan hasil berdasarkan pilihan}
- Kamus:
- Const
- MaksBuku = 50
- Type
- RecBuku = Record
- Kode : String,
- Judul : String,
- Jenis : String,
- Pengarang : String,
- Jumlah : Integer
- Endrecord
- ArrBuku = array[1..MaksBuku] of RecBuku
- N : Integer
- Buku : ArrBuku
- Pilih : Char
- Algoritma:
- Repeat
- MenuPilihan(Pilih)
- Depend On (Pilih)
- '1' : IsiDataBuku(N,Buku)
- '2' : TampilAscMinimumSort(N,Buku)
- '3' : TampilDscMaximumSort(N,Buku)
- '4' : TampilAscBubbleSort(N,Buku)
- Enddepend
- Until (Pilih = 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement