Nov
19
2015
0

Review Algorithm & Programming Class PART.6

Hari, tanggal : Kamis, 12 November 2015

Materi             : Review Material

Tempat           : Ruang 800 Kampus Anggrek Binus Univ.

 

REVIEW

• Algorithm & Programming
• Introduction to C Programming
• Formatted Input / Output
• Operator, Operand, and Arithmetic
• Program Control: Selection
• Program Control: Repetition
• Pointers and Arrays

 

Sistem pemrograman sebenarnya hanya dibagi menjadi 3 step : Input, Process,Output

  • Input adalah apa yang dimasukan oleh user ke dalam komputer
  • Process adalah tahap pemrosesan hasil Inputan user ke dalam komputer ,dan
  • Output adalah hasil dari process.

Process sendiri terbagi atas beberapa macam yaitu:

  • Selection
  • Looping/Repetition
  • Strorage (belum diajarkan)

 

PENJELASAN

Selection : If, Else-If, Nested If, Switch Case

Looping/Repetition : For, While, Do-While

 

Pada pertemuan kali ini kami dijelaskan coding untuk membuat berbagai macam bentuk seperti membuat gambar diamond, segitiga pascal, segitiga, segitiga terbalik dan sama sisi, dll. Berikut beberapa coding yg dijelaskan :

 

Contoh Coding yang akan menghasilkan segitiga tanpa isi :

#include<stdio.h>

 

int main()

{

int n,a,b;

scanf(“%d”, &n); fflush(stdin);

for(a=1;a<=n;a++){

for(b=1;b<=a;b++){

if(b==1||a==b||a==n){

printf(“*”);

}

else{

printf(” “);

}

}

printf(“\n”);

}

getchar();

return 0;

}

 

Contoh Coding yang akan menghasilkan Bilangan Prima :

#include<stdio.h>
int main()
{

int a,b,i,c=0;

scanf(“%d”,&i);
fflush(stdin);
for(a=2;a<i+1;a++){
for(b=1;b<=a;b++)
{if(a%b==0){c++;}}

if (c==2)
{printf(“%d “,a);}c=0;}
getchar();
return 0;
}

 

Contoh Coding untuk membuat suatu Segitiga Pascal :

#include<stdio.h>
int main(){

int input;
int kolom,baris,segitiga[100][100];
scanf(“%d”,&input);
fflush(stdin);
for (baris=0;baris<input;baris++)
{
for (kolom=0;kolom<=baris;kolom++)
{
if(kolom==0 || kolom==baris)
{
segitiga[baris][kolom]=1;
}
else if(baris>1 && kolom<baris)
{
segitiga[baris][kolom]=segitiga[baris-1][kolom]+segitiga[baris-1][kolom-1];
}
printf(“%d “,segitiga[baris][kolom]);
}

printf(“\n”);
}

return 0;
}

Read more
Nov
02
2015
0

Review Algorithm & Programming Class PART.5

Hari, tanggal : Kamis, 29 Oktober 2015

Materi             : Pointers and Arrays

Tempat           : Ruang K3A Kampus Syahdan Binus Univ.

DEFINISI POINTER :
Adalah variabel yang menyimpan ALAMAT dari variabel lain.
Syntax :

  <type> *ptr_name;

Dua Operator yang sering digunakan untuk pointer yaitu : ‘*’ (melambangkan konten dari) dan ‘&’ (melambangkan alamat dari).

CONTOH :
inisialisasi suatu integer pointer ke dlm data variabel :

int i, *ptr;

ptr = &i;

Untuk memberikan nilai baru pada variabel yg ditunjuk pointer :

*ptr = 5;   // artinya i=5

KONSEP :

Picture1 Picture2

POINTER TO POINTER :
Adalah variabel yang menyimpan ALAMAT dari pointer lain.
Syntax :

  <type> **ptr_ptr ;

CONTOH :

  int i, *ptr, **ptr_ptr;

  ptr = &i;

  ptr_ptr = &ptr;

Untuk memberikan nilai baru pada i :

  *ptr = 5;               // artinya i=5 ;

  **ptr_ptr = 9;   // artinya i=9; atau  *ptr=9;

________________________________________________________________________________

DEFINISI ARRAY :
Adalah penyimpanan data dalam suatu struktur tertentu untuk diakses dalam suatu kelompok atau secara individu. Beberapa variabel disimpan menggunakan penamaan yang sama, hanya dibedakan pada indeksnya.

Karakteristik :

  • Homogenous : semua elemen harus memiliki tipe data yang sama.
  • Random Access : Setiap elemen dapat diakses secara individual, tidak perlu secara berurutan.

Syntax (One Dimensional Array) :

  type array_value [value_dim];

CONTOH (One Dimensional Array) :

int A[10];

 

ILUSTRASI (array 1D):

Elemen pada array diindeks mulai dari 0 (nol) .

array

 

INISIALISASI ARRAY :
Array dapat diinisialisasi tanpa pendeklarasian nilai ukuran dimensi.

CONTOH :

  int B[ ]={1, 2, -4, 8};

Array B memiliki 4 elemen

array1

CONTOH :

  int B[8]={1, 2, -4, 8};

array2

 

PENGAKSESAN :

Terdapat dua cara mengakses suatu elemen i=2 :

  *(A+2) or A[2]

A sama dengan &A[0] atau suatu pointer konstan pada elemen pertama dari array tertentu.

 

MENETAPKAN/MEMBERIKAN NILAI :

Contoh : A[6] = 15; A[3] = 27;

Pernyataan A[2] = A[3] – A[6], menghasilkan :

assign values_ARRAY

________________________________________________________________________________

POINTER CONSTANT & POINTER VARIABLE

  • Pointer variable adalah pointer yang dapat diberikan nilai baru saat run-time.
  • Pointer constant adalah pointer yang tidak dapat diberikan nilai baru saat run-time.
  • Array adalah Pointer Constant pada elemen pertamanya. Array dapat diisi dengan pointer variable.

CONTOH :

int x=10, y=20;

int B[4];    // B adalah Array – pointer constant

int *ptr;    // ptr adalah pointer variable

ptr = &x;  // ok

ptr = B;    // ok

ptr++;     // ok

B = ptr;   // error

B++;       // error

B = &y;   // error

  • ptr = B; sama saja dengan ptr = &B[0];
  • B adalah suatu pointer constant yang menunjuk pada elemen pertama dalam suatu array.
  • Pointer constant hanya dapat diinisialisasi pada waktu pendefinisian.
    Contoh :
    int Arr1[10];Arr1[10] = {1, 2, 3, 4, 5};  // error

    Arr1 = {1, 2, 3, 4, 5};  // error

    Arr1[10] = 12;  // error max 9

    Arr1[0] = 23;  // ok

    int Arr2[10] = {1, 2, 3, 4, 5}; //ok

________________________________________________________________________________

MENGAKSES ARRAY

Mengakses array menggunakan Pointer :

int arr[10];

  int *ptr_arr;

  ptr_arr = arr; //or ptr_arr = &arr[0];

Untuk mengakses elemen tertentu dapat dilakukan dengan menggunakan :

  ptr_arr[i];

  arr[i];

  *(ptr_arr + i);

  *(arr + i);

  ptr_arr = ptr_arr + i; *ptr_arr;

________________________________________________________________________________

TWO/ THREE/…. DIMENSIONAL ARRAY

C compiler tidak membatasi angka ukuran dimensi yang dapat dibuat. Tapi memori PC kita membatasinya.
INISIALISAI menggunakan RMO (Row Major Order).

TWO DIMENSIONAL ARRAY

  • Syntax 2D Array:

  type name_array[row][col];

  • Contoh :

int a[3][4];

array 2d

 

THREE DIMENSIONAL ARRAY

  • Syntax 3D Array :

  type name_array[row][col][depth];

  • Contoh :

int x[3][2][4] = {{{1,2,3,4}, {5,6,7,8}},

                          {{11,12,13,14}, {15,16,17,18}},

                          {{21,22,23,24}, {25,26,27,28}}

       };  

   void main() {

     int x[4][3][5] = {{{1, 2, 3}, {0, 4, 3, 4}, {1, 2}},

     {{9, 7, 5}, {5, 7, 2}, {9}},       

     {{3, 3, 5}, {2, 8, 9, 9}, {1, 2, 1}},

     {{0}, {1}, {0, 1, 9}}

    };

     printf(“%5d”, x[2][1][3]);

  }

________________________________________________________________________________

ARRAY OF POINTER

  • Suatu array yang berisi dengan pointer / beberapa pointer.
  • Syntax :

  type *array_name [value_dim];

  • Contoh :

  int i;

  int *ptr[4];

  int x=1, y=2,  z=3, w=5;

  ptr[0]=&x, ptr[1]=&y; ptr[2]=&z;  ptr[3]=&w;

  for(i=0;i<4;i++) printf(“%d “,*ptr[i]);

OUTPUT : 1 2 3 5

________________________________________________________________________________
ARRAY OF CHARACTER

  • Array yang berisi dengan karakter /beberapa karakter.
  • Syntax:

  char array_name[value_dim];

  • Contoh :

char name[40];

char ss[20]={‘B’,’I’,’N’,’U’,’S’};  //20 elemen

char ss[ ]= {‘B’,’I’,’N’,’U’,’S’};  // 5 elemen

________________________________________________________________________________

STRING : Adalah suatu array of character yang berakhir dengan null character ( ‘’ atau dlm ASCII = 0).
String adalah tipe data yang tidak diketahui dalam C.
String constant adalah beberapa karakter yg ditulis diantara double quote (“). Contoh : ”Welcome to Binus”
Tipe String constant adalah pointer constant.

Contoh :

  char name[40] = ”Amir”;  //ok

  name = ”Amir”;   // error name is a constant pointer

  Name[40]= “Amir”;  //error

 

String Constant dapat dihubungkan saat waktu compile:

”Hello,” ” world”   sama dengan: ”Hello, world”

Contoh INISIALISAI STRING:

  char s[ ] = ”BiNus”;  sama dengan : char s[ ] = {’B’,’i’,’N’,’u’,’s’,’’};

_____________________________________________

NOTE : CHAR VS STRING

  • Character dalam C ditulis dalam / diantara single quote (‘).
  • Contoh :

char ch=’A’;

  char ch=65;     //Ascii, sama saja dengan char ch=’A’;

char ch=0x41; //Ascii, sama saja dengan char ch=’A’;

  • String ditulis dalam /diantara double quote (“).

char vs string

__________________________________________

STRING MANIPULATION
Dalam Standard Library Function (header file string.h) menyediakan beberapa fungsi untuk memanipulasi string :

  • strlen() : Mengembalikan nilai panjang suatu string; null char diabaikan.
  • strcpy(s1,s2) : Menyalin s2 ke s1.
  • strncpy(s1,s2,n) : Menyalin karakter n pertama pada s2 ke s1.
  • strcat(s1,s2) : Menambahkan string s2 ke bagian akhir string s1.
  • strncat(s1,s2,n) : Menambahkan karakter n pada string s2 ke bagian akhir string s1.
  • strcmp(s1,s2) : Membandingkan nilai pada string s1 dan s2, jika sama kembali ke 0.
    dst.
Read more

Powered by WordPress. Kredit, Streaming Audio | Theme by TheBuckmaker.