Monday, December 17, 2018

Searching and Sorting

Sorting 

Simple Sorting

  • Bubble sort
Bubble Sort membandingkan angka satu per satu yang ada disebelahnya dan mengubah jika index yang lebih besar menjadi lebih kecil(Ascending).

  • Selection sort
Selection sort ini membandingkan semua index yang ada hingga mendapatin angka yang lebih kecil dan mengubahnya menjadi index paling depan.

  • Insertion Sort
Insertion Sort ini membandingkan index dengan index sebelahnya dan apabila angkanya lebih kecil maka akan di swap,setelah di swap dia akan mengecek lagi dengan angka sebelahnya,apalagi statement/kondisinya salah maka dia akan lanjut ke index selanjutnya.

InterMediate Sorting

  • Quick Sort
Quick Sort ini mengurutkan data dengan cara membagi array menjadi beberapa bagian dengan menentukan nilai pivot kemudian mengatur ulang index, semua index yang lebih kecil akan dipindahkan ke sebelah kiri dari array, dan semua index yang lebih besar ke sebelah kanan dari array (nilai yang sama dengan pivot boleh diletakkan dimana saja),kemudian angka-angka ini akan diurut dan dapat di lihat dari bagian kiri dan kanan.



  • Merge Sort
Merge Sort ini memecahkan array menjadi beberapa bagian dan kemudian mengurutkannya kembali.



SEARCHING

  • Linear Search
Mencari data satu per satu pada array (disarankan untuk menggunakan linear search apalagi datanya tidak banyak).

  • Binary Search
Membaca data pada array,apabila data masih berantakan maka data akan dilakukan pengurutan ulang, menentukan nilai elemen tengah array dan membandingkan data yang lebih kecil atau lebih besar yang telah memenuhi kondisi(statement) , kemudian melakukan perbandingan lagi pada data-data sampai dengan dapat data yang kita mau.

  • Interpolation Search
Sebelum melakukan interpolation search, data harus diurutkan dari yang kecil ke besar, kemudian mencari letak posisi data (mirip dengan Linear Search) yang akan di cari.

Rumus Mencari Posisi :


Cloud Computing

Cloud Computing
->Gabungan pemanfaatan teknologi komputer pada suatu jaringan internet yang dapat diakses dimana saja dengan menjalankan applikasi pada komputer dan mobile phone..






Development Models
1.Private Cloud
Infrastruktur Cloud yang dapat dioperasikan oleh satu organisasi saja.
2.Public Cloud
Service yang diberikan dari pihak Cloud melalui jaringan untuk pengguna publik.
3.Hybrid Cloud
Gabungan dari beberapa cloud(private,community,public) yang memiliki entitas yang berbeda tetapi terikat bersama.


Service Models
1.Infrastuctruce as a Service (IaaS)
2.Platform as a Service (Paas)
3.Software as a Service (Saas)


Kelebihan Coud Computing
1.Biaya Murah
2.Dapat diakses dimana saja
3.Fleksibilitas
4.Memberikan banyak manfaat bagi perusahaan,seperti reduce cost.

Kekurangan Cloud Computing
1.Apabila Data sudah terhapus,maka kemungkinan besar tidak dapat di restore balik.
2.Tanpa adanya koneksi internet,cloud computing tidak dapat dijalankan.
3.Keamanan data pengguna masih tidak dapat terjamin aman total,karena di akses secara bersamaan oleh banyak pengguna maka kemungkinan bisa di hack oleh hacker.




Wednesday, October 17, 2018

Pointer And Array

Definisi Pointer 

  • Suatu variabel yang menunjuk ke alamat memory variabel yang lainnya, untuk mendeklarasi variabel pointer maka harus ditambah tanda bintang(*) dibagian depan variabel

Contoh Program dengan pointer 

#include <stdio.h>

main(){
    int *ptr;
    int k;
    k=7;
    printf("Isi variabel k = %d",k);
    printf("\nAlamat variabel k = %d",&k);
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    ptr=&k;
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    printf("\nIsi dari alamat %d = %d",ptr,*ptr);
    printf("\n");
}

ARRAY

  • Array adalah tempat kosong yang dapat diisi oleh suatu angka, Array dapat menyimpan banyak angka tergantung dari yang kita inginkan, misalkan array[10]

Contoh Array :

#include <stdio.h>
main(){
int arrayx[3] ,arrayy[3] = {1,2,4}, x, y, i, temp, tempo;
printf(“PEMANFAATAN ARRAY\n\n”);
printf(“Bilangan dalam array adalah 1,2,4\n\n”); // dalam program ini isi array telah ditentukan dari awal
for(i=0;i<=2;i++){
arrayx[i] = arrayy[i]; // angka dalam array dimulai dari array 0
}
temp = arrayx[0]; //anggap arrayx[0] = minimum
for(i=0;i<=2;i++)
if (arrayx[i] < temp){
temp = arrayx[i];
}
tempo = arrayy[0];//anggap arrayy[0] = maximum
for(i=0;i<=2;i++)
if (arrayy[i] > tempo){
tempo = arrayy[i];
}
printf(“Maka Bilangan Terbesar dan Terkecil dalam Array adalah = %d dan %d “, tempo, temp);
}


Komponen-Komponen Array terdiri dari 4 :
  1. Ketik ditentukan
  2. Identifier (Nama Array)
  3. Indeks Operator([ ])
  4. Nilai Dimensi dalam Operator [ ]





















Thursday, October 11, 2018

Repetition

REPETITION DEFINITION

*One or more instruction repeated for certain amount of time
*Number of repetition can be predefined (hard-coded in program) or defined later at run time

*Repetition/looping operation:
  –for
  –while
  –do-while


Example of using For (Syntax)  :



for(exp1; exp2; exp3) statement;
or:
for(exp1; exp2; exp3){
  statement1;
  statement2;
  …….
 }
exp1 :  initialization
exp2 :  conditional
exp3 :  increment or decrement
exp1, exp2 and exp3 are optional


Example of using For                 :

*Program to print out even numbers :

#include<stdio.h>

int main(){

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

if(i%2==0){

printf("Bilangan Genap : %d\n",i);

}

}

return 0;

}


Flowchart of For Statement    :




For has nested loop(loop in a loop),the repetition operation will start from the inner side loop.


Example of Nested Loop :


        
#include<stdio.h>

int main(){

int a,b;

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

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

printf("*");

}

printf("\n");

}

return 0;

}


Output :

*
**
***
****
*****
******
*******
********
*********