Sabtu, 08 April 2017

4. PENGULANGAN PROSES (LOOPING) I

Dalam Bab 4 ini akan dijelaskan sbb
 1. Pengulangan For
2. Pengulangan While
3. Pengulangan Do While
Looping digunakan untuk melakukan pengulangan proses sampai pada jumlah pengulangan yang di-inginkan, banyak software software yang mengunakan proses looping ini, jadi proses pengulangan atau looping ini adalah hal penting yang harus kita pahami

Sebelum membahas looping lebih lanjut, patut diketahui bahwa ada 4 element penting yang harus dipenuhi.

- Inisialisasi: memasukan Nilai awal ke variabel adalah contoh dari elemet inisialisasi, Tahap ini dilakukan sebelum memasuki bagian pengulangan
- Proses:  ini ada dalam pengulangan yang dimana berisi semua proses yang akan diulang
- Iterasi: ini terjadi di dalam proses pengulangan yang dimana adanya proses penambahan nilai, biasanya nilai dari suatu variabel.
- Terminasi: digunakan sebagai syarat kapan looping itu akan berhenti, element ini sangat penting untuk menghindari kondisi pengulangan tanpa henti.

Looping For
Looping for biasa digunakan jika kita sudah tau berapa banyak looping yang di inginkan.
Contoh Bentuk penulisan Looping For pada bahasa C:

for(Inisialisasi; Terminasi; Iterasi)
{
  Proses;
}
Contoh Program C dengan For :
#include <stdio.h>
main()
{
 int a  ;
 for(a=0;a<2;a+=1)
 {
        printf("test bahasa C\n");
 }
}
Looping While
Pada looping While pengecekan terhadap pengulangan dilakukan di awal sebelum tubuh loop.
Contoh Bentuk penulisan Looping While pada bahasa C:
Inisialisasi
while(Terminasi){
 Proses
 Iterasi
} 
Contoh Program C dengan While :
#include "stdio.h"
main(){
int x;
 x=1;
 while(x<=10){
 printf("%d. Belajar Pengulangan Whilen", x);
 x++;
 }
} 
Looping Do While
Pada looping do while proses looping telah dilakukan paling tidak  satu kali
karena  terminasi diletakan setelah proses.
Contoh Bentuk penulisan Looping do while pada bahasa C:
Inisialisasi
do{
 Proses
 Iterasi
}while(Terminasi)
Contoh Program C dengan While :
#include "stdio.h"
main(){
int x;
 x=1;
 do{
 printf("%d. Belajar Pengulangan do-Whilen", x);
 x++;
 }while(x<=10);
} 
 

Jumat, 31 Maret 2017

3. PENGAMBILAN KEPUTUSAN (CONTROL FLOW)

Dalam bab ini akan dijelaskan beberapa hal :

- Menjelaskan tentang operator relasi dan logika
- Menjelaskan penggunaan if
- Menjelaskan penggunaan if - else
- Menjelaskan penggunaan if dalam if
- Menjelaskan penggunaan else - if
- Menjelaskan penggunaan switch

3.1. Operator Relasi.

Operator relasi berfungsi untuk membandingkan dua buah opreran atau nilai, hasil perbandingan tersebut berupa keadaan benar atau salah. gambar dibawah menunjukan operator relasi.



**Operator relasi sama dengan ( == ) tidak sama dengan operator ( = ) yang merupakan operator penugasan (assingment operator)

1 > 3 ---> Bernilai SALAH karena 1 lebih kecil dari 3
1 < 2 --->  Bernilai BENAR karena 1 lebih kecil dari 2
A == 1 ---> Bernilai BENAR jika A bernilai 1 dan SALAH jika A tidak bernilai 1
'A' < 'B' ---> Bernilai BENAR Karena dalam kode ASCII karakter A bernilai kurang dari karakter B

3.2. Operator Logika.

Operator logika digunakan untuk membandingkan dua nilai logika yaitu logika BENAR (TRUE) dan SALAH (FALSE). Operator ini sering digunakan dalam penyelesaian kondisi yang rumit dengan statement if, while dan do-while. gambar dibawah merupakan operator logika


&& disebut operator logika AND yang jika kedua operand bernilai 1 ( kedua operand tidak 0 ) maka kondisi menjadi BENAR (TRUE)

| | disebut operator logika OR yang jika salah satu operand bernilai 1 maka kondisi menjadi BENAR (TRUE)



! disebut operator logika NOT digunakan untuk membalikan kondisi dari operand, jika kondisi BENAR (TRUE) Maka Operator logika NOT akan mengubahnya menjadi SALAH (FALSE)

Perhatikan juga Penjelasan operator logika dengan gaya penulisan  yang berbeda di gambar bawah ini


3.3. Prioritas Operator Relasi dan Operator Logika

Perhatikan gambar dibawah ini  :










Berdasarkan prioritas gambar diatas, ekspresi ( 'A' < 'B' ) && ( 'B' > 'A' ) sama saka jika ditulis seperti berikut 'A' < 'B' && 'B' > 'A'

3.4. Pernyataan if

Pernyataan if digunakan unutk menyeleksi suatu kondisi, jika kondisi tersebut terpenuhi dengan kata lain kondisi tersebut benar maka statement yang mengikuti bentuk if tersebut akan dijalankan, jika tidak terpenuhi atau salah maka statement tersebut tidak dijalankan.

Bentuk penulisan pernyataan if dalam bahasa C
if (kondisi)
{statment yang akan dijalankan jika kondisi benar ;}


Contoh program menggunakan if dalam bahasa C:

#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a>b) //kondisi yang harus dipenuhi
    printf("data yang dimasukan a lebih besar dari pada b");
}


Dari contoh diatas statement  printf("data yang dimasukan a lebih besar dari pada b"); Hanya akan dijalankan jika kondisi if a > b terpenuhi.

3.5. Pernyataan if - else

Dalam Pernyataan if - else ditambahkan sebuah statement yang akan dijalankan jika  kondisi if tidak terpenuhi atau kondisi tersebut salah. jika kondisi benar statement pertama yang akan dijalankan jika salah statement kedua yang dijalankan (statement yang mengikuti else)

Bentuk penulisan pernyataan if - else dalam bahasa C
if (kondisi)
{statement yang akan dijalankan jika kondisi if terpenuhi/Benar ;}
else
{statement yang akan dijalankan jika kondisi if tidak terpenuhi/ kondisi salah
;}


Contoh Program menggunakan if - else dalam bahasa C
#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a>b) //kondisi yang harus dipenuhi
    printf("data yang dimasukan a lebih besar dari pada b");

    else
    printf("data yang dimasukan a lebih kecil atau sama dengan b");
}
 


Dari contoh program diatas jika kalian memasukan nilai variabel a lebih kecil atau sama dengan b maka statement kedua yang mengikuti else printf("data yang dimasukan a lebih kecil atau sama dengan b"); yang akan dijalankan. 

 3.5 Pernyataan if di dalam if

Dalam pernyataan if atau if - else bisa saja terdapat pernytaan if lagi atau dengan kata lain if di dalam if, bentuk seperti ini dinamakan nested if.

Berikut bentuk penulisan nested if atau if dalam if dalam bahasa C

if(kondisi 1)
if(kondisi 2)

{statement yang dijalankan jika kondisi 1 dan berlanjut kondisi 2 benar;}
else
{statement else pasangan if kondisi ke 2 yang akan dijalankan jika if kondisi ke 2 bernilai salah;}

else
{statement else terluar pasangan if kondisi pertama, dijalankan jika if kondisi pertama bernilai salah;}


- penulisan if dalam if tersebut bisa dengan sampai kondisi ke n, atau tak terhingga jadi tidak harus 2 kondisi saja

Contoh program menggunakan if dalam if dalam bahasa C
#include <stdio.h>
main()
{
    int a, b;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a >= b) //kondisi 1 yang harus terpenuhi
    if(b == a) //kondisi 2 yang harus terpenuhi
      { a * b ;
        printf("a * b = %d\n", a*b); }
    else
    {a / b ;  //jika if kondisi 2 bernilai salah maka else pasangan if   kondisi 2 ini yang dijalankan
     printf("a / b = %d\n", a/b);}
    else
    {a + b ; //jika if kondisi 1 bernilai salah maka else terluar pasangan if kondisi 1 ini yang dijalankan
     printf("a + b = %d\n", a+b);}
}

- Dari contoh program if dalam if diatas, jika kita memasukan nilai a lebih kecil dari b maka statement dari else terluar a+b yang akan dijalankan
- jika kita memasukan a lebih besar dari b maka if kondisi pertama terpenuhi tetapi if kondisi kedua tidak, maka sebab itu statement else yang mengikuti if kondisi kedua yang akan dijalankan yaitu a/b.
- jika kita memasukan nilai a sama dengan nilai b berarti if kondisi pertama dan kedua terpenuhi maka statement if kedua yang dijalankan yaitu a*b.

3.6 Pernyataan else-if

Pernyataan else-if juga termasuk pada kategori nested if. Pada else-if statement pada masing masing if akan dijalankan jika bernilai benar atau kondisi terpenuhi. Pada pernyataan else-if ini akan ditambahkan else yang statement yang mengkutinya akan dijalankan jika if dan else-if bernilai salah.

Bentuk penulisan else-if dalam bahasa C
if kondisi 1 )
{statement yang akan dijalankan jika kondisi pertama bernilai benar ;}
else if (kondisi 2)
{statement yang akan dijalankan jika kondisi 1 bernilai salah dan kondisi 2 bernilai benar ;}
 else
{statement yang akan dijalankan jika kondisi 1 dan 2 berniai salah ;}

Contoh program else-if menggunakan bahasa C
#include <stdio.h>
main()
{
    int a, b, c;
    printf("masukan nilai a = ");
    scanf("%d", &a);
    printf("masukan nilai b = ");
    scanf("%d", &b);

    if(a > b) //kondisi 1 yang harus terpenuhi
    { c = a * b  ;
    printf("a * b = %d\n", c);}
    else if (a < b ) //kondisi 2 yang harus terpenuhi
    { c = b / a  ;
    printf(" b / a = %d\n", c);}
    else
    {printf("variabel a = variabel b");}
}

-Dari contoh program diatas jika kita memasukan nila a > b maka statement yang mengikuti if kondisi 1 akan dijalankan, dengan operasi aritmatika "c = a * b
-Jika kita memasukan nilai a < dari b maka yang dijalankan statement yang mengikuti else if yaitu dengan operasi aritmatika c = b / a
-tetapi jika kita memasukan a = b maka yang dijalankan statement yang mengikut else yaiut variabel a = variabel b.

 3.7. Pernyataan Switch.

Pernyataan switch  digunakan untuk menangani pengambilan keputusan yang banyak alternatifnya, pernyataan switch seringkali digunakan untuk menggantikan pernyataan nested if, tetapi kelemahan dari pernyataan switch yaitu tidak bisa menuliskan kondisi seperti di pernyataan if.

Bentuk penulisan pernyataan switch dalam bahasa C:
switch(nama_variabel)
{
          case syarat1 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;
         
case syarat2 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;

          case syarat3 yang harus dipenuhi :
          kode yang akan dijalankan jika syarat terpenuhi ;
          break ;
          default : kode yang akan dijalankan jika syarat diatas
          tidak terpenuhi;

}


Contoh program switch menggunakan bahasa C:
#include <stdio.h>
main()
{
    int a, b, hasil;
    char operator_aritmatika;
    printf("masukan nilai variabel a, operator_aritmatika dan b = ");
    scanf("%d, %c, %d", &a, &operator_aritmatika, &b);

    switch(operator_aritmatika)
    {
        case '*' :
        hasil = a * b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '/' :
        hasil = a / b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '+' :
        hasil = a + b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        case '-' :
        hasil = a - b;
        printf("%d %c %d = %d", a, operator_aritmatika, b, hasil);
        break;
        default: printf("operator aritmatika tidak sesuai syarat");
     }
}

Pemrograman bahasa C, if, if-else, if-if, else-if dalam bahasa c, belajar bahasa c.





Sabtu, 25 Februari 2017

2. DASAR DASAR PEMROGRAMAN C

2.1 TIPE DATA DASAR
Data merupakan suatu nilai yang dinyatakan dalam bentuk konstanta dan variabel. konstanta dan variabel di ibaratkan wadah yang bisa di isi data, jika konstanta wadah untuk menyatakan nilai tetap sedangkan variable wadah yang bisa di isi nilai yang berubah ubah.
Data  berdasarkan jenisnya dibagi menjadi lima kelompok yang dinamakan sebagai tipe data dasar, kelima tipe data dasar tersebut adalah
1. Bilangan bulat (integer)
2. Bilangan real presisi tunggal
3. Bilangan real presisi ganda
4. Karakter
5. Tak bertipe (Void), untuk tipe data ini akan dijelaskan belakangan nanti.

Kata kunci (keyword) dalam bahasa C yang berkaitan dengan tipe data dasar secara berurutan antara lain int (short int, long int, signed int, dan unigned int), float, double dan char, Berikut ukuran memori untuk tipe data
Berikut adalah ukuran memori untuk tipe data integer (int)

\\ Ukuran dari masing masing tipe data bergantung dari mesin yang digunakan (misalnya mesin 16 bit memberikan hasil berbeda dengan mesin 32bit)

2.2 Variabel
2.2.1 Aturan Pendefinisian variabel
Untuk penulisan variabel tentunya ada aturanya, berikut aturanya:

1. Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ )
2. Selanjutnya dapat berupa huruf digit (0..9) atau karakter garis bawah atau tanda dollar ($) 
3. Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama yang akan dianggap.
4. Pengenal tidak boleh menggunakan nama yang tergolong sebagai kata cadangan ( reserverd wods) sepeti int, if, while dan lain sebagainya

2.2.2 Mendeklarasikan VariabelVariabel yang akan digunakan dalam program tentunya harus dideklarasikan terlebih dahulu, pengertian deklarasi di sini berarti memesan memori dan menentukan jenis data yang bisa disimpan didalamnya

Berikut bentuk umum deklarasi variabel

tipe daftar-variabel;

pada pendeklarasian variabel, daftar variabel dapat berupa satu variabel atau beberapa variabel yang dipisahkan dengan koma, contoh :

int var_bulat1;

float var_pecahan1, var_pecahan2;

2.2.3 Memberikan nilai ke variabel
Untuk memberikan nilai ke variabel yang telah dideklarasikan, maka bentuk umum pernyataan yang digunakan adalah

nama_variabel = nilai;

contoh:
int var_bulat = 10;

double var_pecahan = 10.5;

2.2.4 Insialisasi Variabel
adakalanya dalam penulusan program, setelah di deklarasikan, variabel langsung diberi nailai awal, contoh.

int nilai;

nilai = 10;

dua pernyataan di atas   sebenarnya dapat disingkat melalui pendeklarasian yang disertai penugasan nilai sebagai berikut:

int nilai = 10; 


Cara seperti ini banyak dipakai dalam program C, disamping menghemat penulisan  juga lebih memberikan kejelasan khususnya pada variabel yang perlu diberi nilai awal (di inisialisasi)

2.3 KONSTANTA
Konstanta adalah wadah yang menyimpan data/ nilai yang sifatnya tetap tidak berubah ubah, berbeda dengan variable suatu konstanta tidak dideklarasikan, namun seperti halnya variabel, konstanta juga memiliki tipe, penulisan konstanta  mempunyai aturan tersendiri seusai dengan tipe masing2.
1. Konstanta karakter ditulis  dengan awalan dan akhiran tanda petik tunggal, contoh 'A'
2. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tak mengandung bagian pecahan, contoh : -1 dan 32567
3. Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik)
dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contoh : 27.5f(untuk tipe float) atau 27.5(untuk tipe double) dan 2.1e+5(maksudnya 2,1 x 10⁵)
4. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik anda("), contohnya : "pemrograman dasar c"

2.4 OPERATOR
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variabel. membandingkan kesaamaan dua buah nilai.
Sebagian operator C tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap 2 buah nilai (operand). contoh
a + b
Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operand nya yaitu a dan b. Karena operator penjumlahan melibatkan dua operator ini tergolong sebagai operator binary

-C
Simbol - (minus) merupakan simbol operator yang termasuk golongan unary, dikarenakan hanya memiliki satu operand saja yaitu C
2.4.1 OPERATOR ARITMATIKA
- Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah:
  1.  Perkalian (*)
  2.  Pembagian (/)
  3.  Sisa pembagian (%)
  4.  Penjumlahan (+)
  5.  Pengurangan (-)
- Operator aritmatika yang tergolong sebagai operator unary:
  1.  Tanda minus (-)
  2.  Tanda plus (+)
Contoh penggunaan operator aritmatika untuk memperoleh suatu nilai diskriminan:
D = b² - 4ac

#include <stdio.h>
main ()
{
         float a,b,c,d;
         a = 3.0f;
         b = 4.0f;
         c = 7.0f;
         d = b*b-4*a*c;
        
         printf("Diskriminan = %f\n", d);
}

Selain operator diatas operator sisa hasil bagi atau yang sering disebut modulus juga perlu dimengerti, contoh:


- Sisa pembagian bilangan 7 dan 2 adalah 1 (7 % 2 = 1)



Kegunaan operator ini bisa dipakai untuk menentukan bilangan termasuk ganjul atau genap, berdasarkan logika jika bilangan tersebut habis dibagi samadengan genap jika tidak sama dengan ganjil.


2.4.2 OPERATOR PENAIKAN DAN OPERATOR PENURUNAN
Berikut simbol operator penaikan dan penurunan

++ operator penaikan
-- operator penurunan


Operator penaikan digunakan untuk menaikan nilai variabel sebesar satu, penempatan operator dapat ditempatkan dimuka atau dibelakang variabel, contoh:

x = x+1; 

y = y+1;

bisa ditulis menjadi:

++x

--y

atau

x++
y--


Penggunaan operator penaikan dan penurunan di depan atau dbelakang variabel tergantung kondisi yang diinginkan, contoh berikut memperlihatkan perbedaanya.



Contoh pertama:

#include <stdio.h>
main()

{
       int count = 0, loop;

       loop = ++count; // count = count+1; loop=count;
       printf("loop = %d, count = %d\n", loop, count);

       loop = count++; // loop = count; count = count+1)
       printf("loop = %d, count = %d\n", loop, count);

}

hasil compile code diatas adalah



  





Contohkedua:

#include <stdio.h>

main()
{
       int r = 10;
       int s;

       s = 10 +r++;
       printf("s = %d, r = %d\n", s, r);
}

hasil compile code diatas adalah:






pada contoh diatas s diisi dengan penjumlahan nilai 10 dan r, maka dengan demikian s akan bernilai 20. setelah s diisi dengan nilai 20, nilai r baru dinaikan ( karena itu operator ++ ditulis dibelakang r, yang artinya dinaikan belakangan setelah penjumlahan antara 10 dan r dilaksanakan), sehingga r kini bernilai 11.



2.4.3 PRIORITAS OPERATOR ARITMATIKA