Bab II - Berfikir Komputasional

Unduh sebagai pptx, pdf, atau txt
Unduh sebagai pptx, pdf, atau txt
Anda di halaman 1dari 14

PREV JUDUL ISI MATERI NEXT

Bab untuk Kelas X SMA dan MA

II

Berpikir Komputasional
Perkembangan komputer telah membawa dampak perubahan yang sangat besar bagi manusia modern.
Berbagai permasalahan dapat diselesaikan dengan lebih cepat, efektif, dan efisien. Pekerjaan kantor
seperti surat-menyurat, pembuatan laporan, dan pembuatan catatan keuangan menjadi sangat mudah
diselesaikan dengan menggunakan aplikasi kantor. Di rumah sakit, proses pendaftaran, pencatatan data
riwayat kesehatan, dan data riwayat tindakan sudah terintegrasi sehingga pelayanan serta penanganan
pasien menjadi lebih efektif dan efisien. Masih banyak contoh serupa yang dapat Anda jumpai dalam
berbagai aspek kehidupan. Dari semua itu, Anda dapat menyimpulkan bahwa komputer sangat
membantu manusia menyelesaikan permasalahan.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Isi Materi

A. Pengertian Berpikir Komputasi


(Computational Thinking)
B. Pencarian (Searching)

C. Pengurutan (Sorting)

D. Tumpukan (Stack) dan Antrean (Queue)


PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

A. Pengertian Berpikir Komputasi (Computational


Thinking)
Berpikir komputasi (computational thinking) adalah sebuah metode pemecahan
masalah dengan mengaplikasikan/melibatkan teknik yang digunakan oleh
software engineer dalam menulis program. Berpikir komputasi bukan berarti
berpikir seperti komputer, melainkan berpikir tentang komputasi di mana
seseorang dituntut untuk (1) memformulasikan masalah dalam bentuk masalah
komputasi dan (2) menyusun solusi komputasi yang baik (dalam bentuk
algoritma) atau menjelaskan mengapa tidak ditemukan solusi yang sesuai.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Langkah-langkah berpikir komputasi meliputi dekomposisi (decomposition),


pengenalan pola (patern recognition), abstraksi dan generalisasi pola (patern
abstraction and generalization), serta rancangan algoritma.

Dekomposisi Membagi permasalahan tersebut menjadi masalah-


masalah yang lebih kecil. Kemudian, gabungkan
penyelesaian dari pecahan masalah-masalah
tersebut untuk mendapatkan penyelesaian akhir
dari masalah semula.

Pengenalan Pola Melihat kemiripan pola masalah kecil satu dengan


masalah kecil yang lain.

Abstraksi Berpikir komputasi yang memungkinkan Anda untuk


membentuk model yang lebih umum dari
permasalahan yang akan diselesaikan.

Generalisasi Pola Membuat model, aturan, prinsip, dan teori dari pola
yang sudah diobservasi. Dengan kata lain,
pengenalan pola (pattern recogniton)
menggambarkan hubungan antarvariabel untuk
mewakili permasalahan secara akurat.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Rancangan Algoritma Menyatakan solusi tersebut berupa urutan


langkah-langkah yang pasti sehingga
memudahkan siapa saja yang akan
menyelesaikan masalah serupa. Rancangan
algoritma membawa masalah dari tahap
permodelan (modelling) ke tahap operasi.

Pada contoh permasalahan menghitung biaya kalung manik-manik, Anda


bisa membuat algoritma berikut.
Algoritma harga kalung manik-manik.
a. Dapatkan masing-masing harga bahan penyusun dan banyaknya.
b. Hitung biaya masing-masing bahan penyusun, yaitu biaya bahan = harga
bahan per satuan × banyak bahan.
c. Hitung biaya total, yaitu jumlah semua biaya bahan.
d. Selesai.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

B. Pencarian (Searching)
Ada beberapa teknik pencarian yang bisa Anda lakukan, seperti pencarian
sekuensial (sequential search), pencarian biner (binary search), interpolation
search, dan sebagainya. Namun, dalam bab ini hanya dibahas dua teknik
pencarian, yaitu pencarian sekuensial (sequential search) dan pencarian biner
(binary search).

Pencarian Sekuensial (Sequential Search)


Pencarian Beruntun pada Data Tidak Terurut
Langkah-Langkah:
1) Periksalah, data pertama sama dengan nilai kunci atau tidak! Jika sama maka
proses pencarian berhenti. Jika tidak, periksa posisi berikutnya!
2) Pada posisi data ke-i, periksalah, data ke-i sama dengan nilai kunci atau tidak!
Jika sama maka proses pencarian berhenti. Jika tidak, periksa posisi
berikutnya!
3) Jika semua data sudah diperiksa dan tidak ditemukan data yang sama dengan
nilai kunci maka pencarian berhenti. Kesimpulannya, data yang dicari tidak
ada.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Pencarian Beruntun pada Data Terurut


Langkah-langkah pencarian sekuensial pada data terurut dari kecil ke
besar.
1) Mulai dari posisi pertama, bandingkan data dengan kunci! Jika
nilainya sama maka berhenti. Artinya, data sudah ditemukan. Jika
tidak sama maka periksalah: apakah data > kunci? Jika iya maka data
yang dicari tidak ada. Jika data < kunci, periksalah data pada posisi
berikutnya!
2) Pada posisi data ke-i, bandingkan data dengan kunci! Jika nilainya
sama maka berhenti. Artinya, data sudah ditemukan. Jika tidak sama
maka periksalah: apakah data > kunci? Jika iya maka data yang dicari
tidak ada. Jika data < kunci, periksa data pada posisi ke-i + 1!
3) Jika semua data sudah diperiksa dan tidak ada data yang sama
dengan kunci maka proses pencarian berhenti, dengan kesimpulan
data tidak ditemukan.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Pencarian Biner (Binary Search)

• Ide dasar pencarian biner adalah membagi data menjadi dua


bagian sama panjang. Kunci pencarian dibandingkan dengan
nilai tengah data untuk menentukan posisi data kunci
berada. Jika data kunci sama dengan nilai tengah maka
dinyatakan berhasil.
• Jika data kunci lebih dari nilai tengah maka pencarian
dilanjutkan pada sub-array sebelah kiri. Jika data kunci lebih
dari nilai tengah maka pencarian dilakukan pada sub-array
bagian kanan.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

C. Pengurutan (Sorting)
Algoritma pengurutan (sorting) digunakan untuk mengatur ulang array atau
elemen daftar yang diberikan sesuai dengan operator perbandingan pada
elemen. Operator perbandingan digunakan untuk menentukan urutan elemen
baru dalam struktur data masing-masing. Misalnya, huruf-huruf di bawah ini
diurutkan sesuai urutan abjad.
Input (sorting) Output
s, o, r, t, i, n, g ⇒ g, i, n, o, r, s, t
Atau, contoh sederhana berupa pengurutan bilangan.
Input (sorting) Output
1, 7, 0, 1, 9, 4, 5 ⇒ 0, 1, 1, 4, 5, 7, 9
Ada banyak teknik dalam algoritma sorting, di antaranya yang cukup
dikenal adalah
- Selection Sort,
- Bubble Sort,
- Insertion Sort,
- Merge Sort,
- Quick Sort, dan
- Shell Sort.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

1. Selection Sort
Langkah-langkah maka sebagai berikut.
a. Tentukan nilai minimum dari semua deretan data, tukarkan dengan data
pada posisi pertama!
b. Pada langkah ke-2, tentukan nilai minimum dari data bernomor 2 sampai
terakhir, kemudian tukarkan isi data dengan nilai minimum dengan data
pada posisi ke-2!
c. Pada langkah ke-i, lakukan langkah seperti nomor 2, tentukan nilai
minimum dari data bernomor i sampai n, kemudian tukarkan isi data
dengan nilai minimum dengan data pada posisi ke-i!
d. Hentikan pengurutan sampai langkah ke-i = n - 1!
2. Bubble Sort
Caranya dengan membandingkan setiap data yang bersebelahan dan
menukarkannya jika urutannya salah (nilai yang lebih besar di sebelah kiri dari
nilai yang lebih kecil). Untuk memudahkan penjelasan, Anda akan
menggunakan istilah array untuk susunan data. A=[5 1 4 2 8] berarti array atau
deretan data dengan nilai berturut-turut 5, 1, 4, 2, 8 (disebut elemen array).
Untuk mengakses array digunakan notasi A[i] yang menunjukkan nilai data A
pada posisi ke-i. Hal ini dapat dituliskan A[1]=5, A[2]=1, dan seterusnya hingga
A[5]=8.
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

D. Tumpukan (Stack) dan Antrean (Queue)


Stack dapat diartikan sebagai tumpukan. Anda dapat membayangkannya
seperti tumpukan pakaian, tumpukan buku, atau tumpukan kartu.
Tumpukan-tumpukan itu merupakan contoh stack dalam kehidupan
sehari-hari.
• Stack atau tumpukan adalah bentuk struktur data yang menerapkan
prinsip last in first out, di mana data yang terakhir kali masuk maka ia
pertama kali keluar. Hal ini seperti tumpukan baju. Baju yang pertama
kali diletakkan pada tumpukan maka posisinya paling bawah. Adapun
baju yang diletakkan terakhir kali dalam tumpukan berada pada posisi
paling atas. Mengambil baju agar tidak merusak tumpukan seharusnya
diambil dari atas agar tidak merusak kerapian. Oleh karena itu, baju
terakhir yang masuk pada tumpukan merupakan baju yang pertama
kali dapat diambil.
• Adapun baju yang pertama kali masuk menjadi baju yang paling akhir
dikeluarkan dari tumpukan. Istilah memasukkan data dalam stack
disebut dengan push, sedangkan mengeluarkan data disebut dengan
pop. Untuk lebih jelasnya, perhatikan ilustrasi berikut!
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

Operasi push adalah memasuk- Operasi pop adalah mengeluarkan


kan data ke dalam tumpukan sebuah data dari tumpukan
(stack). Perhatikan contoh ber- (stack). Perhatikan contoh berikut,
ikut, yaitu diberikan operasi push yaitu diberikan stack dengan
nilai data 34 pada stack! operasi pop!
PREV JUDUL ISI MATERI NEXT
untuk Kelas X SMA dan MA

2. Queue
Queue atau antrean adalah bentuk struktur data yang menerapkan prinsip first
in first out, di mana data yang pertama kali masuk maka ia pertama kali keluar.
Ini seperti antrean di kasir. Orang yang pertama datang ke kasir merupakan
orang yang pertama kali dilayani dan keluar dari antrean. Operasi dalam queue
ada dua, yaitu enqueue (memasukkan data pada antrean) dan dequeue
(mengeluarkan data dari antrean).

Anda mungkin juga menyukai