hobingoding.com - Halo coders. Setelah sebelumnya saya telah membagikan program-program sederhana untuk menghitung luas bangun datar yang mana programnya masih sangat sederhana maka di kesempatan kali ini saya ingin membahas program yang sedikit lebih panjang karena sudah melibatkan beberapa operasi.
Seperti yang kita ketahui bahwa biasanya penilaian pada tingkat perguruan tinggi menggunakan simbol huruf (A-E) sebagai representasi nilai yang didapat oleh para mahasiswa. Dimana setiap huruf semisal nilai A memiliki rentang nilai 85 hingga nilai 100. Dari sini dapat kita simpulkan bahwa untuk membuat program konversi nilai angka ke huruf ini memerlukan operasi perbandingan nilai serta kondisi atau percabangan yang mana jika sebuah kondisi terpenuhi maka akan mencetak keluaran yang ada di dalam kondisi tersebut.
Permasalahan
Buatlah program untuk mengkonversikan nilai angka mahasiswa ke huruf dengan ketentuan nilai sebagai berikut: A(85-100); A-(80-84); B+(75-79); B(70-74); B-(65-69); C+(60-64); C(50-59); D(40-49) dan terakhir E(0-39) serta tambahkan kondisi apabila user menginput nilai diluar jangkauan 0-100, tampilkan pesan "Masukan Anda Salah.".
Test Case
Test #1
Input Nilai : 89
Nilai Huruf : A
Test #2
Input Nilai : 101
Maaf : Masukan Anda salah
Kode Program
#include <stdio.h>
int main() {
int nilai;
printf("Program Mengubah Nilai Angka Menjadi Nilai Huruf\n");
printf("visit us hobingoding.com\n\n");
// Input Nilai
printf("Input Nilai : ");
scanf("%d", &nilai);
// Ubah Nilai
if(nilai > 84 && nilai <= 100)
printf("Nilai Huruf : A");
else if(nilai > 79 && nilai <= 84)
printf("Nilai Huruf : A-");
else if(nilai > 74 && nilai <= 79)
printf("Nilai Huruf : B+");
else if(nilai > 69 && nilai <= 74)
printf("Nilai Huruf : B");
else if(nilai > 64 && nilai <= 69)
printf("Nilai Huruf : B-");
else if(nilai > 59 && nilai <= 64)
printf("Nilai Huruf : C+");
else if(nilai > 49 && nilai <= 59)
printf("Nilai Huruf : C");
else if(nilai > 39 && nilai <= 49)
printf("Nilai Huruf: D");
else if(nilai > 0 && nilai <= 39)
printf("Nilai Huruf : E");
else
printf("Maaf : Masukan Anda salah");
return 0;
}
Lihat source code melalui github: fandipres
Output Program
Penjelasan Program
Saya disini hanya memerlukan satu buah variabel yaitu variabel nilai dengan tipe data integer karena hanya nilai dari variabel nilai inilah yang nantinya akan diproses. Setelah saya membuat fungsi scanf untuk menginput nilai, saya membuat 10 kondisi yang mana 9 kondisi untuk menangkap kondisi (A-E) sedangkan kondisi terakhir (else) saya gunakan untuk mengeluarkan kalimat "Masukan Anda Salah" sebagai bentuk pemberitahuan kepada user bahwa angka yang dimasukkannya melebihi batas nilai (0-100).
Untuk setiap kondisi (if, else if) saya menggunakan operator perbandingan and (&&) untuk mengecek apakah nilai yang diinput oleh user sesuai dengan kondisi tersebut atau tidak. Saya menggunakan operator and (&&) karena nilai yang menjadi acuan pada setiap kondisi berada di dalam jangkauan terentu. Semisal untuk kondisi dengan keluaran nilai A, nilai yang akan diproses untuk memcetak keluaran nilai A adalah nilai yang berada dalam rentang 85-100 atau bisa dibilang nilai A adalah nilai yang lebih besar dari 84 dan lebih kecil sama dengan 100. Jika kita menggunakan operator or disini maka apabila user menginput nilai 101 akan dikategorikan kepada nilai A. Untuk membahas lebih lengkap tentang operator-operator dalam bahasa C, kamu dapat membaca postingan saya yang berikut.
Saya membuat kondisi untuk mencetak "Masukan Anda Salah" pada kondisi terakhir karena nilai yang ada akan dicek ke dalam kondisi yang ada satu per satu, jika dalam kondisi pertama nilai yang diinput tidak memenuhi ketentuan, maka nilai tersebut akan dicek pada kondisi ke dua, ke tiga dan seterusnya. Apabila semua kondisi telah dicek namun tidak ada kondisi yang sesuai, maka nilai tersebut akan otomatis masuk ke kondisi terakhir (else).
Sekian pembahasan saya tentang Program Mengubah Nilai Angka Menjadi Nilai Huruf, apabila ada pertanyaan ataupun penjelasan saya yang kurang jelas silahkan tanyakan pada kolom komentar. Selamat mencoba dan tetap semangat.
Bagaimana jika program tersebut menggunakan konsep PBO?
BalasHapusHalo, untuk mengubahnya ke dalam konsep PBO sebenarnya kamu hanya perlu menyesuaikannya saja sesuai dengan objek-objek yang ada. Semisal untuk menerima inputan yang tadinya menggunakan fungsi scanf, maka dalam konsep PBO penggunaan fungsi scanf dapat digantikan dengan textbox ataupun objek-objek lainnya.
HapusMungkin ke depannya saya akan coba buatkan tutorialnya ya, terima kasih atas tanggapannya.