Berikut ini adalah pertanyaan dari Omatttttttt26 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
#include
int main()
{
char c;
printf("\nEnter a character: ");
scanf("%c",&c);
/* memeriksa apakah karakter yang dimasukkan lowercase atau bukan*/
if (islower(c)!=0)
printf("%c adalah huruf kecil.",c);
else {
printf("%c bukan huruf kecil.\n",c);
printf("%c adalah huruf kecil %c.",tolower(c),c);
}
return 0;
}
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban dan Penjelasan:
Tidak ada kesalahan signifikan pada kode program tersebut. Mungkin hanya bagian #include saja yang perlu dilengkapi.
Perlu diperhatikan, bahwa kode program ini akan memeriksa apakah karakter yang dimasukkan merupakan karakter huruf kecil (lowercase character) atau bukan. Namun tidak ada penanganan kasus untuk karakter input yang bukan berupa huruf alfabet, padahal jelas dari tujuan program ini bahwa yang diperiksa adalah huruf alfabet.
_______________________________
Berikut ini adalah kode program yang sudah dilengkapi, dalam versi dasar (karakter apapun tetap diterima).
#include<stdio.h>
#include<ctype.h>
int main() {
char c;
printf("\nEnter a character: ");
scanf(" %c", &c);
/* memeriksa apakah karakter yang dimasukkan lowercase atau bukan*/
if (islower(c) != 0)
printf("%c adalah huruf kecil.", c);
else {
printf("%c bukan huruf kecil.\n", c);
printf("%c adalah huruf kecil %c.", tolower(c), c);
}
return 0;
}
_______________________________
Pada kode program tersebut, ada analisis kasus islower(c) != 0. Menurut saya, akan lebih "elegan" apabila kode tersebut diganti dengan !islower(c).
Namun karena hal itu bukan kesalahan, maka tidak perlu dikoreksi.
_______________________________
Saya tambahkan juga sedikit modifikasi agar program hanya akan memeriksa karakter jika karakternya adalah karakter alfabet (a-z atau A-Z). Mungkin bisa berguna sebagai referensi.
#include<stdio.h>
#include<ctype.h>
int main() {
char c;
do {
printf("\nEnter a character: ");
scanf(" %c", &c);
} while (!isalpha(c));
/* memeriksa apakah karakter yang dimasukkan lowercase atau bukan*/
if (islower(c) != 0)
printf("%c adalah huruf kecil.", c);
else {
printf("%c bukan huruf kecil.\n", c);
printf("%c adalah huruf kecil %c.", tolower(c), c);
}
return 0;
}
_______________________________
Saya lampirkan juga beberapa screenshot agar lebih jelas hasil eksekusi/running programnya.
Keterangan:
Program dikode dengan menggunakan Visual Studio Code pada sistem operasi Arch Linux. Namun, hasilnya akan sama saja apabila Anda menggunakan IDE/editor lain di sistem operasi lain (Windows, MacOS, Android, dsb).
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Sat, 02 Apr 22