Kamis, 20 Desember 2018

Sorting & Searching

hello gais, pada kesempatan kali ini saya akan menjelaskan kepada kalian materi algoritma tentang sorting dan searching.

1.Sorting

sorting/mengurutukan memiliki beberapa jenis:

simple:
- Bubble Sort
- Selection Sort
- Insertion Sort

intermediate:
-Quick Sort
-Merge Sort

sorting juga memiliki 2 tipe yaitu:
- Ascending = mengurutkan dari nilai yang terkecil hingga terbesar.
- Descending = mengurutkan dari nilai yang terbesar hingga terkecil.

sorting menurut caranya dapat dibagi menjadi 2 cara:
1. Internal sorting
  -semua data yang akan disorting disimpan kedalam RAM.
2. External sorting
  -proses sorting menggunakan storage kedua(HDDs/SSDs).

Bubble Sort

Bubble sort memiliki ciri-ciri sebagai berikut:
- membandingkan nilai terdekat atau yang ada disebelahnya.
- membandingkan dan menukan(jika diperlukan).
- dapat disebut juga sebagai exchange sort.

contoh algoritma 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]);
}


Selection Sort

selection sort = mencari nilai yang terkecil terlebih dahulu kemudian memindahkannya ke depan/paling awal dalam kumpulan suatu data.

contoh algoritma selection sort:
for(i=0; i<N-1; i++){    
  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
insertion sort = menggunakan parameter pembanding untuk mengurutkan suatu data.

contoh algoritma 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
quick sort = menggunakan strategi pemecahan data menjadi pratisi-pratisi. karena dapat                                 mengurutkan data dengan sangat cepat metode ini dapat disebut quick sort/pratition                     exchange sort.
contoh algoritma 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
merge sort = menggunakan strategi divide-and-conquer atau dapat dibilang merge sort ini membagi                data menjadi beberapa kelompok lalu menyorting masing masing kelompok dan                          menggabungkan kelompok itu kembali untuk di sorting.

2.Searching
Searching adalah sebuat tindakan untuk mencari informasi berdasarkan suatu kunci dari sebuah                              informasi yang tersimpan.

Searching memiliki 3 jenis yaitu :
-Linear Search
-Binary Search
-Interpolation Search

Linear Search
linear search akan membandingkan setiap element di dalam array dengan search key.
selama array tidak terurut, kemungkinan nilai akan dapat ditemukan dielemen pertama seperti atau terakhir, oleh karena itu, program harus membandingkan kunci pencarian dengan setengah elemen dari array.
metode linear search dapat bekerja dengan baik jika terdapat array yang kecil atau kumpulan data yang tidak tersorting.
Binary Search
binary search atau dapat disebut juga half-intercal-search bekerja dengan baik apabila terdapat array yang sudah terurut. Pencarian ini bekerja dengan cara membandingkan nilai target ke elemen tengah dari array. jika mereka tidak sama, maka setengah  array tersebut dihilangkan dan pencarian berlanjut pada setengah sisanya. cara tersebut terus diulangi sampai nilai target ditemukan.

Interpolation Search
interpolation search juga dapat bekerja dengan baik didalam data yang sudah tersorting. metode ini hampir sama dengan metode binary search. metode ini dapat diibaratkan seperti kita ingin mencari suatu kata didalam sebuah kamus.

oke mungkin sampai disini dulu informasi yang dapat saya berikan seputar tentang sorting dan searching, semoga bermanfaat untuk kalian semua. Terima kasih.

Rabu, 05 Desember 2018

Perbedaan fputs,fgets,fgetc,dan fputc

helo gais, pada kesempatan kali ini saya akan memberi tau kepada kalian perbedaan antara fputs, fgets, fgetc, dan fputc.


fgets() digunakan untuk membaca string dari file sampai ditemukannya karakter baris baru '\n' atau setelah (n-1) karakter, dengan n adalah panjang maksimal string yang discan atau baca.
contoh: *fgets(char *kata, int angka, file *daftar);

fputs() digunakan untuk menyimpan string ke dalam file.
contoh: fputs(string, kata);

fgetc() digunakan untuk membaca sebuah karakter yang ada pada file file. keluaran fungsi ini berupa nilai int dari sebuah karakter yang dibaca dari file.
contoh: fgetc(file *daftar);

fputc() digunakan untuk menyimpan sebuah karakter pada sebuah file. fungsi ini akan mengembalikan.
contoh: fputc(int angka, file *daftar);

oke sampai disini dulu, semoga bermanfaat untuk kalian semua, termakasih.

Cloud System

hello gais, pada kesempatan kali ini saya akan menjelaskan sedikit kepada kalian tentang Cloud system.

apa sih cloud system?
cloud system adalah gabungan pemanfaatan teknologi komputer dan pengembangan berbasis Internet.

kenapa sih namanya itu cloud system?
nah sebenarnya awan (cloud) ini merupakan metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer.

Cloud system ini juga punya manfaatnya loh, seperti:
-skalabilitas 
-aksesibilitas
-keamanan
-kreasi
-kecemasan

skalabilias : dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan sehingga kita cukup menambah kapasitas yang di sediakan oleh penyedia layanan cloud. contoh peralatan tambahan seperti hdd,usb,dll.

aksesibilitas : dengan cloud kita bisa mengakses data kapanpun dan dimanamun kita berada, dengan syarat kita harus terkoneksi dengan internet, sehingga dapat sangat memudahkan kita mengakses data disaat yang penting.

keamanan : data yang tersimpan didalam cloud dapat terjamin keamanannya oleh penyedia layanan cloud computing, sehingga untuk sebuah perusahaan yang menyimpan datanya dicloud dapat tersimpan dengan aman dan menghemat biaya.

kreasi : para pengguna cloud bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi pengguna bisa mengirimkannya lewat penyedia layanan cloud.

kecemasan : ketika terjadi bencana alam data milik pengguna cloud akan tersimpan dengan aman meski perangkat yang kita gunakan mengalami kerusakan.

jenis jenis layanan komputasi awan:
-Infrastructure as a Service(IaaS) : merupakan layanan komputasi awan yang menyediakan infrastruktur IT berupa CPU, RAM, storage, bandwith, dan konfigurasi lain. contoh perusahaan yang menyediakan IaaS adalah Amazon EC2, TelkomCloud dan BiznetCloud.

-Platform as a Service(PaaS) : merupakan layanan yang menyediakan computing platform. biasanya sudah terdapat sistem operasi, database, web server, dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. contoh penyedia layanan PaaS : Amazon Web Service dan Windows Azure.

-Software as a Service(SaaS) : merupakan layanan komputasi awan dimana kita bisa langsung menggunakan aplikasi yang telah di sediakan. penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. satu satunya syarat ialah terhubung dengan koneksi internet.

contoh contoh komputasi awan yaitu :
-google drive
-windows azure
-dan masih banyak lagi

oke, mungkin sampai sini dulu pembahasan saya tentang cloud system, semoga bermanfaat untuk kalian, terima kasih.