Anda di halaman 1dari 14

PROJECT UAS

PROGRAM INPUT NILAI MAHASISWA

Oleh :
1. Nicolas Fernando Nainggolan - 233303030220
2. Melany Putri Silaban - 23330303253
3. Bryan Halim - 233303030210
4. Jenny Marshanda - 233303030214
5. Navindra Raj - 233303030251

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS PRIMA INDONESIA
MEDAN
2024
KATA PENGANTAR

Puji dan syukur penulis haturkan kepada Tuhan Yang Maha Esa atas
selesainya makalah yang berjudul "Pemanfaatan Sampah Sisa Makanan". Atas
dukungan moral dan materil yang diberikan dalam penyusunan makalah ini, maka
penulis mengucapkan terima kasih kepada.

- Bapak Azka, M.E., selaku kepala sekolah SMA 1 Ruangguru yang telah
memberikan bimbingan, saran, ide, dan juga kesempatan untuk menggunakan
fasilitas sekolah untuk menunjang pembuatan makalah.
- Ibu Rais, M.E., selaku guru pembimbing kami, yang memberikan dorongan dan
masukan kepada penulis.
- Ibu Nana, M.E., selaku wali kelas kami, yang banyak memberikan materi
pendukung, bimbingan, dan masukan kepada penulis.
- Orang tua penulis yang banyak memberikan dukungan baik moril maupun
materil.
- Semua pihak yang tidak dapat penulis rinci satu per satu yang telah membantu
dalam proses penyusunan makalah ini.

Penulis menyadari bahwa makalah ini jauh dari kata sempurna dan masih terdapat
beberapa kekurangan, oleh karena itu penulis sangat mengharapkan saran dan
kritik yang membangun dari pembaca untuk penyempurnaan makalah ini.

Penulisan makalah ini bertujuan untuk menjelaskan sebuah


program sederhana yang dirancang untuk menghitung rata-rata nilai
mahasiswa berdasarkan input pengguna. Program ini tidak hanya
menghitung rata-rata, tetapi juga menampilkan markup berdasarkan
rentang nilai tertentu. Pembaca diharapkan dapat memahami struktur,
konsep, dan implementasi program melalui penjelasan yang diberikan

Daftar Isi
Pendahuluan.......................................................................................................................4
Konsep.................................................................................................................................4
Flowchart dan Pseudocode................................................................................................5
Flowchart.........................................................................................................................5
PseudoCode......................................................................................................................5
Penjelasan Program...........................................................................................................7
Tampilan Program.............................................................................................................9
Listing Program................................................................................................................11

Pendahuluan
Pembuatan program ini dilatarbelakangi oleh keinginan untuk
menyederhanakan dan mempercepat proses penghitungan rata-rata nilai
mahasiswa, sekaligus memberikan informasi mengenai prestasi mahasiswa
berdasarkan markup yang diberikan. Tujuan utama program adalah meningkatkan
efisiensi dalam pengelolaan data nilai, sambil memberikan insight yang lebih baik
mengenai pencapaian akademis mahasiswa. Program ini didesain dengan konsep
yang memanfaatkan fungsi dan prosedur untuk memecah tugas menjadi bagian-
bagian yang lebih terkelola, serta menggunakan flowchart dan pseudocode
sebagai alat bantu untuk merancang logika program yang jelas dan terstruktur.

Konsep
Program ini mendasarkan konsep utamanya pada penggunaan fungsi dan
prosedur sebagai strategi pemrograman yang terorganisir. Fungsi
hitungRataRata digunakan untuk menghitung rata-rata nilai, sementara prosedur
tampilkanHasil bertanggung jawab untuk menentukan markup dan menampilkan
hasilnya. Ide dasar program ini adalah memberikan pengguna kemampuan untuk
menginput nilai mata kuliah, melakukan validasi, dan menghasilkan rata-rata nilai
berserta markup yang mencerminkan kategori prestasi mahasiswa. Program ini
juga memanfaatkan flowchart sebagai representasi visual alur program dan
pseudocode untuk mendeskripsikan logika program secara terperinci.

Flowchart dan Pseudocode


Flowchart

PseudoCode
Start
Deklarasi jumlahMatkul sebagai integer
Deklarasi totalNilai sebagai float

// Meminta pengguna untuk memasukkan jumlah mata kuliah


Display "Masukkan jumlah mata kuliah: "
Input jumlahMatkul

// Looping untuk menginput nilai setiap mata kuliah


For i = 1 to jumlahMatkul
Deklarasi nilai sebagai float
// Meminta pengguna untuk memasukkan nilai mata kuliah ke-i
Display "Masukkan nilai mata kuliah ke-" + i + ": "
Input nilai

// Menggunakan if else untuk validasi nilai


If nilai >= 0 and nilai <= 100 Then
totalNilai += nilai
Else

// Menampilkan pesan kesalahan jika nilai tidak valid dan mengulang


iterasi
Display "Nilai tidak valid. Masukkan nilai antara 0 dan 100."
i=i-1
End If
End For

// Memanggil fungsi untuk menghitung rata-rata


rataRata = hitungRataRata(totalNilai, jumlahMatkul)

// Memanggil prosedur untuk menampilkan hasil


tampilkanHasil(rataRata)
End

// Definisi fungsi (function) untuk menghitung rata-rata


Function hitungRataRata(total, jumlahMatkul)
Return total / jumlahMatkul
End Function

// Definisi prosedur (procedure) untuk menampilkan hasil


Procedure tampilkanHasil(rataRata)
Declare markup as character

// Menentukan markup berdasarkan rentang nilai


If rataRata >= 80 Then
markup = 'A'
Else If rataRata >= 70 Then
markup = 'B'
Else If rataRata >= 60 Then
markup = 'C'
Else If rataRata >= 50 Then
markup = 'D'
Else
markup = 'E'
End If

// Menampilkan rata-rata dan markup


Display "Rata-rata nilai mahasiswa: " + rataRata + " (Markup: " +
markup + ")"
End Procedure
Penjelasan Program
1. Deklarasi Fungsi dan Prosedur:
Program dimulai dengan mendeklarasikan dua fungsi:
a. float hitungRataRata(float total, int jumlahMatkul):
Menghitung rata-rata nilai berdasarkan total nilai dan jumlah mata
kuliah.
b. void tampilkanHasil(float rataRata): Menampilkan hasil rata-
rata nilai dan markup berdasarkan rentang nilai.
2. Fungsi Utama (main):
Program kemudian masuk ke fungsi utama main, yang akan dijalankan
pertama kali saat program dijalankan.
3. Deklarasi Variabel:
a. jumlahMatkul: Menyimpan jumlah mata kuliah yang akan
diinput.
b. totalNilai: Menyimpan total nilai dari seluruh mata kuliah.
4. Input Jumlah Mata Kuliah:
Program meminta pengguna untuk memasukkan jumlah mata kuliah.
5. Looping untuk Input Nilai:
a. Program menggunakan loop for untuk mengiterasi sebanyak
jumlahMatkul.
b. Di dalam loop, program meminta pengguna untuk memasukkan
nilai setiap mata kuliah.
6. Input Nilai Mata Kuliah:
Nilai mata kuliah dimasukkan oleh pengguna.
7. Validasi Nilai:
a. Program menggunakan if-else untuk memastikan bahwa nilai yang
dimasukkan berada dalam rentang 0 hingga 100.
b. Jika nilai tidak valid, program memberikan pesan kesalahan dan
mengulang iterasi.
8. Panggilan Fungsi dan Prosedur:
a. Setelah mendapatkan semua nilai, program memanggil fungsi
hitungRataRata untuk menghitung rata-rata nilai.
b. Program juga memanggil prosedur tampilkanHasil untuk
menampilkan hasil rata-rata dan markup.
9. Fungsi hitungRataRata:
Fungsi ini mengembalikan rata-rata nilai berdasarkan total nilai dan
jumlah mata kuliah.
10. Prosedur tampilkanHasil:
Prosedur ini menentukan markup (A, B, C, D, atau E) berdasarkan rentang
nilai rata-rata dan menampilkan hasilnya.
11. Penentuan Markup:
Program menentukan markup (A, B, C, D, atau E) berdasarkan rentang
nilai rata-rata.
12. Output Hasil:
Program menampilkan rata-rata nilai mahasiswa dan markup pada layar
dengan menggunakan printf.
Program ini memberikan pengguna kemudahan untuk menginput nilai mata
kuliah, melakukan validasi, dan menghasilkan rata-rata nilai berserta markup yang
mencerminkan kategori prestasi mahasiswa.

Tampilan Program
Gambar 5 Tampilan Program
Listing Program

#include <stdio.h>

// Deklarasi fungsi (function)


float hitungRataRata(float total, int jumlahMatkul);

// Deklarasi prosedur (procedure)


void tampilkanHasil(float rataRata);
int main() {
int jumlahMatkul;
float totalNilai = 0;

// Meminta pengguna untuk memasukkan jumlah mata kuliah


printf("Masukkan jumlah mata kuliah: ");
scanf("%d", &jumlahMatkul);

// Looping untuk menginput nilai setiap mata kuliah


for (int i = 1; i <= jumlahMatkul; i++) {
float nilai;
// Meminta pengguna untuk memasukkan nilai mata kuliah ke-i
printf("Masukkan nilai mata kuliah ke-%d: ", i);
scanf("%f", &nilai);

// Menggunakan if else untuk validasi nilai


if (nilai >= 0 && nilai <= 100) {
totalNilai += nilai;
} else {
// Menampilkan pesan kesalahan jika nilai tidak valid dan mengulang iterasi
printf("Nilai tidak valid. Masukkan nilai antara 0 dan 100.\n");
i--;
}
}
// Memanggil fungsi untuk menghitung rata-rata
float rataRata = hitungRataRata(totalNilai, jumlahMatkul);

// Memanggil prosedur untuk menampilkan hasil


tampilkanHasil(rataRata);

return 0;
}

// Definisi fungsi (function) untuk menghitung rata-rata


float hitungRataRata(float total, int jumlahMatkul) {
return total / jumlahMatkul;
}

// Definisi prosedur (procedure) untuk menampilkan hasil


void tampilkanHasil(float rataRata) {
char markup;

// Menentukan markup berdasarkan rentang nilai


if (rataRata >= 80) {
markup = 'A';
} else if (rataRata >= 70) {
markup = 'B';
} else if (rataRata >= 60) {
markup = 'C';
} else if (rataRata >= 50) {
markup = 'D';
} else {
markup = 'E';
}
// Menampilkan rata-rata dan markup
printf("Rata-rata nilai mahasiswa: %.2f (Markup: %c)\n", rataRata, markup);
}

Anda mungkin juga menyukai