• RexDev Learn Web Design

  • Sinau WEb Design Bebarengan

  • #WEB_DESIGN

Friday, 2 March 2018

SORTING


1. Selection Sort (Ascending):
Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya,
kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan
seterusnya.
Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah
1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar   posisinya dengan data pertama.
2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua.
3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga
4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan, maka membutukan (n – 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena hanya tinggal satu satunya.
author : en:Joestape89

2. Bubble Sort
Konsep Buble Sort
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.author : Swfung8

3. Metode Penyisipan Langsung (Insertion sort)
Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila
ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan
pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu.
Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya
dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai.author : Swfung8

4.Metode Penggabungan (Merge Sort) 
Metode penggabungan biasanya digunakan pada pengurutan berkas. Prinsip dari
metode penggabungan sebagai berikut : mula-mula diberikan dua kumpulan data yang
sudah dalam keadaan urut. Kedua kumpulan data tersebut harus dijadikan satu table
sehingga dalam keadaan urut.
author : Swfung8
5.Quick Sort
Algoritma ini berdasar pada pola divide-and-conquer. Berbeda dengan merge sort, algoritma ini hanya mengikuti langkah – langkah sebagai berikut :
1. Divide
Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.
2. Conquer
Mengurutkan elemen pada sub-rangkaian secara rekursif. Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array
Author:Matt Chan

6. Shell Sort
Merupakan algoritma yang stau jenis dengan insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan. Pada setiap pergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir
author: wikipedia



KESIMPULAN
setelah melakukan 10 kali pengulangan pada 6 metode sorting yaitu metode insertion Sort rata-rata kecepatan yang di dapat adalah 5.45 detik. dan kecepatan yang teringgi pada metode ini adalah pada saat iterasi ke 2, 5 dan 7. sedagkan kecepatan terendah pada iterasi ke 1. pada motode bubble sort, metode ini mempunyai kecepatan yang paling lambat rata-rata kecepatan metode ini adalah 12 detik. dan kecepatan teringgi terjadi pada iterasi ke 9. dan kecepatan terendah adalah iterasi ke 8. pada metode selecton sort rata-rata kecepatan yang di dapat adalah 5.2 detik dan kecepatan tertinggi di dapat pada iterasi ke 4 dan kecepatan terendah pada iterasi ke 5. pada metode merge short kecepatan yang dihasilkan cukup tinggi rata-rata kecepatan yang dihasilkan 0.078 detik. pada metode quick short kecepatan yang dihasilkan paling tinggi di antara metode lainnya dengan rata-rata kecepatan 0.046 detik. kemudian pada motode shell short kecepatan yang di dapat juga tinggi dengan rata rata kecepatan yang di dapat 0.078.
dari data di atas dapat di simpulkan bahwa motode yang mempunyai kecepatan tertinggi adalah QUICK SHORT dan motode dengan kecepatan terlambat adalah BUBBLE SHORT



OKe guys itu aja yang bisa saya sharekan terimakasih
Salam ShareCode    
Hallo semua kali ini kita akan belajar apa itu searching  ????
haaaaaah searching ??

ya searching.  Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Tempat pencarian data dapat berupa array dalam memori(pencarian internal), bisa juga pada file pada external storage(pencarian external). yah itu saya kutip dari blog made yoga , 

dan kali ini saya akan jelasin 2 macam methode searching , apa itu ???
pertama adalah Metode Pencarian Beruntun (Sequential Search) dan 
kedua adalah metode Pencarian Bagi Dua (Binary Search).

Oke mari Kita Bahas , langsung ke prakteknya 



1. Sequential Search (Pencarian berurutan)
                Adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. 
Algoritma pencarian berurutan dapat dituliskan sebagai berikut :

kita mencari data 5 dari array [,1,2,4,3,5]

maka akan mengecek dari awal sampai data ketemu, jadi akan di periksa satu persatu , 
dengan cara membandingkan seperti ini 

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 4 False
apakah 5 = 3 False
apakah 5 = 5 True

jika ada ada di tengah maka akan berhenti ketika kondis menjadi true, dan tidak akan di ualang lagi  contoh  kita mencari data 5 dari array [,1,2,5,3,4]

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 5 True

Jika data sudah ketemu maka tdk akan diproses lagi :-)


oke kita cari dengan perulangan ekarang dengan soal di bawah , carilah data 40

didefinisikan 
diatas adalah aray X
x[0] = 100
x[1] = 50
x[2] = 40
x[3] = 66
x[4] = 20
x[5] = 10

kita cari dengan cara mengurutkan dengen perulangan 

i=0;
while(i <= 5){
     if(x[i]==40){
        alert("Data Ketemu");
     }else{
         i++;
      }
}

dari perulangan di atas akan mengecek satu persatu data array dan menyamakannya dengan data yg akan di cari .......
oke itu sedikit penjelasan tentang Sequential Search (Pencarian berurutan)

2. Pencarian Bagi Dua (Binary Search)
Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case) pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen penampung nilai dan membandingkan nilainya.
Algoritma dari binary search adalah:
1.      Tentukan posisi awal = 0 dan posisi akhir = N – 1
2.      Hitung posisi tengah = (posisi awal + posisi akhir) / 2
3.      Bandingkan data yang dicari dengan elemen posisi tengah
·      Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
·      Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
·      Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin 2.

Contoh soal


Carilah dengan menggunakan metode Sequansial search dan Binary search

1.      
Mencari x[17]
·         Sequansial Search
1. 17 != x[0] = yes = indeks ++
2. 17 != x[1] = no = Temukan x[1]  x[1] = 17

·         Binary Search
1. 0 + 7/2 = 3,5 = 3
2. 0 + 3/2 = 1,5 = 1
2.      Mencari x[23]
·         Sequensial Search
1. 23 != x[0] = yes = indeks ++
2. 23 != x[1] = yes = indeks ++
3. 23 != x[2] = no = Temukan x[2]   x[2] = 23
·         Binary Search
1. 0 + 7/2 = 3,5 = 3

2. 0 + 4/2 = 2

3.      Mencari x[78]
·           Sequansial Search
1. 78 != x[0] = yes = indeks ++
2. 78 != x[1] = yes = indeks ++
3. 78 != x[2] = yes = indeks ++
4. 78 != x[3] = yes = indeks ++
5. 78 != x[4] = yes = indeks ++
6. 78 != x[5] = no = Ketemu x[5]

·           Binary Search
1. 0 + 7/2 = 3,5 = 3

2. 0 + 5/2 = 2,5 = 2

Kesimpulan :
Dari pembahasan contoh soal di atas dapat disimpulkan bahwa jika mencari data yang sudah terurut maka metode yang paling efisien digunakan adalah metode Binary Search dan sebaliknya jika kita ingin mencari data yang teracak metode yang sebaiknya digunakan adalah metode Sequantial Search


penjeleasan binary search di dapat dari laman berikut INi

Oke guys kali ini cukup penjelasan saya untuk searching Terimakasih dan salam ShareCode
Yuk belajar bareng lagi tentang looping, oke hari ini kita akan belajar tentang apa looping dengan matrix 2 dimensi ,  (Nested Loop) yuk langsung aja ke initinya supaya kalian juga nggk pusing2 tentang tulisan yg nggk jelas ini :-D


Secara sederhana, perulangan bersarang atau dalam bahasa inggris sering disebut sebagai nested loop adalah perulangan di dalam perulangan

example

for(i=0; i<=3; i++){
     for(j=0; j<=5; j++){
         write ( i+','+j)
     }
}

di atas dapat di definisikan sebagi berikut:
i = 0 , apakah i lebih kecil sama dengan 3 ?
jika ya kerjakan perintah j = 0 apakah j lebih kecil sama dengan 5 ? Jika ya tulis i , j
perulangan akan terus berulang hingga kondisi perulangan j false, dan menghasilkan data sebagai berikut

i=0, dan j=0 hasilnya 0,0
i=0, dan j=1 hasilnya 0,1
i=0, dan j=2 hasilnya 0,2
i=0, dan j=3 hasilnya 0,3
i=0, dan j=4 hasilnya 0,4
i=0, dan j=5 hasilnya 0,5


dan perulangan berjalan lagi dengan nilai i yang berubah 

i=1, dan j=0 hasilnya 1,0
i=1, dan j=1 hasilnya 1,1
i=1, dan j=2 hasilnya 1,2
i=1, dan j=3 hasilnya 1,3
i=1, dan j=4 hasilnya 1,4
i=1, dan j=5 hasilnya 1,5

dan terus berulang sama seperti hasil diatas sampai nilai i false 


mari kita coba membuat matrik dengan perulangan di bawah ini 
for(int i=0; i<=3; i++)
     {
       for(int j=0; j<=2; j++)

             x(i,j) = i + j;
        }
    }

hasil datanya adalah :
perulangan i pertama
i=0, dan j=0 hasilnya 0+0  
i=0, dan j=1 hasilnya 0+1
i=0, dan j=2 hasilnya 0+2
perulangan i kedua
i=1, dan j=0 hasilnya 1+0  
i=1, dan j=1 hasilnya 1+1
i=1, dan j=2 hasilnya 1+2
perulangan i ketiga
i=2, dan j=0 hasilnya 2+0  
i=2, dan j=1 hasilnya 2+1
i=2, dan j=2 hasilnya 2+2
perulangan i keempat
i=3, dan j=0 hasilnya 3+0  
i=3, dan j=1 hasilnya 3+1
i=3, dan j=2 hasilnya 3+2

dari data di atas kita dapat dengan mudah membuat matriknya dengan menjadikan satu perulangan menjadi sebuah baris, dan perulangan selanjutnya menjadi kolom 


menjadi seperti ini 



baris 0 = perulangan 1 
baris 1 = perulangan 2
baris 2 = perulangan 3 
baris 3 = perulangan 4


ini sangat mudah sekali dibandingkan jika kalian harus mengerjakan dengan menulis satu-persatu kedalam matrik, mau membandingkan betapa mudahnya cara ini dengan yg lain ? Cek DIsini    


Oke itu sedikit ilmu dari saya trimakasih 
salah ShareCOde








Tuesday, 13 February 2018




memindahkan isi array matrix (2 Dimensi)

OKe Guys Kita akan bahas materi selanjutnya yaitu array 2 dimensi , tapi kali ini kita akan coba dengan yg sama seperti array kemaren yaitu kita akan memindahkan isi arraynya sesuai dengan parameter atau kondisi tertentu, hmmm bingung apa maksutnya , oke langsung aja ke TKP


sebelum kita ke soal saya akan kasih kalian kejelasan tentang warna2 dan tablenya agar kalian lebih paham :-D

jadi array 2 dimensi itu , bisa kita ambil nilainya dengan cara di panggil caranya adalah :

x[baris, kolom]

oke langsung ini adalah keterangan dari data yg akan kalian baca dan pelajari di bawah 







OKe ini dia contoh masalahnya , kita punya soal seperti ini


dan kita akan merubahnya menjadi seperti ini 




oke di sini kita akan memanggil dan memindahkan data dari data soal yg sudah ada , gimana caranya mari kita simak bersama2 ,

oke ini adalah tips dari saya, jika kalian akan memindahkan data dari soal seperti di atas
Tips pertama 

1. Jangan Pindahkan Data yg Single (Tidak Memiliki Copyan)

Tips Kedua 

2. Pindahkanlah berurutan agar mepermudah mendapat nilai evisien , namun tetap perhatikan Tips 1 , jika kondisi tidak memungkinkan maka lompati ke data array selanjutnya 


oke kita akan kerjakan soal di atas 

kita harus rubag dulu array x agar sama seperti yg di inginkan 





ada sebanyak 7 langkah untuk merubah array X sesuai dengan soal 
selanjutnya kita harus menyelesaikan array y nya 

oke ini di penyelesaian y 



ada 5 cara untuk menjadikan array y sesuai dengan soal jadi total untuk mengerjakan soal dengan tips yg pastinya evisien menghasilkan 12 proses untuk menyelesaikan masalah dari soal di atas , 

sekian dari saya Rexdev 
#sharecode #Shareilmu