Berpikir komputasi
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
Peta konsep berpikir komputasi
3
Berpikir komputasi
Berpikir secara komputasi
(berpikir seperti ilmuwan Informatika)
4
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.
Big concept
6
Decomposition (dekomposisi)
Kemampuan memecah data, proses atau masalah (kompleks) menjadi bagian-bagian yang lebih kecil atau menjadi tugas-tugas yang mudah dikelola
7
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
abstraksi
Melakukan generalisasi dan mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren dan keteraturan tersebut
9
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
SEARCHING & SORTING
searching
12
1
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
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
Tujuan Pembelajaran :
Siswa mampu memahami algoritma proses searching, baik yang sederhana maupun yang lebih efisien
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).
Algoritma Pencarian (Searching Algorithm)
data dalam keadaan acak atau tidak terurut
data dalam keadaan urut
Sequential Search
Sequential Search
Binary Search
Binary Search
Referensi
http://matkul.xyz/5-algoritma-pencarian-dalam-pemrograman/
sorting
23
2
Pengurutan sering digunakan dalam pemrograman untuk membantu membuat data lebih mudah diolah.
Tujuan Pembelajaran :
Algoritma Pengurutan (Sorting Algorithm)
Algoritma Pengurutan (Sorting Algorithm)
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.
Algoritma Pengurutan (Sorting Algorithm)
2. Insertion Sort
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.
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.
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
Algoritma Pengurutan (Sorting Algorithm)
5. MergeSort
Algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer.
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.
Algoritma Pengurutan (Sorting Algorithm)
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.
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
Referensi
https://phpmu.com/macam-macam-algoritma-sorting-dan-implementasi-dengan-php/
stack
44
3
Stack (tumpukan)
Stack adalah salah satu struktur data yang digunakan untuk menyimpan sekumpulan objek ataupun variabel
Stack (tumpukan)
Stack (tumpukan)
data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu
Istilah pada Stack
Push ⇒ menyimpan nilai ke dalam stack
Pop ⇒ mengeluarkan nilai yang berada di tumpukan paling atas
queque
49
4
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,
Queque (antrian)
Istilah pada Queque
Enqueque ⇒ menyimpan nilai ke dalam queque
Dequeque ⇒ mengeluarkan nilai yang berada di antrian pertama
Thank You