About Contact Disclaimer Privacy Policy
.web.id Just My Simple Artwork

C++ : Perhitungan Nilai Akhir Dengan Model Function

Share Share Share

C++ : Perhitungan Nilai Akhir Dengan Model Function – Sebelumnya kita sudah membahas soal UTS Semester I mata kuliah B. Pemrograman I yang dapat kalian baca di artikel Pascal: Program Menghitung Gaji Pegawai. pada arikel ini, yang akan kita bahas adalah soal UAS Semester II untuk matakuliah Pemrograman C++ . jawaban pada soal yang dibahas pada artikel ini juga dapat kalian gunakan sebagai Contoh Program Penggunaan Function pada C++. Seperti biasa, pada akhir artikel akan tersedia link download untuk file source code .cpp yang sudah siap untuk kalian compile dan pelajari.

 

Soal :

Untuk melakukan perhitungan sebuah Nilai Akhir (NA) bagi mahasiswa dengan aturan komposisi sebagai berikut:

NA = (10% x Tugas) + (25% x UTS) + (35% x UAS) + (30% x Ujian Praktek)

Jika inputan program adalah NIM, Nama, Nilai Tugas, UTS, UAS, Ujian Praktek

Gunakan model function/subprogram untuk menyelesaikan masalah tersebut dengan ketentuan :
Semua Variabel dideklarasikan secara global, sehingga tidak memerlukan variabel paramenter untuk fungsi
– Buat Function masing-masing, untuk : input data, memproses nilai, menampilkan data

Buatlah Program dalam bahasa C/C++ untuk menyelesaian masalah diatas !

 

Jawab :

Penyelesaian soal ini akan lebih mudah jika kalian sudah benar-benar memahami Input, Output, dan perhitungan aritmatika pada C++, karena pada masalah ini, kalian hanya perlu membagi setiap proses Input, Output, dan Perhitungannya menjadi Fungsi-Fungsi/subprogram.

 


#include <constrea.h>

char nama[32], nim[10];
int nilaitugas,nilaiuts,nilaiuas,nilaipraktek;

void input_data() {
cout << "Masukkan Nama : ";cin >> nama;
cout << "Masukkan NIM : ";cin >> nim;
cout << endl;
cout << "Masukkan Nilai Tugas :";cin >> nilaitugas;
cout << "Masukkan Nilai UTS : ";cin >> nilaiuts;
cout << "Masukkan Nilai UAS : ";cin >> nilaiuas;
cout << "Masukkan Nilai Praktek : ";cin >> nilaipraktek;
cout << endl;
};

float hitung_nilai() {
return (0.1 * nilaitugas) + (0.25 * nilaiuts) + (0.35 * nilaiuas) + (0.3 * nilaipraktek);
};

void tampil_hasil() {
cout << "Nama : "<< nama << endl;
cout << "NIM : "<< nim << endl;
cout << "Nilai Akhir : " << hitung_nilai();
};

void main() {
input_data();
tampil_hasil();
getch();
}

 

Penjelasan :

char nama[32], nim[10];
int nilaitugas,nilaiuts,nilaiuas,nilaipraktek;

Definisikan variabel yang dibutuhukan. Masing-masing sesuai dengan tipe datanya. Variabel-variabel ini kita definisikan secara global sehingga setiap fungsi yang kita buat dapat mengaksesnya, sesuai keterangan pada soal.

 

void input_data() {
cout << "Masukkan Nama : ";cin >> nama;
cout << "Masukkan NIM : ";cin >> nim;
cout << endl;
cout << "Masukkan Nilai Tugas :";cin >> nilaitugas;
cout << "Masukkan Nilai UTS : ";cin >> nilaiuts;
cout << "Masukkan Nilai UAS : ";cin >> nilaiuas;
cout << "Masukkan Nilai Praktek : ";cin >> nilaipraktek;
cout << endl;
};

Buat sebuah fungsi dengan nama input_data. sesuai namanya, Fungsi ini berisi proses-proses untuk menginputkan data-data Nama, Nim, Nilai Tugas, UTS, UAS, dan Praktek.

 

float hitung_nilai() {
return (0.1 * nilaitugas) + (0.25 * nilaiuts) + (0.35 * nilaiuas) + (0.3 * nilaipraktek);
};

Kemudian kita membuat sebuah fungsi lagi dengan nama hitung_nilai() untuk menghitung Nilai Akhir sesuai dengan rumus yang diberikan pada soal.

berbeda dengan fungsi yang kita buat sebelumnya, fungsi hitung_nilai() ini terlebih dahulu harus kita tentukan tipe datanya sebagai float bukan void. karena fungsi ini nantinya akan menghasilkan nilai akhir berupa angka desimal (float).

perhatikan pada fungsi ini, terdapat perintah return agar hasil dari perhitungan nilai akhirnya dapat dikirimkan ke fungsi hitung_nilai() itu sendiri. artinya, saat nanti dijalankan maka, fungsi hitung_nilai() ini akan otomatis memiliki nilai float yang merupakan hasil dari perhitungan nilai akhirnya.

 

void tampil_hasil() {
cout << "Nama : "<< nama << endl;
cout << "NIM : "<< nim << endl;
cout << "Nilai Akhir : " << hitung_nilai();
};

Buat juga fungsi dengan nama tampil_hasil(), fungsi ini hanya berisi beberapa baris perintah untuk menampilkan Nama, NIM, dan Hasil dari perhitungan Nilai Akhir.

 

void main() {
input_data();
tampil_hasil();
getch();
}

Terakhir, pada program utama (main), kita panggil/jalankan semua fungsi yang telah kita buat tadi secara berurutan/terstruktur. Kita jalankan sesuai dengan urutan prosesnya, dimulai dari fungsi input_data() yang akan memproses penginputan data, kemudian dilanjutkan dengan menjalankan fungsi tampil_hasil () untuk menampilkan hasilnya.

 

loh, kenapa pada program utama (main) fungsi hitung_nilai() tidak ikut dipanggil/dijalankan?? nah, sebenarnya fungsi hitung_nilai() akan ikut dijalankan, Coba kalian perhatikan fungsi tampil_hasil() pada baris : “cout << “Nilai Akhir : ” << hitung_nilai();” disana kita telah menjalankan fungsi hitung_nilai(), sehingga saat fungsi tampil_hasil() kita jalankan maka otomatis fungsi hitung_nilai() juga akan ikut berjalan. jadi, tentunya pada program utama (main) tidak perlu lagi dong fungsi hitung_nilai() kita jalankan kembali.

 

Source Code dari Jawaban soal ini
dapat Kalian Download melalui Link : UASC++_FUNGSI_NILAIAKHIR.cpp

 

Sampai sini pembahasan kita untuk soal ini sudah selesai, mudah-mudahan dapat kita semua pahami dengan mudah.

yang perlu kalian ketahui dari penyelesaian soal ini adalah, kita bukan fokus pada perhitungan nilai akhirnya, tetapi untuk lebih foku memahami dan melihat bagaimana penulisan/penggunaan Fuction pada bahasa pemrograman C++ dalam contoh yang sederhana. jika kalian memiliki pertanyaan, silahkan kalian kirimkan melalui kolom komentar dibawah artikel ini ya.



Share Share Share


Muhammad Niko

Hi!, saya adalah lulusan S1 Sistem Informasi yang memiliki minat tinggi terhadap Web Development. Belajar tentang Web Development adalah bagian dari hobi saya, sedangkan IT Technical Support adalah pekerjaan saya sehari-hari.

Leave a Reply

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

2 Comments


  • deon says:

    kak klo yng include nya itu kok fatal error terus ya, knp itu tuh kak?