----------------------------------------------------------------------------------------------------------------------------------------------------
Kamus:
i = integer
Algoritma:
Input(BanyakData)
For i 1 to BanyakData do
Input(Angka(i))
EndFor
EndProcedure
----------------------------------------------------------------------------------------------------------------------------------------------------
Algoritma:
For i 1 to BanyakData do
Total Total + Angka(i)
EndFor
RataRata Total/ BanyakData
EndFunction
----------------------------------------------------------------------------------------------------------------------------------------------------
Function NilaiMaks (Input Angka : Array_Angka, Input BanyakData : integer) real
{I.S. : banyaknya data dan elemen array Angka(1: BanyakData) sudah terdefinisi }
{F.S. : Menentukan nilai terbesar array angka }
Kamus:
i : integer
Algoritma:
Maks Angka(1)
For i 2 to BanyakData do
If (Angka(i)> Maks)
Then
Maks Angka(i)
EndIf
EndFor
Return Maks
EndFunction
----------------------------------------------------------------------------------------------------------------------------------------------------
Algoritma:
If (Banyak Data < Maks_Angka)
Then
BanyakData BanyakData + 1
Angka(BanyakData) AngkaBaru
Else
Output(“Data sudah Penuh”)
EndIf
EndProcedure
----------------------------------------------------------------------------------------------------------------------------------------------------
Procedure SisipAngka(I/O Angka : Array_Angka, I/O BanyakData : integer, Input
Posisisisip : integer, Input AngkaBaru : real )
{I.S. : banyaknya data dan elemen array Angka(1: BanyakData) sudah terdefinisi}
{F.S. : menghasilkan array yang sudah disisipkan satu data pada posisi tertentu}
Kamus:
i : integer
Algoritma:
If (Banyak Data < Maks_Angka)
Then
If (Posisisisip ≥ 1)and(Posisisisip ≤ BanyakData)
Then
For i BanyakData downto Posisisisip do
Angka(i+1) Angka(i)
EndFor
Angka(Posisisisip) AngkaBaru
BanyakData BanyakData + 1
Else
Output(“Posisi Sisip Tidak Valid”)
EndIf
Else
Output(“Data Penuh”)
EndIf
EndProcedure
----------------------------------------------------------------------------------------------------------------------------------------------------
Kamus:
Algoritma:
For i 1 to BanyakData do
Output(Angka(i))
EndFor
EndProcedure
----------------------------------------------------------------------------------------------------------------------------------------------------
{Algoritma Utama}
Pengolahan_Array_Angka
{I.S. : Pengguna memilih salah satu nomor menu }
{F.S. : Menampilkan hasil sesuai nomor menu yang dipilih }
Kamus:
Const
Maks_Angka = 10
Type
Array_Angka = array[1..Maks_Angka] of real
Angka : Array_Angka
BanyakData, Posisisisip : integer
Angka_Baru : real
{Prototype Subrutin }
Algoritma:
Menu_Pilihan(Menu)
While (Menu ≠ 0) do
If (Menu = 1)
Then
IsiDataAngka(Angka,BanyakData)
Else
If (Menu = 2)
Then
RataRata(Angka,BanyakData)
Output(“Rata-Ratanya Adalah”,RataRata(Angka,BanyakData)
Else
If (Menu = 3)
Then
NilaiMaks(Angka,BanyakData)
NilaiMin(Angka,BanyakData)
Output(“Nilai Terbesar Adalah : ”,NilaiMaks(Angka,BanyakData))
Output(“Nilai Terkecil Adalah : ”,NilaiMin(Angka,BanyakData))
Else
If (Menu = 4)
Then
TambahAngka(Angka,BanyakData,AngkaBaru)
Else
If (Menu = 5)
Then
SisipAngka(Angka,BanyakData,Posisisisip,AngkaBaru)
Else
TampilData(Angka,BanyakData)
EndIf
EndIf
EndIf
EndIf
EndIf
Menu_Pilihan(Menu)
EndWhile