BAB 4 STRUCTUR CONTROL

Document Sample
BAB 4 STRUCTUR CONTROL Powered By Docstoc
					                                                JURUSAN TEKNIK INFORMATIKA
                                                         STMIK ASIA MALANG
                                                                                                       41




                       4




                                                                                           PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                    BAB 4 STRUKTUR KONTROL
 BAB

                       STRUKTUR KONTROL
4.1. Percabangan

Pernyataan IF


IF dipakai untuk menyatakan percabangan bersyarat, artinya sebuah pernyataan
akan dikerjakan atau tidak bergantung pada syaratnya.

Bentuk umum :
if ( syarat) pernyataan;
else pernyataan;


else bersifat optional. Jika syarat benar ( nilainya tidak 0), pernyataan atau blok
setelah if yang dikerjakan. Jika tidak, penyataan setelah else yang dikerjakan.




Operator Relasi
Operator relasi digunakan untuk membandingkan nilai dari dua buah ekspresi.
Operator-operator yang dikenal dalam turbo C adalah:

                                 Tabel 4.1 Operator

            OPERATOR                                      ARTI
                   <                      Lebih kecil
                   >                      Lebih besar
                  ==                      Sama dengan
                  <=                      Lebih kecil atau sama dengan
                  >=                      Lebih besar atau sama dengan
                  !=                      Tidak sama dengan

                                                                 Syaiful Anam, S.Si, MT
                                                          KBI Pemodelan dan Komputasi
                                         Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    42

Contoh 4.1.




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
Buatlah program untuk menentukan suatu bilangan <0 atau 00. !
Penyelesaian:


  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int x;
      clrscr();
      printf("Masukkan x : ");
      scanf("%d",&x);
      if (x>=0)
      printf(" %d adalah bilangan yang lebih besar sama dengan
  nol",x);
      else
      printf(" %d adalah bilangan yang lebih kecil dari nol",x);
  }



IF Dengan Blok
Jika syarat benar, yang akan dikerjakan hanyalah satu pernyataan.


Contoh 4.2.
Buatlah program untuk menentukan suatu bilangan <0 atau 00. !
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int x;
      clrscr();
      printf("Masukkan x : ");
      scanf("%d",&x);
      if (x>=0)
      {
      printf(" %d adalah bilangan yang lebih besar sama dengan nol
  \n",x);
      printf(" %d >=0 ",x);
      }
      else
      {
      printf(" %d <0 \n",x);
      printf(" %d adalah bilangan yang lebih kecil dari nol",x);
      }
    }


                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                                  JURUSAN TEKNIK INFORMATIKA
                                                           STMIK ASIA MALANG
                                                                                                        43

Operator Logika




                                                                                            PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                     BAB 4 STRUKTUR KONTROL
Operator logika digunakan untuk menghubungkan dua buah ekspresi logika.
Operator-operator yang akan kita bahas adalah:
           && (AND)
           || (OR)
           !(NOT)
untuk lebih jelasnya perhatikan tabel berikut :
                              Tabel 4.2 Operator &&
       Penyataan1                   Penyataan2                      &&
                                     BENAR
       BENAR                         SALAH                      BENAR
        BENAR                        BENAR                       SALAH
        SALAH                        SALAH                       SALAH
        SALAH                                                    SALAH
                                Tabel 4.3 Operator ||
       Penyataan1                   Penyataan2                       ||
                                     BENAR
       BENAR                         SALAH                      BENAR
        BENAR                        BENAR                       BENAR
        SALAH                        SALAH                       BENAR
        SALAH                                                    SALAH

Contoh 4.3.
Menentukan x pada selang 5  x  8 !
Penyelesaian:

 #include <conio.h>
 #include <stdio.h>
 main()
 {
 int x;
 clrscr();
 printf("Masukkan x : ");
 scanf("%d",&x);
 if (x>5 && x<8)
    printf(" %d adalah terletak antara 5 dan 8 ",x);
 else
 printf(" %d adalah terletak diluar selang 5 sampai 8",x);

   }

                                                                  Syaiful Anam, S.Si, MT
                                                           KBI Pemodelan dan Komputasi
                                          Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    44

Contoh 4 4.
Menentukan suatu bilangan lebih besar 7 atau kurang dari 3.




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int x;
      clrscr();
      printf("Masukkan x : ");
      scanf("%d",&x);
      if (x>7 || x<3)
      printf(" %d adalah kurang dari 3 atau lebih besar 7",x);
      else
      printf(" %d adalah tidak kurang dari 3 dan tidak lebih besar
  7",x);

   }


Contoh 4.1.5.
Menentukan bilangan nol atau bukan.

Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
     int x;
     clrscr();
     printf("Masukkan x : ");
     scanf("%d",&x);
     if (x!=0)
     printf(" %d adalah bukan bilangan nol",x);
     else
     printf(" %d adalah bilangan nol",x);

   }


Tangga If Else-If
Bentuk Umum :
  if (syarat)
  pernyataan;
  else if (syarat )
  pernyataan;
  ……
  else pernyataan;

                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                              JURUSAN TEKNIK INFORMATIKA
                                                       STMIK ASIA MALANG
                                                                                                     45

Contoh 4.6.




                                                                                         PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                  BAB 4 STRUKTUR KONTROL
  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int Pil;
      clrscr();
      printf("WARNA YANG KAMU SUKA APA : \n");
      printf("1. BIRU \n");
      printf("2. MERAH \n");
      printf("3. PUTIH \n");
      printf("4. SAYA TIDAK SUKA WARNA APAPUN \n");
      printf("Masukkan Pilihan Anda : ");
      scanf("%d",&Pil);
      if (Pil=1)
      printf(" ANDA ROMANTIS");
      else if (Pil=2)
      printf(" ANDA PEMARAH");
      else if (Pil=2)
      printf(" ANDA BAIK");
      else
      printf(" ANDA TIDAK PUNYA SELERA");

   }



If Bersarang
Bentuk Umum :

  if (syarat)
  if (syarat)
           pernyataan;
        else
               pernyataan;
  else
  if (syarat )
           pernyataan;
  else
           pernyataan;



Contoh 4.7.
Menentukan suatu bilangan positif, negatif atau nol.


                                                               Syaiful Anam, S.Si, MT
                                                        KBI Pemodelan dan Komputasi
                                       Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    46

Penyelesaian:




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int x;
      clrscr();
      printf("Masukkan x : ");
      scanf("%d",&x);
      if (x!=0)
             if (x>0)
                   printf(" POSITIF");
             else
                   printf(" NEGATIF");
      else
      printf(" NETRAL");
    }




PERNYATAAN SWITCH

Tangga if –else-if dapat dipakai untuk menguji beberapa syarat tetapi kadang
kadang sulit. Cara lain untuk menyelesaikan dengan mengunakan switch.
Ada tiga hal penting tentang pengunaan swith dan if-else
1.) switch hanya dapat memeriksa persamaan dengan sebuah konstanta, if bisa
    memeriksa syarat-syarat lain (lebih besar, lebih kecil, tidak sama dengan dan
    lain-lain).
2.) Tidak ada dua konstanta yang sama didalam switch.
3.) Pernyataan switch lebih baik dari pada tangga if-else-if.
Contoh 4.8


#include <conio.h>
#include <stdio.h>
main()
{
     int Pil;
     clrscr();
     printf("WARNA YANG KAMU SUKA APA : \n");
     printf("1. BIRU \n");
     printf("2. MERAH \n");
     printf("3. PUTIH \n");
     printf("4. SAYA TIDAK SUKA WARNA APAPUN \n");
     printf("Masukkan Pilihan Anda : ");
     scanf("%d",&Pil);
     switch (Pil)

                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                            JURUSAN TEKNIK INFORMATIKA
                                                     STMIK ASIA MALANG
                                                                                                   47


{




                                                                                       PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                BAB 4 STRUKTUR KONTROL
        case 1:
        printf(" ANDA   ROMANTIS");
        break;
        case 2:
        printf(" ANDA   PEMARAH");
        break;
        case 3:
        printf(" ANDA   BAIK");
        break;
        case 4:
        printf(" ANDA   TIDAK PUNYA SELERA");
        default :
        printf(" ANDA   SALAH PILIH");
        }
    }




Switch Bersarang
Kita dapat membuat sebuah switch bersarang didalam sebuah switch.


switch(x)
{
  case 1:
       switch(y)
        {
        case 0 :
               ………….
                 …………
         case 1 :
                 …………
                 …………
         }
       break
    case 2:
         …………
         …………
}



                                                             Syaiful Anam, S.Si, MT
                                                      KBI Pemodelan dan Komputasi
                                     Program Studi Matematika| Universitas Brawijaya
                                                  JURUSAN TEKNIK INFORMATIKA
                                                           STMIK ASIA MALANG
                                                                                                         48

4.2.       Perulangan




                                                                                             PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                      BAB 4 STRUKTUR KONTROL
Loop adalah pengulangan perintah-perintah sampai mencapai keadaan tertentu.
Turbo C mempunyai 3 jenis loop yaitu

                for
                while
                do-while



Loop For
for mempunyai bentuk umum :
for (inisialisasi;syarat;penambahan) pernyataan;


Keterangan :
Inisialisasi adalah pernyataan untuk menyatakan keadaan awal dari variable
kontrol.

Syarat adalah ekspresi relasional yang menyatakan berhentinya suatu pengulangan.

Penambahan menyatakan perubahan variable kontrol setiap terjadi perulangan.

Contoh 4.9
Buatlah program untuk menampilkan bilangan 1 sampai 5.
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int i;
      clrscr();
      for(i=1;i<=5;i++)
      printf(" %d \n",i);
  }




  Program diatas :
  Inisialisasi :i=1
  Syarat               :i<=5
  Penambahan           : i++, ditambah 1


                                                                   Syaiful Anam, S.Si, MT
                                                            KBI Pemodelan dan Komputasi
                                           Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    49




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
OPERATOR PENAMBAHAN DAN PENGURANGAN
C mempunyai dua operator khusus yaitu penambahan (++) dan pengurangan (--) .
Contoh :
x++ Artinya x=x+1
x--   Artinya x=x-1

Operator penambahan dan pengurangan dapat dituliskan di depan atau dibelakang,
tetapi mempunyai arti yang berbeda.jadi dapat dituliskan :
x++ atau ++x.

Jika Operator diletakkan di depan, C akan melakukan penambahan dan
pengurangan sebelum memakai operator. Jika diletakkan dibelakang, C akan
memakai nilai operator lalu menambah atau mengurangi variable. Perhatikan
contoh berikut :
     x=10
     y=++x


Pada contoh ini, y bernilai 11 sebab x ditambah 1, lalu diisikan ke y. Bandingkan
dengan :
      x=10
      y=x++
y diisi 10, lalu ditambahkan 1. Pada kedua contoh tersebut x sama-sama bernilai
11, bedanya adalah kapan hal itu terjadi, sebelum diisikan ke y dan sesudah
diisikan ke y.
Contoh 4.10
Buatlah program untuk menampilkan bilangan 5 sampai 1.
Penyelesaian:


  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int i;
      clrscr();
      for(i=5;i>=1;i--)
      printf(" %d \n",i);

   }



                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                              JURUSAN TEKNIK INFORMATIKA
                                                       STMIK ASIA MALANG
                                                                                                     50

Kita juga dapat mengubah variable kontrolnya dengan 5.




                                                                                         PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                  BAB 4 STRUKTUR KONTROL
Contoh 4.11

Buatlah program untuk menampilkan 5 bilangan cacah yang pertama yang habis
dibagi 5.
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
     int i;
     clrscr();
     for(i=0;i<=20;i=i+5)
     printf(" %d \n",i);
   }


PENJUMLAHAN BILANGAN
Dengan for kita bisa membuat program untuk menghitung jumlah bilangan dari
bilangan tertentu sampai bilangan tertentu. Penjumlahan dimulai dari bilangan
yang dinyatakan dengan variable awal sampai dengan akhir. Misalnya awal=1 dan
akhir=5. Yang diinginkan adalah 1+2+3+4+5=15.
Contoh 4.12
Buatlah program untuk menjumlahkan angka 1 sampai 15.
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int i,awal,akhir,jumlah;
      clrscr();
      awal=1;
      akhir=5;
      jumlah=0;
      for(i=awal;i<=akhir;i++)
      jumlah=jumlah+i;
      printf(" awal = %d akhir = %d Jumlah = %d ",awal,akhir,jumlah);

   }




                                                               Syaiful Anam, S.Si, MT
                                                        KBI Pemodelan dan Komputasi
                                       Program Studi Matematika| Universitas Brawijaya
                                               JURUSAN TEKNIK INFORMATIKA
                                                        STMIK ASIA MALANG
                                                                                                      51

Pada program tersebut, variabel jumlah diinisialiasi dengan 0. Bilangan 0 dipakai




                                                                                          PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                   BAB 4 STRUKTUR KONTROL
karena bilangan adalah unsur identitas penjumlahan. Setiap dapat harga i baru
selalu ditambahkan ke variable jumlah. Variable yang demikian disebut variable
akumulator.

Untuk memperjelas jalannya program lihat tabel berikut:
                i                          jumlah
       Keadaan awal                                  0
            1                          1
            2                          3
            3                          6
            4                          10
            5                          15
______________________________________________________________________

Nilai awal dan akhir bisa diinputkan.


Contoh 4.13
Buatlah program untuk menampilkan bilangan dari nilai awal sampai nilai akhir.
Dimana nilai awal dan nilai akhir diinput!
Penyelesaian:


  #include <conio.h>
  #include <stdio.h>
  main()
  {
      int i,awal,akhir,jumlah;
      clrscr();
      printf("Masukkan nilai awal =");
      scanf("%d",&awal);
      printf("Masukkan nilai awal =");
      scanf("%d",&akhir);
      jumlah=0;
      for(i=awal;i<=akhir;i++)
      jumlah=jumlah+i;
      printf(" awal = %d akhir = %d Jumlah = %d ",awal,akhir,jumlah);
    }




                                                                Syaiful Anam, S.Si, MT
                                                         KBI Pemodelan dan Komputasi
                                        Program Studi Matematika| Universitas Brawijaya
                                            JURUSAN TEKNIK INFORMATIKA
                                                     STMIK ASIA MALANG
                                                                                                   52

PEMBUATAN TABEL




                                                                                       PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                BAB 4 STRUKTUR KONTROL
Kita dapat membuat tabel bilangan kuadrat dan akar kuadratnya. Bilangan yang
akan kita cari kuadratnya dan akar kuadratnya adalah 1 sampai 10.
       Bilangan                  Kuadrat                 Akar Kuadrat
           1                       1                         1.00
           2                       4                         1.41
           3                       9                          ..
           4                       ..                         ..
           5                       ..
           6
           7
           8
           9
          10


Contoh 4.14
Buatlah program untuk menampilkan bilangan 1 sampai 10 beserta kuadrat dan
akarnya dalam bentuk tabel !
Penyelesaian :


  #include <conio.h>
  #include <stdio.h>
  #include <math.h>
  main()
  {
      int bil,kuad;
      float akar;
      char garis[38]="_____________________________________";
      clrscr();
      printf("%s\n",garis);
      printf(" Bilangan     Kuadrat   Akar Kuadrat \n");
      printf("%s\n",garis);
      for(bil=1;bil<=10;bil++)
      {
      kuad=bil*bil;
      akar=sqrt(bil);
      printf("    %2d          %3d        %6.2f\n",bil,kuad,akar);
      }
            printf("%s\n",garis);

   }


                                                             Syaiful Anam, S.Si, MT
                                                      KBI Pemodelan dan Komputasi
                                     Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    53

VARIASI LOOP FOR




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
Kita dapat memakai beberapa variable kontrol didalam loop for.
Contoh 4.15.


   #include <conio.h>
   #include <stdio.h>

   main()
   {
       int x,y;
       clrscr();
       for(x=0,y=0;x+y<6;x++,y++)
       printf("%2d %2d %2d \n",x,y,x+y);

    }

Output program tersebut :

      0     0       0
      1     1       2
      2     2       4
Tanda koma dipakai untuk memisahkan dua pernyataan didalam sebuah bagian.
Tanda koma berarti ini dan ini.


MENGHILANGKAN SEBUAH BAGIAN LOOP
Variasi lain adalah dengan menghilangkan salah satu bagian dari loop.

Contoh 4.16.
Buatlah program yang jika ditekan huruf z maka program akan berhenti.

Penyelesaian:


   #include <conio.h>
   #include <stdio.h>
   main()
   {
      char ch;
      clrscr();
      printf(" Ketik z untuk berhenti \n");
      for(ch=' ';ch!='z';)
      ch=getche();

    }

Program di atas, jika kita diminta mengetikkan karakter-karakter dan program akan
berhenti jika kita ketikan „z‟.
                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                              JURUSAN TEKNIK INFORMATIKA
                                                       STMIK ASIA MALANG
                                                                                                     54

LOOP TAK HINGGA




                                                                                         PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                  BAB 4 STRUKTUR KONTROL
Loop tak hingga dibuat dengan menghilangkan bagian syaratnya.

Contoh 4.17.

  #include <conio.h>
  #include <stdio.h>

  main()
  {
      char ch;
      clrscr();
      printf(" Ketik karakter karakter: \n");
      for(ch=' ';;)
      ch=getche();

   }

Program diatas meminta kita memasukkan sebuah huruf dan tidak akan berhenti. Untuk
menghentikan tekan Ctrl+Break.

MENGHENTIKAN LOOP
Untuk menghentikan suatu mengunakkan perintah break.
Contoh 4.18.

  #include <conio.h>
  #include <stdio.h>

  main()
  {
      char ch;
      clrscr();
      printf(" Ketik z untuk berhenti \n");
      for(ch=' ';;)
      {
      ch=getche();
      if (ch=='z')
            break;
      }

   }


LOOP BERSARANG
Untuk membuat program dengan keluaran seperti :
           ****
           ****
           ****
                                                               Syaiful Anam, S.Si, MT
                                                        KBI Pemodelan dan Komputasi
                                       Program Studi Matematika| Universitas Brawijaya
                                               JURUSAN TEKNIK INFORMATIKA
                                                        STMIK ASIA MALANG
                                                                                                      55

Jika kita membuat struktur seperti berikut :




                                                                                          PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                   BAB 4 STRUKTUR KONTROL
        for(j=1;j<=4;j++)
        printf(“*”);
maka akan menghasilkan
              ****
Jika kita ingin mencetak tiga baris, struktur tersebut harus diulang sebanyak 3 kali.
Struktur tersebut harus diletakkan di dalam for yang lain :
     for(i=1;i<=3;i++)
        for(j=1;j<=4;j++)
        printf(“*”);
Hasil dari struktur tersebut tidak sesuai dengan yang kita harapkan sebab semua
“*” tercetak dalam satu baris.
              ************

Kita harus membuat supaya setelah selesai mencetak * sebanyak 4 langsung kursor
pindah ke baris berikutnya.
Contoh 4.18

  #include <conio.h>
  #include <stdio.h>

  main()
  {
      char i,j;
      clrscr();
      for(i=1;i<=3;i++)
       {
       for (j=1;j<=4;j++)
       printf("*");
       printf("\n");
       }

    }


Loop While
Bentuk Umum :
while (syarat) pernyataan;


Pernyataan pada loop while dapat berupa pernyataan atau blok pernyataan atau
pernyataan kosong. Penyataan akan diulang selama syarat benar.
                                                                Syaiful Anam, S.Si, MT
                                                         KBI Pemodelan dan Komputasi
                                        Program Studi Matematika| Universitas Brawijaya
                                            JURUSAN TEKNIK INFORMATIKA
                                                     STMIK ASIA MALANG
                                                                                                   56

Contoh 4.19.




                                                                                       PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                BAB 4 STRUKTUR KONTROL
Buatlah program untuk mencetak bilangan 1 sampai 5 .
Penyelesaian:

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      char i;
      clrscr();
      i=1;
      while(i<=5)
       {
       printf("%d \n", i);
       i=i+1;
       }
  }




Loop Do-While
Loop for dan while akan mengecek syarat pengulangan pada awal loop. Loop do-
while mengecek syaratnya pada akhir pengulangan. Loop do-while akan selalu
dikerjakan, minimal sekali. Loop do while menyatakan bahwa pengulangan akan
dilakukan selama syarat terpenuhi.
Bentuk Umum :
  do
  {
  ………………
  ………………
  } while (syarat);
Contoh 4.20.

  #include <conio.h>
  #include <stdio.h>
  main()
  {
      char i;
      clrscr();
      i=1;
       do
       {
       printf("%d \n", i);
       i=i+1;
       }    while(i<=5);
  }


                                                             Syaiful Anam, S.Si, MT
                                                      KBI Pemodelan dan Komputasi
                                     Program Studi Matematika| Universitas Brawijaya
                                           JURUSAN TEKNIK INFORMATIKA
                                                    STMIK ASIA MALANG
                                                                                                  57

Contoh umum untuk loop do-while adalah pada rutin pemilihan menu, sebab kita




                                                                                      PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                               BAB 4 STRUKTUR KONTROL
ingin mengerjakan minimal sekali.


Membaca Data Dengan Banyak Data Yang Tidak Diketahui
Kita ingin membuat sebuah program yang akan menanyakan nama-nama siswa
yang hadir. Kita tidak tahu berapa banyak siswa yang ada. Program akan terus
menanyakan nama-nama siswa dan akan berhenti jika nama siswa kita isi dengan
„X‟.

Contoh 4.21.


  #include <conio.h>
  #include <stdio.h>
  main()
  {
      char nama[20];
      clrscr();
      printf(" Nama siswa (X=selesai): ");
      gets(nama);
      while(nama[0]!='X')
       {
       printf(" Nama siswa (X=selesai): ");
       gets(nama);
       }
    }



Program tersebut dapat diubah dengan mengunakan do-while
Contoh 4.22.


  #include <conio.h>
  #include <stdio.h>
  main()
  {
      char nama[20];
      clrscr();
      do
       {
       printf(" Nama siswa (X=selesai): ");
       gets(nama);
       }while(nama[0]!='X');

   }




                                                            Syaiful Anam, S.Si, MT
                                                     KBI Pemodelan dan Komputasi
                                    Program Studi Matematika| Universitas Brawijaya
                                            JURUSAN TEKNIK INFORMATIKA
                                                     STMIK ASIA MALANG
                                                                                                   58

Kita ingin mengubah program diatas sehingga program tidak hanya menanyakan




                                                                                       PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                BAB 4 STRUKTUR KONTROL
nama tetapi juga menanyakan nilai. Jika namanya diisi „X‟, program tidak perlu
menanyakan nilai.

Contoh 4.23.


  #include <conio.h>
  #include <stdio.h>
  #include <math.h>
  main()
  {
      char nama[20],strinput[10];
      float nilai;
      clrscr();
      printf(" Nama siswa (X=selesai)          :");
      gets(nama);

        while(nama[0]!='X')
        {
        printf("\n Nilai Ujian         : ");
        gets(strinput);
        nilai=atof(strinput);
        printf("\n Nama siswa (X=selesai) :");
        gets(nama);

        }

   }

Masalah tersebut hanya bisa diselesaikan dengan while. Dengan loop do-while
akan terjadi kegagalan.

Contoh 4.24.
  #include <conio.h>
  #include <stdio.h>
  #include <math.h>
  main()
  {
      char nama[20],strinput[10];
      float nilai;
      clrscr();

       do
        {
        printf("\n Nama siswa (X=selesai) :");
        gets(nama);
        printf("\n Nilai Ujian         : ");
        gets(strinput);
        nilai=atof(strinput);
        }while(nama[0]!='X');

   }

                                                             Syaiful Anam, S.Si, MT
                                                      KBI Pemodelan dan Komputasi
                                     Program Studi Matematika| Universitas Brawijaya
                                             JURUSAN TEKNIK INFORMATIKA
                                                      STMIK ASIA MALANG
                                                                                                    59

Maksimum, Minimum dan Iterasi




                                                                                        PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                 BAB 4 STRUKTUR KONTROL
Langkah-langkah pencarian nilai maksimum :
1) Nilai maksimum diinisialisasi dengan nilai yang sangat kecil sekali, misalnya -
    999
2) Kemudian nilai maksimum tersebut dibandingkan dengan data nilai yang
    dimasukkan.
3) Jika nilai selanjutnya lebih besar dari maksimum ganti maksimum dengan nilai.
4) Proses diulang sampai data habis.
Untuk mencari nama yang mendapat nilai maksimum:
1.) Nama Maksimum dinisialisasi dengan kosong.
2.) Jika maksimum diganti dengan nilai yang terakhir dibaca, maka nama
    maksimum diganti dengan nama yang terakhir
Contoh 4.25.

  #include <conio.h>
  #include <stdio.h>
  #include <math.h>
  #include <string.h>
  main()
  {
        char nama[20],strinput[10],namamax[20]="";
        float nilai,maks=-999,rata,jumnilai=0;
        int jumsis=0;
        clrscr();
        printf("\n Nama siswa (X=selesai)   :");
         gets(nama);
        while(nama[0]!='X')
         {
         printf("\n Nilai Ujian         : ");
         gets(strinput);
         nilai=atof(strinput);
         jumnilai += nilai;
         jumsis +=1;
         if (nilai>maks)
           {
           maks=nilai;
           strcpy(namamax,nama);
           }
         printf("\n Nama siswa (X=selesai) :");
         gets(nama);
         }
      rata=jumnilai/jumsis;
      printf("\n Nama siswa Maks      : %s",namamax);
      printf("\n Nilai siswa Maks     : %6.2f",maks);
      printf("\n Rata-rata nilai      : %6.2f",rata);
    }


                                                              Syaiful Anam, S.Si, MT
                                                       KBI Pemodelan dan Komputasi
                                      Program Studi Matematika| Universitas Brawijaya
                                                   JURUSAN TEKNIK INFORMATIKA
                                                            STMIK ASIA MALANG
                                                                                                        60

Iterasi adalah salah satu cara untuk menghitung suatu besaran, yang sudah




                                                                                            PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                     BAB 4 STRUKTUR KONTROL
ditentukan besar awalnya, dengan menggunakan pendekatan, kemudian sisanya
diperhitungkan berulang-ulang hingga memenuhi syarat tertentu. Salah satu contoh
iterasi adalah deret euler.

                                                 x 2 x3
Deret Euler didefinisikan oleh : e x  1  x           ...
                                                 2! 3!
Besar awalnya adalah 1.
Misalnya, ketelitiannya yang diminta adalah 0.00001.
Kita bisa memakai do-while untuk menyelesaikan masalah tersebut. Ketelitian
0.00001 dapat dinyatakan sebagai syarat berhentinya iterasi. Iterasi akan berhenti
jika suatu suku lebih kecil dari
0.00001/2
Contoh 4.26.

  #include <conio.h>
  #include <stdio.h>
  #include <math.h>
  #include <string.h>
  main()
  {
      double x,hasil,i,j,atas,fac,suku;
      clrscr();
      printf("\n Mengetahui e pangkat x");
      printf("\n _____________________");
      printf("\n Masukkan harga x     :");
      scanf("%lf",&x);
      hasil=1;
      i=0;
      do
       {
       i+=1.0;
       atas = pow(x,i);
       fac=1;
       for(j=1;j<=i;j++) fac=fac*j;
       suku=atas/fac;
       hasil=hasil+suku;
       }while (suku>=0.000005);
      printf("\n Hasil iterasi      : %10.5lf",hasil);
      printf("\n Hasil iterasi      : %10.5lf",exp(x));
  }


  Perhatikan bagian inisialisasi. Mula-mula dianggap kita sudah berjalan sampai
  suku pertama, yaitu 1. Sehingga, hasil berisi 1. Counter i diinisialisasi dengan 0,
  karena dianggap 1 karena x0/0!




                                                                  Syaiful Anam, S.Si, MT
                                                           KBI Pemodelan dan Komputasi
                                          Program Studi Matematika| Universitas Brawijaya
                                            JURUSAN TEKNIK INFORMATIKA
                                                     STMIK ASIA MALANG
                                                                                                   61

4.3. Soal Latihan




                                                                                       PEMROGRAMAN BEROIENTASI OBJEK I :
                                                                                                BAB 4 STRUKTUR KONTROL
  1.) Buatlah program untuk menghitung akar-akar persamaan kuadrat !
  2.) Buatlah program konversi nilai dengan aturan sebagai berikut:
                                                     Hasil Konversi
  Nilai
               80 x 100                                   A
               70  x <80                                   B
               60 x <70                                    C
               50 x <60                                    D
                 x <50                                      E


  3.) Buatlah program untuk menampilkan bilangan ganjil dari 1 sampai n .
  4.) Buatlah program untuk mengkonversi dari bilangan desimal ke biner
  5.) Buatlah program untuk mengkonversi dari bilangan desimal ke heksa
      desimal ( basis 16)
  6.) Buatlah program untuk mencari KPK dan FPB dari 2 bilangan yang
      diinputkan !
  7.) Buatlah untuk menentukan bilangan prima atau bukan !
  8.) Buatlah program untuk menampilkan n bilangan prima yang pertama
  9.) Buatlah program untuk mencari rata-rata dari n bilangan yang diinputkan !




                                                             Syaiful Anam, S.Si, MT
                                                      KBI Pemodelan dan Komputasi
                                     Program Studi Matematika| Universitas Brawijaya

				
DOCUMENT INFO
Shared By:
Tags: module
Stats:
views:15
posted:6/20/2012
language:
pages:21
Description: C programming module in "Bahasa Indonesia" (indonesian nation language)