1 of 53

Berpikir komputasi

2 of 53

Tujuan pembelajaran

Pada bab ini, diharapkan siswa dapat menjelaskan dan menerapkan algoritma standar untuk beberapa persoalan yang disajikan, menjelaskan bagaimana data disimpan dalam struktur data tertentu, dan menentukan strategi yang efektif untuk menyelesaikan persoalan yang disajikan.

2

3 of 53

Peta konsep berpikir komputasi

3

4 of 53

Berpikir komputasi

Berpikir secara komputasi

(berpikir seperti ilmuwan Informatika)

4

5 of 53

Berpikir komputasi

Proses berpikir dalam menyelesaikan masalah (problem solving), untuk menemukan solusi yang efisien, efektif, dan optimal sehingga solusinya bisa dijalankan oleh manusia maupun mesin.

6 of 53

Big concept

6

7 of 53

Decomposition (dekomposisi)

Kemampuan memecah data, proses atau masalah (kompleks) menjadi bagian-bagian yang lebih kecil atau menjadi tugas-tugas yang mudah dikelola

7

8 of 53

Pattern Recognition (pengenalan pola)

Kemampuan untuk melihat persamaan atau bahkan perbedaan pola, tren dan keteraturan dalam data yang nantinya akan digunakan dalam membuat prediksi dan penyajian data

8

9 of 53

abstraksi

Melakukan generalisasi dan mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren dan keteraturan tersebut

9

10 of 53

Algorithm Design

Mengembangkan petunjuk pemecahan masalah yang sama secara step-by-step, langkah demi langkah, tahapan demi tahapan sehingga orang lain dapat menggunakan langkah/informasi tersebut untuk menyelesaikan permasalahan yang sama

10

11 of 53

SEARCHING & SORTING

12 of 53

searching

12

1

13 of 53

Kwek, salah satu bebek Pak Dengklek akan segera merayakan ulang tahunnya. Pak Dengklek akan memberikan Kwek hadiah ulang tahun berupa sepatu. Terdapat N sepatu di toko.

Sepatu ke-i memiliki ukuran sebesar hi. Pak Dengklek tahu bahwa ukuran kaki Kwek adalah sebuah bilangan bulat X.

Karena N bisa jadi sangat besar, Pak Dengklek meminta bantuan kalian untuk mencari sepatu keberapa yang cocok dengan ukuran kaki Kwek. Bantulah dia!

ILUSTRASI 1

14 of 53

Misalkan kalian diberikan Kamus Besar Bahasa Indonesia (KBBI) yang mengandung 90.000 kata. Kalian kemudian ingin mencari definisi suatu kata pada KBBI.

Apakah kita sebagai manusia melakukan perbandingan sampai 90.000 kata?

ILUSTRASI 2

15 of 53

Tujuan Pembelajaran :

Siswa mampu memahami algoritma proses searching, baik yang sederhana maupun yang lebih efisien

16 of 53

Algoritma Pencarian (Searching Algorithm)

Algoritma yang digunakan untuk mencari lokasi dari sebuah data yang diberikan (disebut kata kunci) pada kumpulan data yang telah ada.

Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).

17 of 53

Algoritma Pencarian (Searching Algorithm)

  1. Sequential Search

data dalam keadaan acak atau tidak terurut

  1. Binary Search

data dalam keadaan urut

18 of 53

Sequential Search

19 of 53

Sequential Search

20 of 53

Binary Search

21 of 53

Binary Search

22 of 53

Referensi

http://matkul.xyz/5-algoritma-pencarian-dalam-pemrograman/

23 of 53

sorting

23

2

24 of 53

Pengurutan sering digunakan dalam pemrograman untuk membantu membuat data lebih mudah diolah.

25 of 53

Tujuan Pembelajaran :

  1. Siswa memahami beberapa algoritma proses sorting
  2. Siswa mampu menerapkan strategi algoritmik untuk menemukan cara yang paling efisien dalam proses sorting

26 of 53

Algoritma Pengurutan (Sorting Algorithm)

  1. Buble Sort

27 of 53

Algoritma Pengurutan (Sorting Algorithm)

  1. Buble Sort

Pengurutan yang dilakukan dengan membandingkan masing-masing item dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulanginya sampai akhir list secara berurutan, sehingga tidak ada lagi item yang dapat ditukar.

28 of 53

Algoritma Pengurutan (Sorting Algorithm)

2. Insertion Sort

29 of 53

Algoritma Pengurutan (Sorting Algorithm)

2. Insertion Sort

memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.

30 of 53

Algoritma Pengurutan (Sorting Algorithm)

3. Selection Sort

memilih elemen terkecil dari data, lalu pindahkan ke elemen pertama. Pilih elemen terkecil dari data yang tersisa, lalu pindahkan ke elemen kedua, dst.

31 of 53

Algoritma Pengurutan (Sorting Algorithm)

4. Shell Sort

Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu – sehingga membentuk sebuah sub-list-, kemudian dilakukan penukaran bila diperlukan.

Jarak tertentu diperoleh dari jumlah indeks / 2

32 of 53

33 of 53

34 of 53

35 of 53

36 of 53

Algoritma Pengurutan (Sorting Algorithm)

5. MergeSort

Algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer.

  • Divide : Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
  • Conquer : Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
  • Kombinasi : Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan

Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.

37 of 53

Algoritma Pengurutan (Sorting Algorithm)

38 of 53

Algoritma Pengurutan (Sorting Algorithm)

6. Quick Sort

- Divide

Penentuan pivot

- Conquer

Mengurutkan elemen dengan pivotnya.Jika lebih kecil maka diletakkan di sebelah kiri pivot, dan jika lebih besar diletakkan di kanan pivot.

39 of 53

40 of 53

41 of 53

42 of 53

Algoritma Pengurutan (Sorting Algorithm)

7. Heap Sort

Heap sort adalah sorting yang menggunakan struktur data heap, dengan nilai parent selalu lebih besar dari pada nilai childnya.

Algoritma :

- Buat suatu heap.

- Ambil isi dari root masukkan kedalam sebuah array.

- Hapus element root dengan mempertahankan properti heap.

- Ulangi sampai tree menjadi kosong

43 of 53

Referensi

https://phpmu.com/macam-macam-algoritma-sorting-dan-implementasi-dengan-php/

44 of 53

stack

44

3

45 of 53

Stack (tumpukan)

Stack adalah salah satu struktur data yang digunakan untuk menyimpan sekumpulan objek ataupun variabel

46 of 53

Stack (tumpukan)

47 of 53

Stack (tumpukan)

data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu

48 of 53

Istilah pada Stack

Push ⇒ menyimpan nilai ke dalam stack

Pop ⇒ mengeluarkan nilai yang berada di tumpukan paling atas

49 of 53

queque

49

4

50 of 53

Queque (antrian)

objek-objek disimpan dalam metode penyimpanan yang berupa sebuah antrean sehingga objek yang pertama/lebih dulu datang, juga akan lebih dulu keluar/selesai,

51 of 53

Queque (antrian)

52 of 53

Istilah pada Queque

Enqueque ⇒ menyimpan nilai ke dalam queque

Dequeque ⇒ mengeluarkan nilai yang berada di antrian pertama

53 of 53

Thank You