array satu dimensi vita kumalajati_0320110017

79
Pemograman I Array satu dimensi VVita kumala jati 0320110027 Present....

Upload: vita-kumala-jati

Post on 17-Jun-2015

289 views

Category:

Documents


2 download

DESCRIPTION

Pengenalan Array Satu Dimensi

TRANSCRIPT

  • 1. Pemograman I Array satu dimensi VVita kumala jati 0320110027 Present....

2. Sort Array satu Dimensi Bubble sort Selection sort Insection sort Shell sort Marge sort Radix sort Quick sort Heap sort 3. Bubble Sort : gelembung terbesar angka naik 9, 6, 2, 12, 11, 9, 3, 76, 9, 2, 12, 11, 9, 3, 76, 2, 9, 12, 11, 9, 3, 76, 2, 9, 12, 11, 9, 3, 76, 2, 9, 11, 12, 9, 3, 76, 2, 9, 11, 9, 12, 3, 76, 2, 9, 11, 9, 3, 12, 76, 2, 9, 11, 9, 3, 7,12 lebih besar daripada 7 sehingga mereka dipertukarkan. 12 lebih besar daripada 3 sehingga mereka dipertukarkan. 12 lebih besar dari 9 sehingga mereka dipertukarkan 12 lebih besar dari 11 sehingga mereka dipertukarkan. Dalam perbandingan ketiga, 9 adalah tidak lebih besar dari 12 sehingga tidak ada pertukaran dibuat. Kami melanjutkan lagi membandingkan pasangan berikutnya tanpa merubah daftar. Sekarang pasangan nomor berikutnya dibandingkan. Sekali lagi 9 adalah lebih besar dan begitu pasangan ini juga dipertukarkan. Bubblesort membandingkan angka-angka dalam pasangan dari kiri ke kanan bertukar bila diperlukan. Berikut nomor pertama dibandingkan dengan yang kedua dan lebih besar karena itu mereka dipertukarkan. Di akhir telah tercapai jadi ini adalah akhir tahap pertama. 12 di akhir daftar harus jumlah terbesar dalam daftar sehingga sekarang dalam posisi yang benar. Kami sekarang memulai tahap baru dari kiri ke kanan. 4. Bubble Sort Example 6, 2, 9, 11, 9, 3, 7, 12 2, 6, 9, 11, 9, 3, 7, 12 2, 6, 9, 9, 11, 3, 7, 12 2, 6, 9, 9, 3, 11, 7, 12 2, 6, 9, 9, 3, 7, 11, 12 6, 2, 9, 11, 9, 3, 7, 12 Perhatikan bahwa kali ini kita tidak perlu membandingkan dua angka terakhir seperti yang kita tahu 12 berada dalam posisi benar dan sudah disimpan. Tahap ini hanya membutuhkan 6 perbandingan. First Pass Second Pass 5. Bubble Sort 2, 6, 9, 9, 3, 7, 11, 12 2, 6, 9, 3, 9, 7, 11, 12 2, 6, 9, 3, 7, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Kali ini 11 dan 12 berada di posisi yang benar dan sudah disimpan . Tahap ini hanya membutuhkan 5 perbandingan. 6. Bubble Sort 2, 6, 9, 3, 7, 9, 11, 12 2, 6, 3, 9, 7, 9, 11, 12 2, 6, 3, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Masing-masing membutuhkan perbandingan. Kali ini hanya 4 yang diperlukan. 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass 7. Bubble Sort 2, 6, 3, 7, 9, 9, 11, 12 2, 3, 6, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Daftar sekarang diurutkan tetapi algoritma tidak tahu ini sampai selesai tahap tanpa pertukaran. 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass 2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass 8. Bubble Sort 2, 3, 6, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass 2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass Sixth Pass 2, 3, 6, 7, 9, 9, 11, 12 Tahap ini tidak ada pertukaran yang dibuat sehingga algoritma mengetahui daftar diurutkan. Oleh karena itu dapat menghemat waktu dengan tidak melakukan tahap akhir. Dengan memeriksa daftar lain ini bisa menyimpan pekerjaan banyak lagi. 9. Selection Sort : bandingkan pindahkan urutkan 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 10. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 11. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 12. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 13. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 14. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 15. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan 16. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan Largest 17. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 18. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 19. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 20. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 21. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 22. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 23. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan 24. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan Largest 25. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 26. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 27. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 28. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 29. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 30. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 31. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan Largest 32. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 33. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 34. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 35. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 36. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 37. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan Largest 38. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 39. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 40. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 41. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan 42. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan Largest 43. Selection Sort 1 2 3 4 5 6 Comparison Data Movement Sorted 44. Selection Sort 1 2 3 4 5 6 Comparison Data Movement Sorted DONE! 45. Insection sort Sebuah algoritma sederhana Membutuhkan N-1 melewati array yang akan diurutkan (dengan ukuran N). Untuk melewati p = 1 sampai N Memastikan bahwa unsur-unsur dalam posisi 0 sampai p dalam rangka diurutkan. 46. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 46 Example 34 8 64 51 32 21 Array to be sorted. N = 6 47. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 47 34 8 64 51 32 21 Compare 8 34 64 51 32 21 move 8 34 64 51 32 21 insert Current Item Pass 1 48. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 48 8 34 64 51 32 21 64 Current Item compare Pass 2 49. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 49 8 34 64 51 32 21 51 Current Item 8 34 64 32 21 move 8 34 51 64 32 21 insert compare compare Pass 3 50. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 50 8 34 51 64 32 21 32 Current Item compare 8 34 51 64 21 move compare 8 34 51 64 21 move compare 8 34 51 64 21 move compare 8 32 34 51 64 21 insert Pass 4 51. Shell sort lebih efisien daripada jenis Bubble, Insertion dan Seleksi membandingkan item jauh pertama dan bekerja jalan ke item di dekatnya interval disebut kesenjangan dalam implementasi sederhana, kesenjangan dimulai pada satu-setengah panjang daftar dan dibelah dua berturut- turut sampai setiap item dibandingkan dengan tetangga 52. Shell Sort An array and the subarrays formed by grouping elements whose indices are 6 apart. 53. Shell Sort The subarrays of the previous figure after they are sorted, and the array that contains them. 54. Shell Sort The subarrays of the array in previous figure formed by grouping elements whose indices are 3 apart 55. Shell Sort The subarrays of previous figure after they are sorted, and the array that contains them. 56. Merge Sort Prinsip utama yang diimplementasikan pada algoritma merge-sort seringkali disebut sebagai pecah-belah dan taklukkan cara kerja algoritma merge sort adalah membagi larik data yang diberikan menjadi dua bagian yang lebih kecil. Kedua larik yang baru tersebut kemudian akan diurutkan secara terpisah. Setelah kedua buah list tersusun, maka akan dibentuk larik baru sebagai hasil penggabungan dari dua buah larik 57. Example Partition into lists of size n/2 [10, 4, 6, 3] [10, 4, 6, 3, 8, 2, 5, 7] [8, 2, 5, 7] [10, 4] [6, 3] [8, 2] [5, 7] [4] [10] [3][6] [2][8] [5][7] 58. Example Contd Merge [3, 4, 6, 10] [2, 3, 4, 5, 6, 7, 8, 10 ] [2, 5, 7, 8] [4, 10] [3, 6] [2, 8] [5, 7] [4] [10] [3][6] [2][8] [5][7] 59. Radix Sort Merupakan mengurutkan angka berdasarkan letak digit. 1. Tentukan berapa jumlah digit terbanyak dalam suatu bilangan deret. 2. Siapkan indek 0-9 sebagai satuan, urutkan dari kiri ke kanan. 3. Siapkan indek 0-9 sebagai puluhan, urutkan dari kiri ke kanan. 4. Lakukan hal yang sama untuk kamar indek, sampai semua digit angka habis dibandingkan. 60. 60 CONTOH RADIX SORT 12 44 41 34 11 32 23 Misal masukkan 15 integer seperti array diatas. Bila kita urutkan dengan radix sort , maka akan seperti dibawah ini : 23 44 34 12 42 32 41 11 0 1 2 3 4 5 6 7 8 9 5087 77 77 50 87 58 58 08 0842 61. 61 CONTOH RADIX SORT 50 Kita tulis lagi seperti dibawah ini : Kita urutkan lagi menggunakan radix sort 11 12 23 32 34 41 42 44 Jadi hasil akhir seperti dibawah ini 12 42 444111 3223 34 12 42 4441 3411 32 23 77 58 08 0 1 2 3 4 5 6 7 8 9 50 877708 08 50 77 87 58 58 87 62. QUICK SORT Algoritma pengurutan data yang paling cepat dan paling banyak di gunakan dalam pengurutan data. Proses pengurutannya yaitu dengan membagi-membagi data menjadi beberapa partisi-partisi kemudian di bandingkan dalam partisi-partisi tersebut. 63. Langkah-langkah : Bila bilangan genap,gunakan rumus Genap = Bilangan ganjil,gunakan rumus Ganjil = Syarat : Kiri bernilai kecil,kanan bernilai besar Tentukan pivot Bandingkan ujung awal dengan ujung akhir tentukan pivot dengan rumus disamping Tentukan arah pivot dengan syarat jika salah satu nilai disebelah kiri pivot ada yang lebih besar dari pivot maka pivot ke kiri, else ke kanan Ulangi tahap dari awal sampai angka urut. 64. Contoh Quick Short 47 91 90 31 63 18 21 Misalkan data seperti berikut: 47 p 91 90 31 pivot 63 18 21 q Langkah 1 Langkah 2 dan 3 47 p 91 90 31 pivot 63 18 21 q 65. Langkah 4 21 p 91 90 31 pivot 63 18 47 q Langkah 2 dan 3 21 91 p 90 31 pivot 63 18 q 47 21 18 p 90 31 pivot 63 91 q 47 Langkah 4 66. Langkah 2 dan 3 21 18 90 p 31 pivot 63 q 91 47 21 18 63 p 31 pivot 90 q 91 47 Langkah 4 Langkah 2 dan 3 21 18 63 p 31 Pivot q 90 91 47 21 18 31 Pivot p 63 q 90 91 47 Langkah 4 67. 18 Pivot p 21 q Langkah 4 Karena setelah sampai di pivot, p