Maaf, Anda mengaktifkan Adblock pada browser anda!
Atau anda tidak mengaktifkan Javascript![ Disable Your AdBlock Please ]
Home > Algoritma dan Pemrograman > Algoritma Mencari Nilai Terbesar, Terkecil, Jumlah, Rata-rata dari Array Dalam Bahasa Pascal

Algoritma Mencari Nilai Terbesar, Terkecil, Jumlah, Rata-rata dari Array Dalam Bahasa Pascal

Tugas Membuat Array dalam Bahasa Pascal
———————————————————————-

Buatlah sebuah program dengan aturan sebagai berikut :

  1. Buatlah program dengan tema nilai mahasiswa. Adapun yang menjadi inputan adalah nama dan nilai mahasiswa. Buatkan array nama dan array nilai sebagai penampung data (misal maks_array = 5).
  2. Buat prosedur untuk memasukkan nama dan nilai mahasiswa sebanyak maks_array (buatkan dalam satu prosedur yang sama).
  3. Setelah nama dan nilai mahasiswa diinputkan lakukanlah hal berikut : (1) buat prosedur untuk mengoutputkan seluruh data array nilai dan array nama mahasiswa, (2) carilah nilai terbesar, (3) carilah nilai terkecil, (4) hitunglah jumlah nilai seluruh mahasiswa, dan (5) carilah rata-rata dari keseluruhan nilai mahasiwa.
  4. Program hanya berjalan satu kali. Lakukan input dan output secara langsung. Misal : langkah pertama lakukan input 5 data nama dan nilai mahasiswa. Setelah dilakukan input, outputkan data yang diminta pada poin nomor 3 dibawah inputan yang telah dilakukan. Lihat contoh dibawah untuk lebih jelasnya.



Contoh Tampilan :

Input Data Mahasiswa
-----------------------------------
Nama : Robi
Nilai : 80
Nama : Asep
Nilai : 90
Nama : Ahmad
Nilai : 70
Nama : Kurniawan
Nilai : 60
Nama : Bambang
Nilai : 50

Output Data Mahasiswa
-----------------------------------
Nama : Robi
Nilai : 80
Nama : Asep
Nilai : 90
Nama : Ahmad
Nilai : 70
Nama : Kurniawan
Nilai : 60
Nama : Bambang
Nilai : 50

Statistik Data Mahasiswa
-----------------------------------
Nilai Terbesar : Asep
Nilai : 90
Nilai Terkecil : Bambang
Nilai : 50
Jumlah : 350
Rata-rata : 70


Jawaban dalam Syntax Pascal (.PAS)



USES CRT;
VAR
I,N,JUMLAH,MAX,MIN : INTEGER;
NAMA_MAX,NAMA_MIN : STRING;
NILAI_MAX,NILAI_MIN : INTEGER;
RATA : REAL;

PROCEDURE NILAI_MAHASISWA;
VAR
NAMA : ARRAY[1..100] OF STRING;
NILAI : ARRAY[1..100] OF INTEGER;

BEGIN
//INPUT
WRITELN('====================');
WRITELN('INPUT DATA MAHASISWA');
WRITELN('====================');
WRITELN;
WRITE('Jumlah Data Mahasiswa : ');READLN(N);
WRITELN('--------------------');

FOR I:= 1 TO N DO
BEGIN
WRITE('Nama Mahasiswa Ke-',I,' : ');READLN(NAMA[I]);
WRITE('Nilai Mahasiswa Ke-',I,' : ');READLN(NILAI[I]);
WRITELN;
END;

WRITELN;
WRITELN('=====================');
WRITELN('OUTPUT DATA MAHASISWA');
WRITELN('=====================');

FOR I:= 1 TO N DO
BEGIN
WRITELN('Nama Mahasiswa Ke-',I,' : ',NAMA[I]);
WRITELN('Nilai Mahasiswa Ke-',I,' : ',NILAI[I]);
WRITELN;
END;


//PROSES

//Mencari Nilai Terbesar dan Terkecil
NILAI_MAX:=NILAI[1];
NILAI_MIN:=NILAI[1];

FOR I:= 1 TO N DO
BEGIN
IF(NILAI[I] < NILAI_MIN) THEN
BEGIN
NILAI_MIN := NILAI[I];
NAMA_MIN := NAMA[I] END;

IF(NILAI[I] > NILAI_MAX) THEN
BEGIN
NILAI_MAX := NILAI[I];
NAMA_MAX := NAMA[I];
END;
END;


//Mencari Jumlah
JUMLAH := 0;

FOR I:= 1 TO N DO
BEGIN
JUMLAH:=JUMLAH+NILAI[I];
END;

//Mencari Nilai Rata-rata
RATA :=0;
RATA := JUMLAH/N;

//OUTPUT
WRITELN;
WRITELN('========================');
WRITELN('STATISTIK DATA MAHASISWA');
WRITELN('========================');

WRITELN('NILAI TERBESAR : ',NAMA_MAX);
WRITELN('NILAI : ',NILAI_MAX);
WRITELN;

WRITELN('NILAI TERKECIL : ',NAMA_MIN);
WRITELN('NILAI : ',NILAI_MIN);
WRITELN;

WRITELN('JUMLAH : ',JUMLAH);
WRITELN('RATA-RATA : ',RATA:5:2);
END;


//Program Utama

BEGIN
CLRSCR;
//Memanggil Prosedur NILAI_MAHASISWA
NILAI_MAHASISWA;
READLN;
END.


Tampilan Program




5 comments

  1. kok error 202 stack overflow ya kl di run, tq

  2. boleh minta program .pas nya gak gan….?

  3. Kalau Dngan lbih dari 2 data berhasil,tpi kalau hanya dua data terkadang ada nama yang gk mncul pdhal nilainya mncul semua ?

  4. Ada codingan dalam bentuk java nya ga?

Leave a Reply to Unknown Cancel reply

Your email address will not be published. Required fields are marked *

*