Tugas Membuat Array dalam Bahasa Pascal
----------------------------------------------------------------------
Buatlah sebuah program dengan aturan sebagai berikut :
- 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).
- Buat prosedur untuk memasukkan nama dan nilai mahasiswa sebanyak maks_array (buatkan dalam satu prosedur yang sama).
- 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.
- 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
kok error 202 stack overflow ya kl di run, tq
ReplyDeleteboleh minta program .pas nya gak gan....?
ReplyDeletesilahkan download filenya disini https://drive.google.com/file/d/0B7faJmGqgqi7QnpkeXRtalc3Z1E/view?usp=sharing semoga membantu
DeleteKalau Dngan lbih dari 2 data berhasil,tpi kalau hanya dua data terkadang ada nama yang gk mncul pdhal nilainya mncul semua ?
ReplyDeleteAda codingan dalam bentuk java nya ga?
ReplyDelete