Halo, guys!!! saya akan membahas tentang sorting dan searching.
Sorting digunakan untuk mengatur ulang elemen array yang ada agar sesuai dengan operator perbandingan pada elemen. operator perbandingan itu untuk memutuskan urutan elemen yang baru dalam struktur data. sebagai contoh: kita akan menggunakan ascii, maka kita akan mengurutkan suatu karakter berdasarkan ascii-nya.
Berikut adalah algoritma sorting yang sedang saya pahami:
1. Selection Sort
2. Bubble Sort
3. Insertion Sort
4. Merge Sort
5. Quick Sort
6. Dan masih banyak lagi.
Yang akan kita bahas adalah 5 sorting diatas.
1. Selection Sort : mengurutkan sebuah array dengan berulang kali lalu cari elemen minimum dari bagian yang tidak disortir dan diletakkan diawal. ada 2 sub-array: array yg sudah disortir dan yang belum disortir. array yang sudah disortir akan diletakkan di bagian kiri dan kanan array yg belum disortir.
2. Bubble Sort : algoritma yang sederhana, tetapi waktu sorting agak lama. awalnya akan ditetapkan suatu array yang akan dibandingkan. anggap array yang lebih kecil akan disebelah kiri. nah, array pembanding tadi akan dibandingkan dengan array disebelahnya, bila array itu lebih kecil, akan diletakkan dikiri array pembanding. akan terus begitu, sampai array tersebut berada di urutan yang benar. bila masih ada array yg belum urut maka akan terus dibandingkan dengan menjadikan array lain sebagai pembanding. dan seterusnya.
3. Insertion Sort : algoritma yang sederhana dan waktu sorting agak lama. jadi akan dipilih 1 array pembanding(ap), yaitu paling kiri. bila ap lebih kecil dari array setelahnya(as), maka ap tidak pindah. setelah itu as akan menjadi ap dan array setelahnya. bila lebih kecil, tidak akan pindah, tapi bila lebih besar, akan pindah ke urutan array ap. dan bila array yang pindah itu msih lebih besar dari array sebelumnya, makan akan pindah lagi, sampai array tersebut benar-benar lebih kecil dari array sebelumnya.
4. Merge Sort : algoritma ini membagi array menjadi 1/2x array awal, dan akan terus dibagi sampai tidak bisa dibagi 2 lagi. misalkan arraynya ada 8, berarti akan menjadi 2 2 2 2. lalu masing-masing sub array saling membandingkan. kecil - kiri, besar- kanan. stlh itu, sub-array tersebut bergabung dengan sebelahnya menjadi sub array 4 4 dan dilakukan perbandingan. bila sudah urut, maka sub array 4 dan 4 akan digabung dan dibandingkan sampai semuanya urut.
5. Quick Sort : algoritma yang mirip dengan merge sort. quick sort memilih suatu array sebagai pivot, pivot tersebut bisa array 1 atau terakhir atau array acak, atau dari median. algoritma sorting ini paling cepat dalam pemrosesannya.
Selanjutnya saya akan membahas tentang Searching.
Searching adalah algoritma yang dibuat untuk memeriksa/mengambil elemen dari struktur data tempat ia disimpan.
Macam-macam searching:
1. Linear Searching : membandingkan tiap elemen dari array dengan suatu key yg sdh ditetapkan.
2. Binary Searching : lebih cepat dan efisien untuk membaca data yang berukuran besar.
3. Interpolation Searching : hampir mirip dengan binary, interpolation mencari data dengan memperkirakan lokaasi data. misalkan suatu buku memiliki alphabet dari A-H. bila ingin mencari kata dengan huruf depan F, maka akan langsung di cari ke baigan 3/4 buku itu. (A-H = 8, lalu 8/2= 4 bagian, dan F berada dibagian ke 3.)
Sekian blog saya...... :p
2201752653
skyconnectiva.com
binus.ac.id
Kevin Nolasco.
Selasa, 18 Desember 2018
Minggu, 09 Desember 2018
FILE PROCESSING
Halo, para penikmat blog ini. di kesempatan kali ini, saya akan menjelaskan dan membahas tentang file processing. ada beberapa hal yang perlu dipahami dalam file processing. pertama, saya akan membahas tentang file and streams. stream adalah urutan karakter. semua data input dan output adalah stream. ole karena itu, program C melihat file sebagai suatu stream. untuk menyimpan kunci dalam data dari keyboard perlu disimppan dari perangkat penyimpanan sekunder sebagai file data.
pada saat program C berjalan, ada beberapa standard stream yang aktif, yaitu standard input, output dan error stream.
Lalu ada open file dan close file.
Open file: membuka file. syntaxnya sebagai berikut:
FILE *fopen (const *filename, const char *mode);
ada banyak mode dalam open file :
r - opening file tobe read
w - creating a file tobe written
a - openging a file for data append
r+ - opening a file for read/write
w+ - creating file for read/write
a+ - opening a file for read/append
rb - oepning a file (binary) tobe read
wb - creating a file(binary) for write operation
Close file: menutup file yang sedang terbuka atau dipakai. Syntaxnya sebagai berikut:
int fclose (FILE *stream);
Bagian selanjunya adalah input dan output file:
/* untuk char
fgetc (INPUT)
fputc(OUTPUT)
/* untuk semua
fgets(input)
fputs(ouput)
fscanf(input)
fprintf(ouput)
fwrite(write a block of data)
fread(read a block size)
feof(end of line)
2201752653
sykconnectiva.com
binus.ac.id
Kevin Nolasco
pada saat program C berjalan, ada beberapa standard stream yang aktif, yaitu standard input, output dan error stream.
Lalu ada open file dan close file.
Open file: membuka file. syntaxnya sebagai berikut:
FILE *fopen (const *filename, const char *mode);
ada banyak mode dalam open file :
r - opening file tobe read
w - creating a file tobe written
a - openging a file for data append
r+ - opening a file for read/write
w+ - creating file for read/write
a+ - opening a file for read/append
rb - oepning a file (binary) tobe read
wb - creating a file(binary) for write operation
Close file: menutup file yang sedang terbuka atau dipakai. Syntaxnya sebagai berikut:
int fclose (FILE *stream);
Bagian selanjunya adalah input dan output file:
/* untuk char
fgetc (INPUT)
fputc(OUTPUT)
/* untuk semua
fgets(input)
fputs(ouput)
fscanf(input)
fprintf(ouput)
fwrite(write a block of data)
fread(read a block size)
feof(end of line)
2201752653
sykconnectiva.com
binus.ac.id
Kevin Nolasco
STRUCTURES & UNION & MEMORY ALLOCATION
Halo, para readers. kali ini saya akan membahas tentang data structures, union dan memory allocation.
Structures adalah tipe data untuk menyimpan sekelompok data dengan berbagai data.
Syntax structures: (hanya boleh pakai unsigned int, signed int atau int saja.)
#include <stdio.h>
struct name_structure{
dataType1 name_field1;
dataType2 name_field2;
.....
.....
}
Union digunakan untuk memori gabungan. dengan ini, lokasi memori dapat ditetapkan untuk 2 atau lebih variabel degan tipe data berbeda.
Syntax Union :
#include <stdio.h>
union name_union{
typeData1 name_var1;
typeData2 name_var2;
.....
.....
} name_var_union;
Memory Allocation mengambil beberapa ruang memori ( RAM ) yang digunakan oleh OS untuk digunakan oleh program.
Memory De-Allocation melepas ruang memori ( RAM ) kembali ke OS.
contohnya : bila sedang meng-declare suatu variabel seperti
int main(){
int nilai; ------> nilai disini mengambil beberapa ruang memori.
}
2201752653
skyconnectiva.com
binus.ac.id
Kevin Nolasco.
Structures adalah tipe data untuk menyimpan sekelompok data dengan berbagai data.
Syntax structures: (hanya boleh pakai unsigned int, signed int atau int saja.)
#include <stdio.h>
struct name_structure{
dataType1 name_field1;
dataType2 name_field2;
.....
.....
}
Union digunakan untuk memori gabungan. dengan ini, lokasi memori dapat ditetapkan untuk 2 atau lebih variabel degan tipe data berbeda.
Syntax Union :
#include <stdio.h>
union name_union{
typeData1 name_var1;
typeData2 name_var2;
.....
.....
} name_var_union;
Memory Allocation mengambil beberapa ruang memori ( RAM ) yang digunakan oleh OS untuk digunakan oleh program.
Memory De-Allocation melepas ruang memori ( RAM ) kembali ke OS.
contohnya : bila sedang meng-declare suatu variabel seperti
int main(){
int nilai; ------> nilai disini mengambil beberapa ruang memori.
}
2201752653
skyconnectiva.com
binus.ac.id
Kevin Nolasco.
FUNCTION and Recursion
Halo, para pembaca. saya ingin menjelaskan tentang function dan recursion.
Function adalah suatu bagian dari program yang tugasnya untuk menjalankan suatu tugas tertentu yg menghasilkan sesuatu, dan kemudian fungsi tersebut dipanggil kembali ke program utama yang memanggil fungsi tersebut.
Recursion adalah fungsi yang memanggil dirinya secara langsung ataupun tidak langsung.
kita langsung saja ke contohnya biar langsung ngerti.
* FUNCTION
#include <stdio.h>
int hitung(int a, int b){
int count;
count= a+b;
return count;
}
int main(){
int count;
int a=2, b=3;
printf("%d", hitung(a,b));
return 0;
}
* RECURSIVE
#include <stdio.h>
unsigned long long int factorial(unsigned int a){
if( a <= 1)
{
return 1;
}
return a * factorial(a-1);
}
int main(){
int a = 4;
printf("Factorial of %d is %d\n", a, factorial(a));
return 0;
}
2201752653
skyconnectiva.com
binus.ac.id
Kevin Nolasco
Function adalah suatu bagian dari program yang tugasnya untuk menjalankan suatu tugas tertentu yg menghasilkan sesuatu, dan kemudian fungsi tersebut dipanggil kembali ke program utama yang memanggil fungsi tersebut.
Recursion adalah fungsi yang memanggil dirinya secara langsung ataupun tidak langsung.
kita langsung saja ke contohnya biar langsung ngerti.
* FUNCTION
#include <stdio.h>
int hitung(int a, int b){
int count;
count= a+b;
return count;
}
int main(){
int count;
int a=2, b=3;
printf("%d", hitung(a,b));
return 0;
}
* RECURSIVE
#include <stdio.h>
unsigned long long int factorial(unsigned int a){
if( a <= 1)
{
return 1;
}
return a * factorial(a-1);
}
int main(){
int a = 4;
printf("Factorial of %d is %d\n", a, factorial(a));
return 0;
}
2201752653
skyconnectiva.com
binus.ac.id
Kevin Nolasco
Langganan:
Komentar (Atom)