- Back to Home »
- Refleksi Minggu Ke Sepuluh
Pada minggu ke sepuluh ini kami memberikan tugas dari mentor algoritma pemrograman kami untuk di cek kepada bapak, tapi sebelum diberikan lembarannya, kami diberikan tugas untuk membuat fungsi iteratif dan rekursif tentang faktorial, dan berikut ini adalah hasilnya:
1. Secara iteratif:
int fakt 1(int n){
int fak=1;
for (int i=1;i<=n;i++){
fak=fak*i;
return fakt;}
2. Secara rekursif:
int fakt 2(int n){
if(n==1) return 1;==>stop
else return n ==>fakt 2(n-1)/pemanggilan fungsi
}
Selanjutnya kami melanjutkan materi tentang sort
1.Marge sort
a. Dikerjakan secara rekursif.
b. Langkah dari algoritma ini adalah sebagai berikut:
- barisan data dibagi menjadi 2 subbarisan.
- sort secara rekursif.
- gabung hasil langkah 2 dari 2 sub barisan yang terurut menjadi barisan terurut.
c. pada langkah ini ada dua proses yaitu peroses pemisahan dan proses penggabungan.
2. Quick Sort
Langkah-langkahnya:
a. Dipilih sebuah elemen, yaitu elemen pivot(P)
Elemen ini akan digunakan sebagai pembanding elemen-elemen yang lain untuk disusun dengan komposisi :
|<p|p|p>|
b. Lakukan hal yang sama pada elemen disebelah kiri dan elemen sebelah kanan dari P.
Setelah materi Sort selesai kami diberikan materi tentang searching.
materi searching.
Searching sangat penting dalam kehidupan, karena kebanyakan semua yang kita lakukan itu untuk mencari sesuatu.pada proses searching ini ada beberapa metode untuk mencari yang akan dicari:
1. Linier search
a. Input : array aray dengan banyak data sebanyak ukuran.
b. Output: data kunci dalam satu array aray.
c. Prinsip:
Setiap data pada array akan dibandingkan dengan kunci sampai pada data terakhir/
2. Binary search
a. kunci akan selalu dibandingkan dengan data yang berada ditengah(middle)
b. bila sama berarti data ketemu, bila tidak , akan "dilihat" apakah data ada disebelah "kiri" atau ada disebelah "kanan"