Minggu, 27 Januari 2013

Array Pada C

Array (Larik) adalah kumpulan nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan elemen larik yang letak urutannya ditunjukkan oleh suatu subscript atau suatu index yang dimulai dengan index nol.
Larik dapat berdimensi satu (one dimensional array) yang mewakili suatu vektor, larik berdimensi dua (two dimensional array) mewakili bentuk suatu matrik atau tabel, larik berdimensi tiga (three dimensional array) mewakili suatu bentuk ruang atau berdimensi lebih dari tiga.
 
Array Dimensi 1
Suatu larik dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang dituliskan diantara tanda ‘[ ]’. 
Contoh :
                        Int X[5];

Contoh array berdimensi Satu :
#include
main()
{
    float X[3] = {5,3,7}, Total = 0;
    int I;
    for(I=0;I<=2;I++) Total = Total + X[I];
        printf(‘Total = %f \n”,Total);
}

Output :
Total = 15.000000

Array Dimensi 2
Pendeklarasian array dimensi dua :
       int X[3][4];  -->  berarti akan membentuk matrik dengan ukuran 3 baris X 4 kolom
       int X[2][3]={1,2,3,4,5,6} --> matrik 2X3
       atau array tidak berukuran seperti :
             int X[ ][4] ={1,2,3,4,5,6,7,8} --> matrik 2X4

Contoh array dimensi dua :
#include
#include
int main(){
    int I,J;
    float X[3][4] = { 12.34, 34.56, 56.78, 78.90, 23.45, 45.67, 67.89, 

                            89.01, 34.56, 56.78, 78.90, 90.12};
    for(I=0;I<3 br="">        for(J=0;J<3 br="">            printf("%8.2f", X[I][J]);
    printf("\n");
    }
printf("\n");
return 0;
}

Output Program :









Array String
Hubungan antara nilai array string dengan nilai larik karakter







Contoh 1 :
#include
#include
int main(){
    int I,J;
    float X[3][4] = { 12.34, 34.56, 56.78, 78.90, 23.45, 45.67, 67.89, 89.01, 34.56, 56.78, 78.90, 90.12};
    clrscr();
    for(I=0;I<3 br="">    for(J=0;J<3 br="">    printf("%8.2f", X[I][J]);
    printf("\n");
    }
printf("\n");
return 0;
}

Output Program :













 
Contoh 2 :
#include
#include
main(){
    int I,J;
    char Hari[7][10] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum’at", "Sabtu" };
    clrscr();
    for(I=0;I<7 br="">    {
        printf("%s\n", Hari[I]);
    }
    getch();
    return 0;
}

Output Program :















Kamis, 24 Januari 2013

Perulangan Pada C

a. Statement for
    Sintaks :
                  for ( inisialisasi; terminasi; iterasi ) statement;

    inisialisasi adalah pemberian nilai awal variable untuk perulangan, terminasi adalah pemberian nilai akhir atau batas perulangan, iterasi adalah perubahan variable kontrol (counter). 
Contoh Program :
#include
#include
int main()
{
   int a;
   clrscr();
   for( a = 1; a<=10; a++)
    printf("%d ",a);
   getch();
   return 0;
}


Output :















b. Statement While
    Sintaks :
                   while (kondisi ) statement;
    Statement dapat berupa statement kosong, statement tunggal maupun blok statement. Proses perulangan akan terus dilaksanakan jika kondisi dalam while masih bernilai benar.
Contoh Program :
#include
#include
int main()
{
    int a=1;
    clrscr();
    while(a<=10)
    {
        printf("%d ",a);
        a++;
    }
    getch();
    return 0;

Output Program :















c. Statement Do..While
    Sintaks :
                   do
                            statement
                   while ( kondisi )
    Sedikitnya statement akan diproses sebanyak 1 kali karena seleksi kondisi dilaksanakan diakhir statement.
Contoh Program :
#include
#include
int main()
{
    int a=1;
    clrscr();
    do
    {
        printf("%d ",a);
        a++;
    }
    while(a<=10);
    getch();
    return 0;
}  

Output Program :















d. Statement continue
Statement continue akan menyebabkan proses perulangan kembali ke awal perulangan dengan mengabaikan statement setelah statement continue.
Contoh Program :
#include
#include
int main()
{
    int a;
    clrscr();
    for( a = 1; a<=10; a++)
    {
        if (a==5) continue;
        printf("%d ",a);
    }
    getch();
    return 0;

Output Program :















e. Statement break
Statement break akan menyebabkan proses keluar dari blok looping atau blok statement pada case.
Contoh Program :
#include
#include
int main()
{
    int a;
    clrscr();
    for( a = 1; a<=10; a++)
    {
        if (a==5) break;
        printf("%d ",a);
    }
    getch();
    return 0;
}  


Output :












f. Statement goto label
   Digunakan untuk melompat dari satu proses ke proses tertentu didalam program.
   Sintaks :
                    goto label;
   Proses lain yang ditunjuk sebagai lompatan akan ditulis
                    label :

Percabangan Pada C

1. Statement If
 
a. Bentuk If tunggal sederhana
    Sintaks :
                      if ( kondisi ) statement ;
    Bentuk ini menunjukkan jika kondisi bernilai benar, maka statement yang mngikutinya akan dieksekusi Jika tidak maka statement selanjutnya yang akan diproses. 
 
b. Bentuk If tunggal blok statement
    Sintaks :
                      if ( kondisi ) {
                          blok statement;
                          } 
    Perbedaan dengan bentuk sebelumnya statement yang akan dilaksanakan ada dalam satu blok kurung kurawal. 
 
c. Bentuk If..Else
    sintaks :
                     if ( kondisi )
                         statement1;
                     else
                         statement2;
 
Statement setelah kondisi atau statement sesudah else dapat berupa statement kosong, statement tunggal maupun blok statement. statement1 akan dijalankan jika kondisi benar, jika salah maka statement2 yang akan diproses. 
Contoh Program :
//Program menentukan ganjil atau genap
#include
int main()
{
  int Bilangan;
  char Lagi;
    printf("Mencari Bilangan Ganjil atau Genap\n\n");
    printf("Input Bilangan : ");
    scanf("%d", &Bilangan);
    if(Bilangan %2 == 1)
        printf("\n\nIni Bilangan Ganjil");
    else
        printf("\n\nIni Bilangan Genap");
    return 0; 
 
Output :     Mencari Bilangan Ganjil atau Genap
                 Input Bilangan : 15
                 Ini Bilangan Ganjil

d. Bentuk If..else if…else
    Sintaks :
                       if ( kondisi 1)
                           statement1;
                       else if ( kondisi 2 )
                           statement2;
                       else if ( kondisi 3)
                           statement3;
                           .
                       else
                           statement default;
Proses akan mulai dari penyeleksian kondisi 1, jika benar maka statement yang mengikutinya akan dieksekusi, jika salah maka akan masuk proses seleksi kondisi 2, begitu seterusnya. Jika semua kondisi tidak ada yang terpenuhi, maka program akan menjalankan statement default.
Contoh Program :
#include
int main()
{
    int Nilai; char Mutu;
    printf("Mencari Mutu Nilai\n\n");
    printf("Input Nilai Mahasiswa : ");
    scanf("%d", &Nilai);
    if (Nilai<50 font="" mutu="E">
    else if(Nilai<65 font="" mutu="D">
    else if(Nilai<75 font="" mutu="C" nbsp="">
    else if (Nilai<85 font="" mutu="B">
    else Mutu = 'A';
    printf("\n\nNilai Mahasiswa yang diinput = %d", Nilai);
    printf("\nMutu Nilai = %c", Mutu);
return 0; 

Output :    Mencari Mutu Nilai
                Input Nilai Mahasiswa : 78
                Nilai Mahasiswa yang diinput = 78
                Mutu Nilai = B

e. Bentuk If bersarang ( nested if )
    Sintaks :
                     if ( kondisi 1)
                          if ( kondisi 2)
                              .
                              .
                              if (kondisi n)
                                 statement;
                             else
                                 statement;
                               .
                               .
                             else
                                 statement
                           else statement;
Kondisi yang akan diseleksi pertama kali adalah kondisi yang paling luar (kondisi 1). Jika bernilai tidak benar maka statement setelah else yang terluar ( pasangan dari if yang bersangkutan ) yang akan diproses.

f. Bentuk If dengan kondisi berupa variable
   Contoh :
                    if ( D == 0 )
                        printf (“Nilai D sama dengan Nol \n”);
                   else
                        printf (“Nilai D tidak sama dengan Nol \n”);

g. Bentuk If dengan kondisi Jamak
    Beberapa kondisi dapat diseleksi sekaligus dalam statement if dengan menggunakan operator
    logika AND ( && ), OR ( || ), atau NOT ( ! )

h. Operator ?
    Dapat digunakan untuk menggantikan statement if..else..
    sintaks :
                    ( kondisi ) ? statement1 : statement2;
    jika benar statement1 akan diproses, jika salah statement2 yang akan diproses.
 
2. Statement Switch 
 
a. Statement Switch tunggal
    Sintaks :
                   switch ( kondisi ) {
                   case konstanta1 :
                           statement-statement;
                           break;
                   case konstanta2 :
                           statement-statement;
                           break;
                     .
                     .
                   default :
                           statement-statement;
                    } 
 
Contoh Program :
 
//Program dengan switch Case
#include
int main(){
int Pilih;
printf("----MENU BUAH----\n");
printf("\n1. APEL");
printf("\n2. MANGGA");
printf("\n3. JERUK");
printf("\n4. KELUAR");
printf("\n\nPilihan Anda [1-4] : ");
scanf("%d",&Pilih);
switch(Pilih){
   case 1 : printf("\n\nANDA PILIH APEL"); break;
   case 2 : printf("\n\nANDA PILIH MANGGA"); break;
   case 3 : printf("\n\nANDA PILIH JERUK"); break;
   case 4 : exit(0);
   default : printf("\n\nANDA SALAH INPUT...");
}
return 0; 
 
b. Statement nested switch 
    Yaitu statement switch yang berada didalam switch lainnya 
    Sintaks : 
                      switch ( kondisi ) {
                      case konstanta 1 :
                              statement-statement ;
                              switch ( kondisi x ) {
                              case konstanta 1a :
                                      statement-statement ;
                                      break;
                              case konstanta 1b :
                                      statement-statement ;
                                      break;
                              }
                              break;
                       case konstanta 2 :
                               statement-statement;
                               break;
                        }