Minggu, 16 Desember 2012

Program Switch dan If Else [C++]

Untuk anggota kelompok K3; Santomo, Ratna, Teguh, Ani dan saya sendiri; Azim. Berikut ini sedikit share tentang kode sumber Program Switch dan If Else dalam bahasa C buatan saya. Sebelumnya, penggunaan if-else adalah kondisi untuk menyeleksi suatu variabel cocok dengan kondisi mana yang tertera dalam batang tubuh IF.

Penggunaan switch juga layaknya penggunaan if-else, namun jika kalian menggunakan switch maka kondisi yang bisa diproses hanya dibatasi ditulis 2 buah karakter saja. Dalam switch, meskipun bisa menuliskan 2 karakter, namun yang akan benar-benar bisa diproses adalah kondisi dimana ditulis oleh karakter tunggal atau 1 karakter.

Penjelasannya berantakan karena kemarin pada waktu pelajaran C++ tentang if, if-else dan switch saya ketinggalan dan hampir tidak mengikuti kelas. hehehe

Kode program berikut digunakan untuk membuat program pengkonversi nilai ulangan seorang mahasiswa dengan kriteria nilai 0-54=D, 55-64=C, 65-74=BC, 75-84=B, 85-94=AB, 95-100=A.  Setelah dikonversikan, dengan switch akan ditampilkan maksud dari kiteria grade A, AB, B, BC, C dan D.

Berikut ini kode program standarnya :


#include <stdio.h>
#include <iostream.h>
#include <conio.h>
main()
{
clrscr;
printf("(!) =====================================\n");
printf("== Nilai 0-54=D, 55-64=C, 65-74=BC    ===\n");
printf("== Nilai 75-84=B, 85-94=AB, 95-100=A  ===\n");
printf("===================================== (!)\n\n");
ataz:
char yt;
double nilai;
char nilai2, a;
printf("\nMasukkan nilai hasil ulangan Anda     = ");
scanf("%lf", &nilai);
if (nilai>=95 && nilai<=100)
{
printf ("Grade nilai ulangan Anda \t      = A [A]");
}
else
{
if (nilai>=85 && nilai<95)
{
printf ("Grade nilai ulangan Anda \t      = AB [a]");
}
else if (nilai>=75 && nilai<85)
{
printf ("Grade nilai ulangan Anda \t      = B [B]");
}
else if (nilai>=65 && nilai<75)
{
printf ("Grade nilai ulangan Anda \t      = BC [b]");
}
else if (nilai>=55 && nilai<65)
{
printf ("Grade nilai ulangan Anda \t      = C [C]");
}
else if (nilai>=0 && nilai<55)
{
printf ("Grade nilai ulangan Anda \t      = D [D]");
}
}
getch();
printf("\n\nAnda ingin memasukkan angka lagi? [Y/T] "); cin>>yt;
if (yt == 'Y' || yt == 'y')
goto ataz;
else
goto next;
next:
printf("\n_______________________________________");
printf("\nMasukkan grade nilai (Huruf dalam []) = "); cin>>nilai2;
switch (nilai2)
{
case 'A' :
cout<<"Selamat, Anda lulus!";
break;
case 'a' :
cout<<"Tingkatkan belajar Anda!";
break;
case 'B' :
cout<<"Teruslah belajar!";
break;
case 'b' :
cout<<"Semangat dan terus belajar!";
break;
case 'C' :
cout<<"Silahkan belajar lebih giat lagi!";
break;
case 'D' :
cout<<"Silahkan mengulang ulangan!";
break;
default : printf("Kode grade Anda salah"); break;
}
getch();
printf("\n\nAnda ingin memasukkan grade lagi? [Y/T] "); cin>>a;
if (a == 'Y' || a == 'y')
goto  next;
else printf("\n\n(!) ================================= (!)");
printf("\nTerimakasih telah menggunakan program ini\n");
printf("(!) ================================= (!)\n");
end:
}

Dan jika di run akan menampilkan program seperti di bawah ini :

penulisan kode sumber program pada borland c++

program in action


Dibawah ini kode sumber program versi developer :


 #include <stdio.h>
 #include <iostream.h>
 #include <conio.h>
main()
{
clrscr;
printf("(!) =====================================\n");
printf("== Nilai 0-54=D, 55-64=C, 65-74=BC    ===\n");
printf("== Nilai 75-84=B, 85-94=AB, 95-100=A  ===\n");
printf("===================================== (!)\n\n");
ataz:
char yt; //bisa disesuaikan
double nilai; //bisa disesuaikan
char nilai2, a; //bisa disesuaikan
printf("\nMasukkan nilai hasil ulangan Anda     = ");
scanf("%lf", &nilai);
if (nilai>=95 && nilai<=100)
{
printf ("Grade nilai ulangan Anda \t      = A [A]"); //bisa disesuaikan
}
else
{ //penting!... percabangan pertama harus diberikan {
if (nilai>=85 && nilai<95)
{
printf ("Grade nilai ulangan Anda \t      = AB [a]"); //bisa disesuaikan
}
else if (nilai>=75 && nilai<85)
{
printf ("Grade nilai ulangan Anda \t      = B [B]"); //bisa disesuaikan
}
else if (nilai>=65 && nilai<75)
{
printf ("Grade nilai ulangan Anda \t      = BC [b]"); //bisa disesuaikan
}
else if (nilai>=55 && nilai<65)
{
printf ("Grade nilai ulangan Anda \t      = C [C]"); //bisa disesuaikan
}
else if (nilai>=0 && nilai<55)
{
printf ("Grade nilai ulangan Anda \t      = D [D]"); //bisa disesuaikan
}
}
getch();
printf("\n\nAnda ingin memasukkan angka lagi? [Y/T] "); cin>>yt;
if (yt == 'Y' || yt == 'y')
goto ataz; //menuju ke bagian bernama ataz:
//baru
else
goto next;
next:
printf("\n_______________________________________");
printf("\nMasukkan grade nilai (Huruf dalam []) = "); cin>>nilai2;
switch (nilai2)
{
case 'A' : //A akan diproses hanya jika 1 karakter, meskipun bisa menampung maksimal 2 karakter
cout<<"Selamat, Anda lulus!"; //bisa disesuaikan
break;
case 'a' : //a akan diproses hanya jika 1 karakter, meskipun bisa menampung maksimal 2 karakter
cout<<"Tingkatkan belajar Anda!";  //bisa disesuaikan
break;
case 'B' : //B akan diproses hanya jika 1 karakter, meskipun bisa menampung maksimal 2 karakter
cout<<"Teruslah belajar!"; //bisa disesuaikan
break;
case 'b' : //b akan diproses hanya jika 1 karakter, meskipun bisa menampung maksimal 2 karakter
cout<<"Semangat dan terus belajar!"; //bisa disesuaikan
break;
case 'C' : //C akan diproses hanya jika 1 karakter, meskipun bisa menampung maksimal 2 karakter
cout<<"Silahkan belajar lebih giat lagi!"; //bisa disesuaikan
break;
case 'D' :
cout<<"Silahkan mengulang ulangan!"; //bisa disesuaikan
break;
default : printf("Kode grade Anda salah"); break; //bisa disesuaikan
}
getch();
printf("\n\nAnda ingin memasukkan grade lagi? [Y/T] "); cin>>a;
if (a == 'Y' || a == 'y')
goto  next;
else printf("\n\n(!) ================================= (!)");
printf("\nTerimakasih telah menggunakan program ini\n");
printf("(!) ================================= (!)\n");
//else goto end;
//else goto ataz;
end:
}
/*07.14PM 151212 versi mutakhir.
- switch hanya untuk karakter
- tinggal problem di switch ini
- nested if diatas, sebelum if kedua musti dikasih {
serta ditutup } di akhir sebelum }
- case hanya bisa satu karakter
- nilai hasil ujian tetap keluar meskipun ada huruf nyempil dibelakang angka
- 06.23AM 161212 versi mutakhir
-oleh Ahmad Mu'azim Abidin
*/

Penulisan program dibuat menggunakan aplikasi Borland C++, mungkin akan sedikit berbeda jika kalian tulis dan coba run menggunakan Turbo C++ (DosBox). Sekian.

Tidak ada komentar:

Posting Komentar