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.
Algoritma Pengulangan
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
Selasa, 23 Oktober 2018
ALGORITHM & PROGRAMMING
Array & Pointer
Halo, guys!. Minggu ini, saya akan bahas mengenai array dan pointer. Pointer adalah variabel yang menyimpan alamat variabel lain. Sedangkan array adalah data yang disimpan dalam struktur tertentu untuk diakses sebagai grup atau individual. Beberapa variabel yang disimpan menggunakan nama yang sama dibedakan oleh indeks mereka.
Contoh penggunaan pointer :
int main(){
int *pointer, a;
a = 10;
pointer = &a;
printf("%d", *pointer);
return 0;
}
// Output = 10;
Contoh penggnaan array :
int main(){
int a[5] = {1, 2, 3, 4,5};
printf("%d", a[2]);
}
// Output = 3
2201752653
kevin.nolasco@binus.ac.id
skyconnectiva.
Kevin Nolasco
ALGORITHM & PROGRAMMING
Repetition/Looping
Halo
semua, Pagi tadi, saya ada kelas di kampus. Kelas untuk algoritma dan
programming. Mareri dari pertemuan tadi yaitu repetition atau looping. Repetition
itu adalah perulangan. Jadi pengertian dari repetition atau looping ini adalah
sekumpulan perintah yang dilakukan untuk melakukan pengulangan dalam waktu atau
kondisi tertentu. Dalam algoritma programming, repetition dibagi menjadi 3
macam, yaitu for, while dan do-while. Ketiga-tiganya menghasilkan perintah
untuk melakukan perulangan, tetapi cara pemakaian dan strukturnya berbeda. Untuk
lebih jelasnya, akan diuraikan dibawah ini :
Contoh untuk FOR :
Int main(){
For ( int a=0; a<=10; a++ ){
Printf(“%d”);}}
Contoh untuk WHILE
:
Int main(){
Int counter =1;
While (counter <=10){
Printf(“%d”,
counter);
Counter++;}}
Contoh untuk
DO-WHILE :
Int main(){
Int counter =0;
Do{ Printf(“%d”,
counter);
Counter++;
}while(counter <=10;);
2201752653
kevin.nolasco@binus.ac.id
skyconnectiva.
Kevin Nolasco
Rabu, 17 Oktober 2018
ALGORITMA PENGULANGAN!!!!!
Repetition/Looping
Halo semua.
Pagi tadi, di kampus, ada pelajaran algoritma dan programming. Materi dari
pertemuan tadi yaitu repetition atau looping. Repetition itu adalah
pengulangan. Jadi pengertian dari repetition atau looping ini adalah sekumpulan
perintah yang dilakukan untuk melakukan pengulangan dalam waktu atau kondisi
tertentu. Dalam algoritma programming, repetition dibagi menjadi 3 macam: yaitu
for, while dan do-while. Ketiga-tiganya menghasilkan perintah yang sama, yaitu
untuk melakukan pengulangan. Tetapi ketiga-tiganya memiliki struktur yang
berbeda dalam penerapannya. Kalau dilihat dari sisi penggunaannya, mungkin ‘for’
merupakan repetition yang lebih mudah untuk dipahami. Tapi itu semua tergantung
dari bagaimana pemahaman masing-masing orang mengenai 3 repetition ini.
FOR
•Example:
void
reverse(char ss[])
{
int c,i,j;
for(i=0, j=strlen(ss)-1; i<j;
i++, j--){
c=ss[i];
ss[i]=ss[j];
ss[j]=c;
}
}
WHILE
Example:
int counter = 1;
while ( counter <= 10 ) {
printf( "%d\n", counter
);
++counter;
}
DO WHILE
Example
:
int counter=0;
do {
printf( "%d ", counter );
++counter;
} while (counter <= 10);
Langganan:
Komentar (Atom)