Tuesday, December 18, 2018

CLOUD SERVER


Berdasarkan presentasi PT. Mitra Teleinformatika Perkasa

Apa Itu Cloud?

Cloud adalah sebuah jaringan atau internet, yang ada di suatu tempat namun bisa di akses dimana saja.
Penggunaan Cloud pada perusahaan dapat digunakan sebagai berikut:
Data as a Service (DaaS) yaitu data data yang ada di Cloud dapat di share melalui Data Sharing. Lalu data tersebut juga dapat digunakan secara kolaborasi.
Backup as a Service (BaaS) yaitu mengbackup semua data sehingga dapat di recovery nantinya.
Disaster Recovery as a Service (DRaaS) yaitu mereplikasikan data sehingga ketika data tersebut hilang ketika disimpan (failover), maka data tersebut masih ada.

Kelebihan :
Tidak tergantung pada alat
Data semakin bisa diandalkan
Peningkatan performa yang fleksibel.
Mengurangi harga hardware dan software
Penggunaan daya komputasi rendah.
Lebih mudah untuk dikelompokkan

Kekurangan :
Data yang bisa hilang
Fitur fitur yang mungkin terbatas
Tidak bisa berjalan pada kecepatan internet yang rendah
Membutuhkan kecepatan internet yang konstan


SORTING


Apa Itu Sorting?

        Sorting adalah proses yang mempercepat searching operation di dalam sebuah list
Jenis-jenis sorting :

      Simple:
     Bubble sort
     Selection sort
     Insertion sort
      Intermediate:
     Quick Sort
     Merge Sort

Bubble Sort
Membandingkan 2 value yang bersebelahan lalu diabandingkan kemudian ditukar jika dibutuhkan.

void Bubble(int *DataArr, int n)
{
                        int i, j;
                        for(i=1; i<n; i++)
                                    for(j=n-1; j>=i; j--)
                                                if(DataArr[j-1] > DataArr[j])
                         Swap(&DataArr[j-1],&DataArr[j]);
}

Selection Sort
for(i=0; i<N-1; i++){      /* N=number of data */
            Set idx_smallest equal to i
            for(j=i+1; j<N; j++){
                                    If array[ j ] < array [ idx_smallest ] then idx_smallest = j
    }
            Swap array[ i ] with array[ idx_smallest ]
}
                                                           
Insertion Sort
for(i=1; i<n; i++) {
    x = A[i], insert x to its suitable place between A[0] and A[i-1].
}

Quick Sort
void QuickSort(int left, int right)
{
      if(left < right){
            //arrange elements  R[left],...,R[right] that
            //producing new sequence:
            R[left],...,R[J-1] < R[J] and R[J+1],...,R[right] > R[J].
            QuickSort(left, J-1);
            QuickSort(J+1, right);
       }
}

Merge Sort
Algoritma untuk mensorting didasari dari divide and conquer algorithm
Divide and conquer adalah algoritma general paradigm design
            Divide: membagi inputan data menjadi subset yang disjoin
            Recur: memecahkan masalah dari sub problem yang berhubungan dengan subset
            Conquer: menggabungkan solusi-solusi untuk setiap subset menjadi 1 solusi






FILE PROCESSING


Apa itu File Processing?

            File adalah koleksi dari record à Record adalah koleksi dari field à Field adalah block dari berbagai byte à Byte adalah koleksi dari bit

Pendefinisian File :

typedef struct  {
   int level;                               // fill/empty level of buffer
   unsigned flags;                     // File status flags
   char fd;                                 // File descriptor
   unsigned char hold;             // Unget char if no buffer
   int bsize;                               // Buffer size
   unsigned char *buffer;         // Data transfer buffer
   unsigned char *curp;            // Current active pointer
   unsigned istemp;                  // Temporary file indicator  
   short token;                          // Used for validity checking
}  FILE;    

Buffer Area adalah bagian dari memory yang digunakan untuk tempat sementara sebelum data dimasukkan ke file

Syntax : FILE *fp
            Dimana fp adalah file pointer yang menunjuk ke awal dari buffer area

Opening file using fopen( )
FILE *fp
fp = fopen(“filename”,” mode ”)
beberapa mode :
          Mode                                  Description
            r                             membuka file untuk dibaca
            w                            membuat file untuk ditulis
            a                             membuka sebuah data file untuk di append.
            r+                           membuka file untuk dibaca / ditulis.
            w+                          membuat file untuk dibaca  /ditulis.
            a+                           membuka file untuk dibaca / append
            “rb”                           membuka file(binary)untuk dibaca.
            “wb”                          membuat file(binary)untuk dibuat operasi.

Close File
Int fclose (FILE *stream);

Input & Output file
fgetc(input)
Membaca 1 karakter dari file
Syntax : int fgetc( FILE *stream );

fputc(output)
menulis 1 karakter ke dalam file
Syntax: int fputc( int c, FILE *stream );

fgets (input)
Membaca 1 baris dari file yang diakhiri dengan baris baru

fputs (output)
Menulis sebuah baris ke dalam file
Syntax: int fputs( const char *string, FILE *stream );


fscanf  (input)
Membaca data dari file dengan format scanf
Syntax: int fscanf( FILE *stream, const char *format [, argument ]... );

fprintf (output)
Menulis data ke dalam file menggunakan format printf
Syntax: int fprintf( FILE *stream, const char *format [, argument ]...);

fwrite
Menulis block of data di dalam buffer area ke file
Syntax: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

fread
Membaca beberapa data dari file
Syntax: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

feof
Mencari tau jika pointer telah mencapai end of file
Syntax : int feof( FILE *stream );




DATA STRUCTURE


Apa Itu Data Structure?

              Structure adalah tipe data untuk menyimpan group of data dengan berbagai tipe data. Komponen struktur adalah member/field/element.

Cara mendeklarasikan struktur :
1)        struct name_structure
 {
                         dataType1 name_field1;
                        dataType2 name_field2;
                       
              };
              struct name_structure  name_variable_structure;

2)        struct name_structure
{
           dataType1 name_field1;
                        dataType2 name_field2;
          
} name_variable_structure ;

3)        typedef struct Employee {
   int id;
   char name[32];
}EMP;
int main(void)
{
   EMP info = {1,"B. Smith"};
   printf(“Employee name: %s\n", info.name);
   printf(“Employee ID: %04d\n\n", info.id);
  
   getch();
   return 0;
}

Cara mengakses structure :
# include <stdio.h>
# include <string.h>
struct mhs {
  char nim[9];
  char name[26];
  float gpa;
};
int main (){
  struct mhs lia;
  float wgpa;
  scanf("%s", &lia.nim);
  fflush(stdin);
  gets(lia.name);
  scanf("%f", &wgpa);
  lia.gpa = wgpa;
  printf("%s %s %.2f",
  lia.nim, lia.name, lia.gpa);
  return 1;
}

Nested Structure
adalah structure dengan salah elemen di dalamnya adalah structure lain


Array of structure

struct Dob{
              int date, month, year;
};
              struct Account {
                        int accountNo;
              char accountType;
                        char name[31];
                        long credit;
                        struct Dob lastTrans;
};
//Array of structure
struct Account customer[100];


Union digunakan untuk join memory. Dengan menggunakan union, sebuah memory bisa ditempatkan di 2 atau lebih variable dengan tipe data yang berbeda

Pendeklarasian Union :

union  name_union{
     typedata1  name_var1 ;
     typedata2   name_var2;
     ……
} name_var_union;



Enumeration adalah tipe data dengan banyak data yang sudah ditentukan sebelumnya
Pendeklarasian enumneration:
enum name_type {
        const1, const2,… const_n
      }name_var;







FUNCTION AND RECURSION


Apa Itu Function?

            Function adalah suatu bagian dari program yang dipergunakan untuk mengerjakan suatu tugas tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program pemanggil dan letaknya dipisahkan dari bagian program yang menggunakannya

Syntax Function
           return-value-type  function-name( parameter-list )
           {
   statements;
           }
return-value-type:  data type of the value returned
      Bila tidak diisi, maka akan digunakan tipe data default
      Jika return-value-type adalah void maka function tidak akan me-return value
Parameter-list: value yang dikirim oleh user

Contoh :























Passing Parameter


By-Value, mengirim value ke module lain
By Location/by reference, mengirim alamat ke module lain

Contoh by Value :



                                                                                      
 Contoh by Location :














Apa Itu Recursive?
Rekursi adalah sebuah fungsi panggil didalam sebuah fungsi tertentu yang memanggil dirinya sendiri. Fungsi rekursi cocok untuk masalah rekursif.


Perbedaan Recursive dengan Itirative