Repetition, Array, dan Pointer C

I. Looping 

Repetisi yang sering juga disebut looping adalah sebuah perintah yang diberikan agar program dapat melakukan pnegulangan sesuai dengan syarat sayarat yang ditentukan.

Ada 3 tipe repetisi / looping, yaitu :

  1. For
  2. Do....While....
  3. While..

1. For

For memiliki syntax sebagai berikut :

for ( exp1; exp2; exp3){


         statement ;


}


  • exp1 : inisialisasi nilai awal
  • exp2 : Kondisi
  • exp3 : increment(penambahan) atau decrement(pengurangan)


Contoh penggunaan for dalam looping :

#include<stdio.h>

int main(){

                  int angka;

                  for ( angka = 0 ; angka <= 5; angka++){

                  printf("*");

return 0;

}

program tersebut akan mencetak output 6 buah bintang secara horizontal.

******

2. Do...While...

Pada looping menggunakan do..while.. , program akan megulang sebuah statement selama kondisi pada while masih bernilai benar. Program akan dijalankan terlebih dahulu sebelum kondisi pada while dicek.

Do..While.. memiliki syntax sebagai berikut :

do {


       statement;


} while (kondisi) ;


Contoh penggunaan do..while.. dalam looping :

#include<stdio.h>

int main(){

                int a = 1;

                do {

                       printf ("%d\n",a);

                       a = a + 1;

                }     while (a <= 10);

               return 0;


}

program tersebut akan mencetak output angka 1 sampai 10 secara vertikal

1
2
3
4
5
6
7
8
9
10


3. While

Pada looping menggunakan while, program akan melakukan pengulangan pada statement apabila kondisi pada while masih bernilai bener. Jika kondisi pada while sudah salah, maka program akan berhenti melakukan pengulangan.

While memiliki syntax sebagai berikut :

while (kondisi) {


                           statement;


}


Contoh penggunaan while dalam looping :

#include<stdio.h>

int main(){

                 int a=1;

                 while (a <= 10){

                             printf("%d\n",a);

                             a = a + 1;

                 }

return 0;

}

program tersebut akan mencetak output angka 1 sampai 10 secara vertikal.

1
2
3
4
5
6
7
8
9
10

II. Pointer dan Array


1. Pointer

Pointer merupakan jenis variabel yang dapat menunjuk address atau alamat dari variabel lain. Sevuah bariabel mempunyai alamat karena dalam deklarasi variabel, program akan memberi alamat untuk variabel tersebut.  Untuk mendeklarasikan variabel pointer, dapat menggunakan simbol bintang (*) di depan variabel yang akan dideklarasikan.

Contoh penggunaan pointer :

#include<stdio.h>;

int main(){

                  int a = 10;

                  int *b;

                  b=&a;

                  printf("%d",*b);

return 0;

}

akan menghasilkan output 10.

  • variabel a diberi nilai = 10
  • Melakukan deklarasi pointer b (*b)
  • b=&a; menunjuk pada alamat variabel a
  • Simbol & = address of
  • Program tersebut menghasilkan output 10 karena di awal variabel a telah ditunjuk terlebih dahulu.

2. Array

Array adalah kumpulan nilai nilai data bertipe sama dalam urutan tertentu dengan nama yang sama. Array memungkinkan kita untuk menyimpan data dalam jumlah banyak dan terindex. 

Index dalam array selalu dimulai dengan angka 0.
Jika ada array :

char a[20]={'h,"a","l","o","","b","i","n","u","s'};

Untuk mencetak output huruf  l dapat dilakukan dengan mengakses index array a[2] dan  huruf b pada index array a[5].

Spasi juga termasuk dalam index array.


Ada beberapa jenis array, seperti array 1 dimensi dan array 2 dimensi

a. Array 1 dimensi

Array yang akan diakses menggunakan index baris saja.

Contoh penulisan array 1 dimensi :
char a[index array];

b. Array 2 dimensi

Array yang akan diakses menggunakan 2 index, yaitu index baris dan index kolom.

Contoh penulisan array 2 dimensi :

char a[index baris][index kolom];


III. Function

Function digunakan untuk membagi sebuah program besar menjadi beberapa program kecil yang memiliki fungsi masing masing agar lebih mudah dilihat dan dipahami.

Sebuah function berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama tersebut dapat dipanggil berkali kali di dalam program. 

Contoh penulisan function :

#include<stdio.h>

void nilai_minimum( int x, int y){

                  int min = x;

                  if ( min > y ) {

                  min = y;

                  }

                  printf ("%d\n", min);

}

int main(){

                  int x , y;

                  scanf("%d %d", &x, &y);

                  nilai_minimum(x,y);

                  return 0;

}

IV. Recursive function


Recursive function adalah proses looping yang dilakukan di dalam function dengan cara memanggil function tersebut di dalam dirinya sendiri. 

Fungsi ini digunakan adalah karena ada beberapa kasus fungsi iteratif yang sulit dipecahkan menggunakan fungsi looping biasa.

Contoh penggunaan recursive :

int factorial (int x){

                               if (x == 0 || x == 1 ) {

                               return 1;

                               else {

                               return x * factorial (x - 1);

}

V. Struct


Struct adalah tipe data yang dapat menyimpan kumpulan tipe data lain (int , char, dll) didalamnya. Berbeda dengan array yang hanya dapat menyimpan tipe data yang sama. Variabel yang menjadi anggota struct disebut dengan elemen struct.

Contoh penggunaan struct :

Struct siswa {

                      int no_induk;

                      char nama[30];

                      char kampus[30];

}mahasiswa[200] ;


VI. File Processing


Pada dasarnya, file processing terbagi atas 3 bagian, read (r), write(w) , dan append(a), namun ada juga fungsi fungsi lain :

r          Membuka file sesuai nama filenya untuk dibaca. Jika file tidak ada akan bernilai NULL
w         Membuat file untuk ditulis. Jika sebelunya sudah ada nama file yang sama, akan di overwrite
a          Menambahkan data di baris terakhir. Jika file tidak ada, akan dibuat secara otomatis
r+        Sama seperti read, tapi file juga dapat ditulis
w+      Sama seperti write, tapi file juga dapat dibaca
a+       Sama seperti append, tapi file juga dapat dibaca
rb        Membuka file binary untuk dibaca
wb       Membuat file binary

Contoh penulisan :

int main(){

                   File *fp;

                   int count = 0;

                   int read[1005] ; 
                 
                   fp = fopen("text.txt","r");

                   While (!feof(fp)){

                   fscanf(fp , "%d\n" , &read[count] );

                   count ++;

                   }

fclose(fp);

return 0;

}


VII. Sorting dan Searching


Sorting dan searching biasa digunakan dalam suatu program untuk mempercepat dan mempermudah pencarian data di dalam program.

Sorting dibagi atas 2 tipe :

Simple sort =  (Bubble Sort, Selection Sort, Insertion Sort)

Intermediate Sort = (Quick Sort , Merge Sort)

Bubble Sort adalah metode pengurutan data dengan cara melakukan penukaran data di sebelahnya secara terus menerus sampai tidak ada lagi perubahan yang dapat terjadi.

Contoh :

for (int i=0; i<Jmlh_data; i++) {

for (int j = Jmlh_data - 1 ; j>i ; j--) {

      if (arr[j] < arr[j-1]) {

      swap (&arr[j] , &arr[j-1] );

      }

}

Insertion Sort adalah metode pengurutan data yang menempatkan setiap elemen data pada posisinya dengan melakukan perbandingan.

Contoh :

for (int i=1; i<Jmlh_data; i++) {

int temp = arr[i];

for (int j = i - 1 ; j>=0 && temp < arr[j] ; j--) {

      arr[j+1] = arr[j] ;

      arr[j] = temp;

      }

}

Selection Sort adalah metode pengurutan data yanag akan mencari data sesuai dengan kriteria yang ditentukan dan memindahkannya ke depan

Contoh :

for (int i=0; i<Jmlh_data; i++) {

int index = i;

for (int j = i + 1 ; j<Jmlh_data ; j++) {

      if (arr[j] < arr[index]) {

      index = j;

      }

      printf(arr);

      }

swap (&arr[index] , &arr[i] ) ;

}

Quick Sort 

Contoh :

if(L<R){

int j = L;

int k = R+1;
do{

do{

j++;

}while(arr[j]<arr[L]);
do{

k--;

}while(arr[k]>arr[L]);
if(j<k) swap(&arr[j], &arr[k]);

}while(j<k);
swap(&arr[L], &arr[k]);

quick(arr, L, k-1);

quick(arr, k+1, R);

}

Merge Sort adalah teknik mengurutkan data dengan cara memisahkannya, mengurutkan, dan menyatukan kembali data ketika sudah urut.


Searching dilakukan untuk mengetahui keberadaan data dan letak dari data tersebut.
Searching dibagi 3 tipe :

Linear search, Binary search, dan Interpolation Search

Linear Search akan membandingkan setiap elemen yanga da pada sebuah array dengan menggunakan search key.

Binary Search hanya akan bekerja pada array yang sudah berurut dan memiliki ukuran yang kecil

Interpolation Search akan digunakan pada array yang berurut, dilakukan dengan cara perkiraan letak data.


VII. Cloud Computing


Cloud biasanya merajuk pada internet atau hubungan yang hadir pada tempat tertentu yang dapat diakses dimanapun dengan network public atau network private.
Cloud Comnputing merajuk pada mengelola, mengkonfigurasi, dan mengakses aplikasi secara online. Cloud menawarkan data, tempat menyimpan dan pemberian aplikasi sebagai network service.

Contoh cloud computing :

Edukasi : E-learning, Smartcampus, etc.
Data sharing : Email, dropbox, etc.
Media sosial : Facebook, Instagra, etc;
Bisnis : Google doc, Online shop portal, Corporate or personal website.

Kelebihan cloud computing :
- Mengurangi biaya computing
- Lebih fleksibel
- Dapat diakses dimana saja
- Lebih mudah untuk bekerja sama
- Dapat mengelola infrastruktur lebih mudah

Kekurangan cloud computing :
- Fitur terbatas
- Keamanan kurang terjamin
- Tidak dapat bekerja dengan koneksi lemah
- Performa atau masalah tentang kecepatan internet


Longwen Vegady Koesno

2201750755

skyconnectiva.com

Comments

Post a Comment