FILE PROCESSING
- File dan Stream
File adalah suatu perkumpulan data-data yang di simpan dalam penyimpanan contohnya Hard Disk, FlashDisk, SSD, dll. di atas file ada yang namanya gabungan record, record adalah gabungan dari field, Field itu sendiri terdiri dari gabungan bytes, Bytes juga dibentuk dari gabungan bit. dalam C file di lihat sebagai stream.
stream adalah suatu logika atau algoritma mesin untuk menerima output maupun input yang dapat di terima dalam penyimpanan dalam maupun di luar.
- Buffer Area
Buffer Area bisa juga di sebut tempat penyimpanan sementara yang berperan dalam memindahkan file
1. syntax
file pointer berperan untuk memberitahu mulainya buffer area, proses ini disebut dengan stream pointer.
- 3 peran penting dalam memproses fileOpen
1. File atau membuka file
"fopen()" di gunakan untuk membuka sebuah file contohnya FILE*fopen(conts char*filename,conts char*mode); fopen akan bekerja juka adanya <stdio.h> dalam library
Berbagai macam mode value:
a. “r” opening a file to be read.
b. “w” creating a file to be written.
c. “a” opening a File for data appends.
d. “r+” opening a File for read/write.
e. “w+” creating file for read/write.
f. “a+” opening a File for read/append
g. “rb” opening a File (binary) to be read.
h. “wb” creating a file (binary) for write operation
2. Proses file
Yang di maksud dengan proses disini adalah kita bisa meng input atau pun mesorting data
3. Close file
Untuk menutup file gunakan “fclose():” dan harus berada dalam library “<stdio.h>
Sorting and Searching
Sorting
Sorting adalah program yang memiliki kegunaanya untuk menyusun suatu nilai mulai dari terkecil ke terbesar, mengurutkan sesuai tanggal, dll.
· Tipe Sorting
a. Ascending
adalah proses dimana penyusunan nilai dari yang terkecil hingga terbesar
b. Descanting
sebaliknya dari ascending, proses ini dimana penyusunan nilai dari yang terbesar hingga terkecil
· Sorting algorithm
a. Internal sorting
Adalah penyusunan yang terjadi di dalam RAM (internal)
b. External sorting
Adalah penyusunan yang terjadi diluar atau penyimpanan cadangan biasanya terjadi pada Hard disk
· Tipe Tipe Sorting
1. Bubble sort
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]);
}
2. 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 ]
}
3. Insertion sort
for(i=1; i<n; i++) {
x = A[i], insert x to its suitable place between A[0] and A[i-1].
}
4. 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);
}
}
5. Merge sort
void merging(int low, int mid, int high) {
int l1, l2, i;
for(l1 = low, l2 = mid + 1, i = low; l1 <= mid && l2 <= high; i++) {
if(a[l1]< = a[l2])
b[i] = a[l1++];
else
b[i] = a[l2++];
}
while(l1 <= mid)
b[i++] = a[l1++];
while(l2 <= high)
b[i++] = a[l2++];
for(i = low; i< = high; i++)
a[i] = b[i];
}
Searching
Program yang digunakan untuk mencari sesuatu data secara spesifik.
· Tipe tipe searching
1. Linear search
Linear search melihat dari tiap elemen array dengan bantuan “search key”.
Algorithm:
a. n : total record of array x.
b. For each x[i], 0 £ i £ n-1, check whether x[i] = key.
c. If x[i] = key, then the searched data is found in index=i. Finished.
d. If x[i] ¹ key, then continue searching until the last data which is i = n-1.
e. If i= n-1 and x[i] ¹ key, it means the data is not exist in the list, and set index = -1. Finished.
2. Binary search
melihat nilai dari tengah dan membandingkan dengan bagian kiri atau kanan. (dapat di laksanakan jika data sudah di susun.
Algorithm:
a. n : total record of array x.
b. left=0, right= n-1.
c. mid =(int) (left + right)/2.
d. If x[mid]=key then index = mid. Finished.
e. If x[mid]<key then left = mid+1.
f. If x[mid]>key then right = mid-1.
g. If left £ right and x[mid] ¹ key, then repeat point 3.
h. If x[mid] ¹ key then index = -1. Finished.
3. Interpolation search
Mirip dengan binary search tetapi jika binary cari dalam semua data sedangkan Interpolation search mencari pada lokasi yang di tentukan missal mencari nama seseorang, program ini akan mengambil alfabet pertama dan membandingkan dengan alfabet lainnya
Algorithm:
a. In the interpolation search, we'll split the data according to the following formula:
b. If data[mid] = sought data, data has been found, searching is stopped and return mid.
c. If data[mid]!= sought data, repeat point **
d. **Searching is continued while sought data > data[min] and sought data < data[max].
e. Looking for a mid value by entering into the interpolation formula
f. If data[mid] > sought data, high = mid – 1
g. If data[mid] < sought data, low = mid + 1
h. It will be looped until the requirements point ** are not met then return (-1), data not found
Function & Recursive
· Library vs Self-defined function
1. suatu function yang sudah ditentukan oleh suatu program biasanya disebut dengan library
a. Printf() hanya bisa digunakan dalam <stdio.h >
b. Pow() digunakan dalam <math.h > biasanya di gunakan jika ada codingan berbau hitungan
c. Strcpy() digunakan dalam <string.h >
2. User-defined function adalah function yang user ciptakan sendiri tetapi dapat di terima dalam program
· Bentuk function
return-value-type function-name( parameter-list )
{
statements;
statements;
}
Return-value-type adalah suatu data yang ingin direturn atau tidak. Menggunakan “int” atau integer akan return value sedangkan “void” tidak akan mereturn value
· Recursive
Recursive adalah uatu fungsi yang akan memanggil dirinya sendiri sampai function tersebut memenuhi tujuannya. Recursive bekerja sama seperti looping tetapi berkerja lebih lambat dari looping agar terlihat lebih rapi dan mudah di baca.
Cloud Computing
· Cloud
Cloud adalah suatu sistem yang dapet diakses dari semua tempat denngan beberapa sarat yaitu jika server berada dalam sebuah wifi semua computer yang terhubung didalam cloud tersebut dapat mengakses sistem yang sama melalui perantara yang berbeda. Ada juga yang dapat diakses diseluruh dunia jika cloud tersebut terhubung dengan jaringan internet.
· Cloud Computing
Cloud computing berfungsi untuk mengurus suatu aplikasi atau data yang memberikan tempat penyimpanan data secara “virtual” yang berarti file atau memory data yang tidak terletak pada komputer yang di gunakan tetapi terletak di dalam server.
Contoh penggunaan cloud computing
a. Social networking
Facebook, Instagram, LinkedIn
b. Data sharing / collaboration
Email, Dropbox , Google drive
c. Education
Quipper, smart campus, E-learning, E-library , ruang guru
d. Business/office application
Online shop portal, Google doc
e. Storage Online
Onedrive, GoogleDrive
· Tipe-tipe Cloud Computing
1. Public Cloud : dapat diakses oleh semua orang melalui internet karena bersifat umum
kelebihan :
- socialable and Fleksibel
- cost effective
- Location independent
- Multi tentacy
- Outsource risk
- Share infrastructure
2. Private Cloud : hanya dioperasikan oleh sebuah organisasi dengan network firewall
Kelebihan :
- socialable and Flexsible
- Secure
- Greater control
- Non - Shared Infrastucture
3. Hybrid Cloud (penghubung/sebagai jembatan Public Cloud dan Private Cloud)
Bersusunan 2 atau lebih interoperable clouds, enabling data, application portability