   Bentuk pernyataan IF:
    IF <syarat logika> THEN <Pernyataan>;


                              Benar
                              (True)
                Syarat
                                       Pernyataan
                Logika

                     Salah
                    (False)
   IF <syarat logika> THEN <Pernyataan-1>
                       ELSE <Pernyataan-2> ;


                               Benar
                               (True)
                 Syarat
                                        Pernyataan-1
                 Logika

                      Salah
                     (False)

              Pernyataan-2
   Jika syarat logika bernilai Benar maka yang
    akan dijalankan adalah pernyataan yang
    mengikuti THEN, dan sebaliknya jika syarat
    logika bernilai Salah maka yang akan
    dijalankan adalah pernyataan yang mengikuti
    ELSE.
   Jika pernyataan yang mengikuti THEN atau
    ELSE lebih dari satu maka harus diawali oleh
    Begin dan diakhiri oleh End. Statement End
    sebelum ELSE tidak boleh ada tanda titik
    koma (;).
IF <syarat logika> THEN begin
   <Pernyataan-11>;
   <Pernyataan-12>;
      .
      .
   <Pernyataan-1n>;
                        end
                        ELSE begin
   <Pernyataan-21>;
   <Pernyataan-22>;
      .
      .
   <Pernyataan-2m>;
                              end;
   Program untuk menentukan apakah suatu
    bilangan itu positif atau negatif.
    Program bilangan;
    Uses wincrt;
    Var bil :integer;
    Begin
    Readln(bil);
    If bil >= 0 Then writeln(’Positif’)
        Else writeln (‘Negatif’)
    End.
   Jika ada dua pernyataan IF atau lebih, dimana
    pernyataan IF yang satu berada di dalam
    pernyataan IF yang lain, maka pernyataan
    tersebut disebut Bersarang (nested).
   Contoh bentuk pernyataan IF Bersarang:
    IF <syarat logika-1> THEN <Pernyataan-1>
                       ELSE IF <syarat logika-2> THEN <Pernyataan-2>
                                               ELSE IF <syarat logika-3> THEN <Pernyataan-3>
                                                                       ELSE <Pernyataan-4>;
Salah                     Salah                     Salah
   Syarat       (False)      Syarat       (False)      Syarat       (False)
  Logika-1                  Logika-2                  Logika-3

       Benar                     Benar                     Benar
       (True)                    (True)                    (True)

Pernyataan-1              Pernyataan-2              Pernyataan-3       Pernyataan-4
   Program untuk menentukan bonus pegawai
    berdasarkan total penjualan. Kriteria bonus
    adalah sebagai berikut:
        Total Penjualan (Rp)     Bonus Yang Didapat (Rp)

        Total ≥ 500.000                  30.000
        250.000≤Total <500.000           20.000
        50.000≤Total<250.000             10.000
        Total < 50.000                     0
Program bonus;
Uses wincrt;
Var Total :real;
Begin
Readln(Total);
If Total >= 500000 Then writeln(’Bonus = 30.000’)
  Else If Total >= 250000 Then writeln(’Bonus =
  20.000’)
        Else If Total >= 50000 Then writeln(’Bonus
  = 10.000’)
Else writeln(’Tidak Ada Bonus’)
End.
   Bentuk pernyataan CASE:
    CASE <variabel-pemilih>      OF
            <daftar-label-1> : <Pernyataan-1>;
            <daftar-label-2> : <Pernyataan-2>;
                      .
                      .
            <daftar-label-n> : <Pernyataan-n>;
            ELSE <Pernyataan-lain> ;
    END;
Benar
  variabel-
                    (True)
pemilih=daftar-              Pernyataan-1
   label-1

           Salah
          (False)

                    Benar
  variabel-
                    (True)
pemilih=daftar-              Pernyataan-2
   label-2

           Salah
          (False)

                    Benar
  variabel-
                    (True)
pemilih=daftar-              Pernyataan-n
   label-n


  .....    Salah
          (False)

Pernyataan
   Lain
   Variabel pemilih tidak boleh bertipe real.
    Pernyataan yang akan dijalankan sesuai dengan
    daftar-label yang memuat nilai variabel pemilih.
    Jika nilai dari variabel pemilih tidak ada dalam
    semua daftar label, maka pernyataan yang akan
    dijalankan adalah pernyataan yang mengikuti
    ELSE. ELSE dalam pernyataan CASE boleh tidak
    ada. Sama halnya dengan pernyataan IF, Jika
    pernyataan yang mengikuti daftar-label lebih
    dari satu maka harus diawali oleh Begin dan
    diakhiri oleh End.
Program untuk menentukan apakah suatu Character (huruf)
  yang dimasukkan adalah huruf vokal atau bukan..
      Program huruf;
      Uses wincrt;
      Var data:char;
      Begin
      Readln(data);
      case data of
             'A','I','U','E','O' :writeln('Huruf Besar Vokal');
             'a','i','u','e','o' :writeln('Huruf Kecil Vokal');
             Else writeln ('Bukan huruf Vokal');
             End;
      End.
   Program untuk menentukan apakah suatu Character
    yang dimasukkan adalah huruf atau angka.
            Program huruf;
            Uses wincrt;
            Var data:char;
            Begin
            Readln(data);
             Case data of
               'A'..'Z' :writeln('Huruf Besar');
               'a'..'z' :writeln('Huruf Kecil');
               '0'..'9' :writeln ('Angka');
             End;
            End.
1.   Tuliskan statement Pascal untuk kasus berikut ini:
      Jika mempunyai anak maka hitung: tunjangan anak = tunjangan*banyaknya
       anak
      Tampilkan tulisan ’Genap’ atau ’Ganjil’ sesuai dengan data yang dimasukkan.
2.   Mencari nilai maksimum dari ketiga buah data
       Input : Tiga buah Data X1, X2 dan X3
       Proses: mencari nilai maksimum
       Output: nilai maksimum dari tiga buah data tersebut.
3.   Buat program mencari penyelesaian akar dari persamaan kuadrat :
       A X2 + B X + C = 0
       Akar persamaan ini dapat memberikan tiga kemungkinan
       penyelesaian berdasarkan nilai D = B2 – 4 A C:
                D > 0 : Akar berlainan
                D = 0 : Akar kembar
                D < 0 : Akar bilangan kompleks
                Penyelesaian Akar : X   B  D
                                         12
                                           2A
       (Gunakan Statement IF)
4.   Buat Program untuk menentukan apakah seorang
     mahasiswa mendapat grade ’A’, ’B’, ’C’, ’D’ atau ’E’
     berdasarkan nilai yang didapat. (Gunakan Statement IF).
5.   Buat program untuk menampilkan proses berikut ini:
       Ditampilkan menu :
       1. Soto                Rp. 5000,-
       2. Bakso               Rp. 3000,-
       3. Nasi Pecel          Rp. 4000,-
       Selanjutnya ditanyakan mana yang akan dibeli dan
       jumlah porsinya.
       Setelah itu, hitung harga yang harus dibayar, dengan
       rumus:
       Harga yg hrs dibayar = harga menu yg dipilih *
       banyaknya porsi
       (Gunakan Statement IF).
6.   Kerjakan kasus 2,3,4,5 dengan Statement CASE

Pernyataan bersyarat

  • 2.
    Bentuk pernyataan IF: IF <syarat logika> THEN <Pernyataan>; Benar (True) Syarat Pernyataan Logika Salah (False)
  • 3.
    IF <syarat logika> THEN <Pernyataan-1> ELSE <Pernyataan-2> ; Benar (True) Syarat Pernyataan-1 Logika Salah (False) Pernyataan-2
  • 4.
    Jika syarat logika bernilai Benar maka yang akan dijalankan adalah pernyataan yang mengikuti THEN, dan sebaliknya jika syarat logika bernilai Salah maka yang akan dijalankan adalah pernyataan yang mengikuti ELSE.  Jika pernyataan yang mengikuti THEN atau ELSE lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End. Statement End sebelum ELSE tidak boleh ada tanda titik koma (;).
  • 5.
    IF <syarat logika>THEN begin <Pernyataan-11>; <Pernyataan-12>; . . <Pernyataan-1n>; end ELSE begin <Pernyataan-21>; <Pernyataan-22>; . . <Pernyataan-2m>; end;
  • 6.
    Program untuk menentukan apakah suatu bilangan itu positif atau negatif. Program bilangan; Uses wincrt; Var bil :integer; Begin Readln(bil); If bil >= 0 Then writeln(’Positif’) Else writeln (‘Negatif’) End.
  • 7.
    Jika ada dua pernyataan IF atau lebih, dimana pernyataan IF yang satu berada di dalam pernyataan IF yang lain, maka pernyataan tersebut disebut Bersarang (nested).  Contoh bentuk pernyataan IF Bersarang: IF <syarat logika-1> THEN <Pernyataan-1> ELSE IF <syarat logika-2> THEN <Pernyataan-2> ELSE IF <syarat logika-3> THEN <Pernyataan-3> ELSE <Pernyataan-4>;
  • 8.
    Salah Salah Salah Syarat (False) Syarat (False) Syarat (False) Logika-1 Logika-2 Logika-3 Benar Benar Benar (True) (True) (True) Pernyataan-1 Pernyataan-2 Pernyataan-3 Pernyataan-4
  • 9.
    Program untuk menentukan bonus pegawai berdasarkan total penjualan. Kriteria bonus adalah sebagai berikut: Total Penjualan (Rp) Bonus Yang Didapat (Rp) Total ≥ 500.000 30.000 250.000≤Total <500.000 20.000 50.000≤Total<250.000 10.000 Total < 50.000 0
  • 10.
    Program bonus; Uses wincrt; VarTotal :real; Begin Readln(Total); If Total >= 500000 Then writeln(’Bonus = 30.000’) Else If Total >= 250000 Then writeln(’Bonus = 20.000’) Else If Total >= 50000 Then writeln(’Bonus = 10.000’) Else writeln(’Tidak Ada Bonus’) End.
  • 11.
    Bentuk pernyataan CASE: CASE <variabel-pemilih> OF <daftar-label-1> : <Pernyataan-1>; <daftar-label-2> : <Pernyataan-2>; . . <daftar-label-n> : <Pernyataan-n>; ELSE <Pernyataan-lain> ; END;
  • 12.
    Benar variabel- (True) pemilih=daftar- Pernyataan-1 label-1 Salah (False) Benar variabel- (True) pemilih=daftar- Pernyataan-2 label-2 Salah (False) Benar variabel- (True) pemilih=daftar- Pernyataan-n label-n ..... Salah (False) Pernyataan Lain
  • 13.
    Variabel pemilih tidak boleh bertipe real. Pernyataan yang akan dijalankan sesuai dengan daftar-label yang memuat nilai variabel pemilih. Jika nilai dari variabel pemilih tidak ada dalam semua daftar label, maka pernyataan yang akan dijalankan adalah pernyataan yang mengikuti ELSE. ELSE dalam pernyataan CASE boleh tidak ada. Sama halnya dengan pernyataan IF, Jika pernyataan yang mengikuti daftar-label lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End.
  • 14.
    Program untuk menentukanapakah suatu Character (huruf) yang dimasukkan adalah huruf vokal atau bukan.. Program huruf; Uses wincrt; Var data:char; Begin Readln(data); case data of 'A','I','U','E','O' :writeln('Huruf Besar Vokal'); 'a','i','u','e','o' :writeln('Huruf Kecil Vokal'); Else writeln ('Bukan huruf Vokal'); End; End.
  • 15.
    Program untuk menentukan apakah suatu Character yang dimasukkan adalah huruf atau angka. Program huruf; Uses wincrt; Var data:char; Begin Readln(data); Case data of 'A'..'Z' :writeln('Huruf Besar'); 'a'..'z' :writeln('Huruf Kecil'); '0'..'9' :writeln ('Angka'); End; End.
  • 16.
    1. Tuliskan statement Pascal untuk kasus berikut ini:  Jika mempunyai anak maka hitung: tunjangan anak = tunjangan*banyaknya anak  Tampilkan tulisan ’Genap’ atau ’Ganjil’ sesuai dengan data yang dimasukkan. 2. Mencari nilai maksimum dari ketiga buah data Input : Tiga buah Data X1, X2 dan X3 Proses: mencari nilai maksimum Output: nilai maksimum dari tiga buah data tersebut. 3. Buat program mencari penyelesaian akar dari persamaan kuadrat : A X2 + B X + C = 0 Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan nilai D = B2 – 4 A C: D > 0 : Akar berlainan D = 0 : Akar kembar D < 0 : Akar bilangan kompleks Penyelesaian Akar : X   B  D 12 2A (Gunakan Statement IF)
  • 17.
    4. Buat Program untuk menentukan apakah seorang mahasiswa mendapat grade ’A’, ’B’, ’C’, ’D’ atau ’E’ berdasarkan nilai yang didapat. (Gunakan Statement IF). 5. Buat program untuk menampilkan proses berikut ini: Ditampilkan menu : 1. Soto Rp. 5000,- 2. Bakso Rp. 3000,- 3. Nasi Pecel Rp. 4000,- Selanjutnya ditanyakan mana yang akan dibeli dan jumlah porsinya. Setelah itu, hitung harga yang harus dibayar, dengan rumus: Harga yg hrs dibayar = harga menu yg dipilih * banyaknya porsi (Gunakan Statement IF). 6. Kerjakan kasus 2,3,4,5 dengan Statement CASE