Selasa, 04 Desember 2012

Pemilihan dengan Case Of



             
Struktur CASE


Contoh 1
1.       Buatlah sebuah program dengan menggunakan metode Case Of untuk menampilkan Nilai ujian (A, B, C, D atau E) berdasarkan hasil score ujian yang diperoleh oleh mahasiswa. Adapun jangkauan nilai yang diperbolehkan adalah sbb

Nilai Ujian
Score
A
85 > Score ≤ 100
B
70 > Score ≤ 85
C
60 > Score ≤ 70
D
50 > Score ≤ 60
E
0 ≥ Score ≤ 50

Penyelesaian

program CaseScoreOf;
uses
 wincrt;
var
   score : integer;
begin
  repeat
   clrscr;
   write('Masukan score ujian anda [0 s/d 100] ! ');
   readln(score);
   writeln('Score ujian anda adalah ', score);

   case score of
        86..100 :  begin
                        write('Maka nilai anda adalah ', 'A');
                         end;
        71.. 85 :  begin
                        write('Maka nilai anda adalah ', 'B');
                        end;
        61.. 70 :  begin
                        write('Maka nilai anda adalah ', 'C');
                        end;
        51.. 60 :  begin
                        write('Maka nilai anda adalah ', 'D');
                        end;
         0.. 50 :  begin
                        write('Maka nilai anda adalah ', 'E');
                       end
           else
             write('Score ujian yang anda masukkan tidak sesuai dalam range yang diperbolehkan');   
   end;
   readln
 until keypressed;
end.

Contoh  2
1.       Buatlah sebuah program untuk mendeteksi apak sebuah bilangan termasuk bilangan GENAP atau GANJIL, dengan menggunakan metode Case Of.
Penyelesaian : Untuk menyelesaikan  persoalan diatas kita bisa memanfaatkan Operator MOD (Sisa Pembagian), sebagai contoh
Kesimpulan : apabila sebuah bilangan di mod kan dengan 2 bernilai 0, maka bilangan tersebut adalah bilangan GENAP
 
10 mod 2 = 0
8 mod 2 = 0
6 mod 2 = 0
Kesimpulan : apabila sebuah bilangan di mod kan dengan 2 bernilai 1, maka bilangan tersebut adalah bilangan GANJIL
 
9 mod 2 = 1
7 mod 2 = 1
6 mod 2 = 1

program GenapGanjil;
uses
 wincrt;
var
   bilangan : integer;
begin
  repeat
   clrscr;
   write('Masukan Sebuah Bilangan Bulat : ');
   readln(bilangan);
   case bilangan mod 2 of
        0 :        begin
                        write(bilangan, ' Adalah Bilangan GENAP');
                   end;
        1 :        begin
                        write(bilangan,' Adalah Bilangan GANJIL');
                   end;      

   end;
   readln
 until keypressed;
end.

Contoh  3
1.       Buatlah sebuah program untuk menghitung besar upah mingguan karyawan berdasarkan Golongan/Rank karyawan tersebut dengan metode Case Of. Adapun rincian upah perjam karyawan adalah sbb
Golongan
Upah/Jam
A
5000
B
6000
C
7000

                Dimana jam kerja sehari adalah 8 jam dan dalam seminggu terdapat 5 hari kerja

Penyelesaian

program UpahMingguan;
uses
 wincrt;
var
   Golongan : char;
   Upah : Real;
begin
  repeat
   clrscr;
   write('Masukan Golongan/Pangkat Anda [A s/d C] : ');
   readln(Golongan);
   case Golongan  of
        'A' :        begin
                        Upah := 5000 * 8 * 5;
                        write(' Upah Anda selama seminggu adalah ', Upah:2:0);
                     end;
        'B' :        begin
                        Upah := 6000 * 8 * 5;
                        write(' Upah Anda selama seminggu adalah ', Upah:2:0);
                     end;
        'C' :        begin
                        Upah := 7000 * 8 * 5;
                        write(' Upah Anda selama seminggu adalah ', Upah:2:0);
                     end;

   end;
   readln
 until keypressed;
end.









Contoh  4
1.        Buatlah sebuah program untuk mengkonversi 1 digit bilangan bulat (0 s/d 9)   ke mode Teks, dengan menggunakan metode Case Of

program ConversiKeTeks;
uses
 wincrt;
var
   Bilangan : integer;
begin
  repeat
   clrscr;
   write('Masukan Satu Digit Bilangan bulat [0 s/d 9] : ');
   readln(Bilangan);
   case  Bilangan of
        0      :     begin
                        write('Enol');
                     end;
        1      :     begin
                        write('Satu');
                     end;
        2      :     begin
                         write('Dua');
                     end;
        3      :     begin
                        write('Tiga');
                     end;
        4      :     begin
                        write('Empat');
                     end;
        5      :     begin
                        write('Lima');
                     end;
        6      :     begin
                        write('Enam');
                     end;
        7      :     begin
                        write('Tujuh');
                     end;
        8      :     begin
                        write('Delapan');
                     end;
        9      :     begin
                        write('Sembilan');
                     end;
   end;
   readln
 until keypressed;
end.

























Contoh  5
1.        Buatlah sebuah program untuk menghitung hari berdasarkan nama bulan yang, dengan menggunakan metode Case Of





program hitunghari;
uses
 wincrt;
var
 tahun, bulan : integer;
begin
  repeat
  clrscr;
  write('Masukan tahun : ');
  readln(tahun);
  write('Masukan Bulan : ');
  readln(bulan);

  case bulan of
      1,3,5,7,8,10,12 : Begin
                           write('31 hari');
      
                        End;
      2 : begin
              if tahun mod 4 = 0 then write('29 hari')
              else write('28 hari');
          end;
      4,6,9,11 : Begin
                   write('30 hari');

                 End;
  end;
  readln;
  until keypressed;
end.

0 komentar:

Posting Komentar

 
;