BAB YANG AKAN DIBAHAS
1. Repetiton
2. Pointers and arrays
3. Sorting and Searching
4. Function and Recursive
5. File Processing
REPETITION
Pengulangan suatu statement

FOR
for(x; y; z){
statement1;
statement2;
…….
}
x : initialization
y : conditional
z : increment or decrement

WHILE
while (condition) {statement1;statement2;... }

DO-WHILE
do{
statements;
} while (condition);
POINTERS
Menimpan data (alamat/ address).
dilambangkan dengan bintang (*) dan &
<type> *ptr_name;
int i,*j,**k;
j= &i;
k=&j
jika
nilai *j = 1
maka nilai i = 1
k = double pointer
maka bila
**k = 2
maka
*j dan i = 2
​

ARRAYS
type array[value];
Array adalah kumpulan dari beberapa data yang bersifat homogen ( memiliki tipe data yang sama). Array bisa diakses secara sembarang melalui kode index dari array tersebut. Array terbagi menjadi 3 yaitu:
One Dimensional Array
Two Dimensional Array
Three Dimensional Array

ARRAY OF CHARACTER / STRING
String adalah sekumpulan karakter yang diakhiri dengan \0 (null).Di dalam header <string.h> terdapat berbagai fungsi untuk memanipulasi string seperti
strlen()
untuk menghitung panjang dari suatu array of characterstrcpy(x,y)
untuk mengcopy string dari y ke xstrcpy(x,y,z)
untuk mengcopy z kata pertama dari y ke xstrcat(x,y)
untuk menambahkan y ke akhir dari xstrcat(x,y,z)
untuk menambahkan z kata dari y ke xdan lain lain
FUNCTION
Fuction adalah kumpulan statement yang dapat digunakan berkali kali dengan fungsi masing masing
terdapat 2 jenis function yang umum ditemukan yaitu :
1. Void yang tidak memiliki return value(nilai).
2. Int yang dapat mengembalikan nilai yang telah di proses dalam fungsi

RECURSIVE
Recursive ialah fungsi yang dapat memanggil fungsinya sendiri. Recursive memiliki kemiripan seperti looping hanya saja memakan lebih banyak memory dari pada melakukan cara iteratif

FILE PROCESSING
File adalah koleksi dari data yang terdiri dari field di dalam field ada byte dan di slm byte terdapat bit.
Syntax:
File *fp=fopen("nama_file","mode_value");
Possible mode value:
r = read file yang akan dibuka
r+ /w+ = read dan write sekaligus
a+ = read dan append sekaligus
w= write file / edit file.
a= append file
File harus di close dgn fclose(fp) saat akhir.
INPUT:
fgets
fscanf
fread
OUTPUT
fwrite
fputs
fprintf
foef=untuk mencaritahu apakah didalam file masih ada data atau tidak.
dibutuhkan struct apabila ingin menampilkan file dalam layar compiler . Struct adalah kumpulan data dari berbagai jenis data type.
SORTING
Sorting terbagi menjadi 2 tipe yaitu Ascending (dari kecil ke besar) dan Descending (dari besar ke kecil).
janis-jenis sorting yaitu:
Easy:
Bubble sort
Selection sort
Insertion sort
Intermediete:
Quick sort
Merge sort
EASY
BUBBLE SORT
sorting yang menggunakan temporary dan mengurutkan angka dengan membandingkan angka sekarang dan selanjutnya :
Temporary =angka sekarang
Angka sekarang = angka selanjutnya
Angka selanjutnya = temporary
SELECTION SORT
ascending : akan dibadingan angka pertama dengan setelahnya jika menemukan angka yang lebih kecil maka ia akan mengganti anga tersebut menjadi pembanding apabila data telah habis dan angka pembanding merupakan angka terkecil maka ia akan di letakan paling depan.
INSERTION SORT
Membandingkan dengan 1 angka saja dan menyelipkan angka tersebut apabila angka tersebut lebih kecil dari pada angka setelahnya , dan apabila sudah mendapatkan tempat dalam suatu array dia akan mengambil angka lain sebagai patokan lain untuk dibandingan . Diulang terus menerut sampai dengan urutan arrray telah tersusun.
INTERMEDIETE
QUICK SORT
Pick an element, called a pivot, from the array.
Partitioning: reorder the array so that all elements with values less than the pivot come before the pivot, while all elements with values greater than the pivot come after it (equal values can go either way). After this partitioning, the pivot is in its final position.
MERGE SORT
Divide the unsorted list into n sublists, each containing one element (a list of one element is considered sorted).
Repeatedly merge sublists to produce new sorted sublists until there is only one sublist remaining. This will be the sorted list.
SEARCHING
terdapat 3 jenis search yaitu :
1. Linear search (membandingkan data 1 per satu dengan key yang telah diberikan)
2. Binary search ( mencari nilai tengah dari data tersebut lalu bandingkanlah apakah data tersebut lebih besar/kecil dibanding data sebelumnya )
Interpolation search ( mencari data tengah menggunakan rumus
mid = (kunci- data[min] / data[max]-data[min])* (max-min)+min
kemudian dibandingkan dengan data sebelumnya
