Anda di halaman 1dari 8

2023

MENERAPKAN BERPIKIR
KOMPUTASIONAL DALAM
PEMROGRAMAN

OLEH : NI PUTU YUNITA SUSANDI PUTRI, S.PD., GR


SMA NEGERI 1 TABANAN

NI PUTU YUNITA SUSANDI PUTRI, S.PD., GR | SMA Negeri 1 Tabanan


A. Berbagai Algoritma untuk Solusi Masalah
Algoritma komputer dikembangkan untuk menjalankan proses yang akan menjadi sebuah
solusi yang optimal. Semakin banyak jenis persoalan yang harus diselesaikan, maka semakin
banyak juga algoritma yang dikembangkan.

1. Hubungan Masalah, Algoritma, dan Solusi


Misalkan kalian mempunyai saudara yang tinggal di Singaraja dan akan berulang tahun.
Sementara kalian tinggal di Tabanan dan harus bekerja. Kalian akan membelikan hadiah
ulang tahun saudara kalian tersebut. Masalahnya bagaimana caranya agar hadiah tersebut
sampai ke saudara kalian yang ulang tahun.
Akan ada beberapa hal yang terpikirkan oleh kaliaan.
1. Kalian akan mengirimkan dengan jasa pengiriman kilat agar dapat mengirimkan
kadonya tepat waktu
2. Menyewa transportasi untuk orang tua dan menyuruh orang tua yang datamg ke
Singaraja
3. Menyewa jasa sopir untuk orang tua dan menyuruh orang tua kesana dengan mobil
pribadi yang dikendarai oleh sopir
Cerita diatas merupakan ilustrasi yang cocok untuk menjelaskan apa yang dimaksud
dengan masalah, perangkat bantu (tools), algoritma, dan solusi. Masalah dapat
didefinisikan sebagai suatu kondisi yang tidak diinginkan atau tidak menyenangkan atau
sesuatu yang harus diselesaikan. Pada kasus di atas adalah bagaimana mengantar hadiah
ulang tahun ke Singaraja.
Pada kasus diatas, ada beberapa perangkat bantu yang dapat digunakan diantaranya jasa
pengiriman, jasa penyewaan mobil dan sopir, dan mobil pribadi. Perangkat bantu yang
ada digunakan untuk menyusun rencana penyelesaian masalah. Rencana penyelesaian
masalah disebut dengan algoritma. Algoritma adalah prosedur atau cara yang digunakan
untuk menyelesaikan suatu permasalahan. Dari ketiga algoritma yang direncakan, kalian
memilih satu algoritma sebagai solusi dari permasalahan kalian. Solusi dapat didefinisikan
sebagai proses atau tindakan yang memecahkan masalah. Algoritma bukan merupakan
solusi, melainkan hanya rencana solusi. Algoritma akan menjadi solusi ketka algoritma
tersebut dijalankan dan tepat menyelesaikan permasalahan yang sedang dihadapi.
Masalah yang diselesaikan dengan menggunakan bantuan komputer (Berbasis komputer)
juga menggunakan prinsi yang sama seperti penyelesaian masalah di atas. Anda akan
memiliki berbagai perangkat yang dapat digunakan sebagai tools :
1) Komputer berfungsi sebagai perangkat bantu
2) Algoritma merupakan sebuah rencana yang akan dijalankan untuk menyelesaiakn
sebuah permasalahan. Algoritma didesain oleh seseorang yang ahli membuat
algoritma.
3) Algoritma harus diterjemahkan menjadi kode program dan menghasilkan sebuah
program komputer. Hal tersebut dilakukan dengan aplikasi pemrograman atau
kompiler. Orang yang ahli menerjemahkan algoritma ke dalam bahasa
pemrograman adalah programmer. Umumnya programmer juga ahli membuat
algoritma.
4) Program komputer kemudian dijalankan dan dari proses tersebut dihasilkan solusi
dari masalah yang ada.
2. Membuat Algoritma
Algoritma merupakan rencana untuk menyelesaiakan masalah. Sebagai rencana solusi,
algoritma dapat dituliskan dengan berbagai cara, baik menggunakan bahasa formal,
menggunakan grafis, maupun menggunakan notasi-notasi matematik. Ada beberapa
langkah penting yang dilakukan ketika mengembangakan algoritma sebagai rencana
untuk menyelesaikan masalah. Selanjutnya algoritma tersebut diterjemahkan menjadi
kode program menggunakan bahasa pemrograman yang dipilih. Proses mengembangkan
algoritma dapat dilakukan dengan langkah-langkah beikut:
1) Identifikasi dan deskripsi masalah
2) Analisis masalah
3) Membangun algoritma level tinggi
4) Menambah detail algoritma
5) Memeriksa algoritma

a) Identifikasi dan Deskripsi Masalah


Kesalahan yang sering terjadi membangun algoritma adalah gagal menemukan
masalah yang sebenarnya. Akibatnya, solusi yang dihasilkan menjadi tidak tepat.
Setelah masalah diidentifikasi dengan benar, maka selanjutnya masalah tersebut perlu
dideskripsikan dengan jelas. Jika pemilik masalah adalah orang lain dan kalian hanya
membantu untuk mencari solusi, maka perlu dilakukan diskusi agar tidak ada
perbedaan penafsiran dari masalah yang ada.
b) Analisis Masalah
Langkah berikutnya adalah menganalisis masalah. Pada tahap ini perlu pemahaman
kondisi dimana masalah diselesaikan. Ketika menentukan kondisi awal, ada beberapa
hal yang perlu ditanyakan dan dicari jawabannya, antara lain :
1. Data-data apa saja yang tersedia?
2. Dimana data-data tersebut, bagaimana mendapatkannya?
3. Rumus apa saja yang perlu digunakan, yang berhubungan dengan masalah ?
4. Aturan apa saja yang digunakan, yang berhubungan dengan masalah ?
5. Apa hubungan yang terjadi pada nilai-nilai data tertentu ?
Ketika menentukan kondisi akhir, kita perlu mendeskripsikan kondisi akhir yang
diinginkan dari solusi. Dengan kata lain, bagaimana kita akan tahu kalau masalah
sudah diselesakan. Beberapa pertanyaan yang mungkin dapat digunakan untuk
menentukan kondisi akhir, antara lain :
1. Apa fakta baru yang akan dimiliki, yang membedakan dengan kondisi awal ?
2. Apa hal-hal yang akan diselesaikan?
3. Apa hal-hal yang akan berubah?
4. Perubahan apa yang akan dibuat pada masalah yang ditemukan ?
5. Apa hal-hal yang tidak akan ada lagi ?

3. Membangun Algoritma Level Tinggi


Algoritma adalah sebuah rencana untuk menyelesaikan sebuah masalah. Namun, sebuah
rencana dapat dibagi ke dalam beberapa tinkatan detail. Ketika membuat sebuah rencana,
disarankan untuk terlebih dahulu membuat dalam level tinggi yang memuat bagian-bagian
utama dalam rencana dan meninggalkan bagian-bagian detail untuk diselesaikan
kemudian.
Sebagai contoh, misalhakn kita ingin membuat rencana untuk masalah sehari-hari sebagai
penjelasan bagaimana membuat sebuah algoritma level tinggi.
Masalah : kalian ingin membeli sesuatu sebagai hadiah ulang tahun untuk saudara kalian
yang bernama Anton di Singaraja
Analisis : Anton suka berolahraga dan kalian akan membelikan sepatu olahraga untuknya.
Algoritma level tinggi untuk masalah tersebut adalah sebagai berikut.
a. Pergi ke toko sepatu
b. Pilih sepatu yang sesuai
c. Beli sepatu
d. Bungkus sepatu
e. Pergi ke jasa pengiriman
f. Kirimkan sepatu
Algoritma diatas merupakan algoritma level tinggi dimana masih menyisakan berbagai
pertanyaan detail yang perlu dijawab, antara lain: Bagaimana cara pergi ke toko sepatu ?
Kapan pergi ke toko sepatu ? Toko sepatu yang mana ? Berapa anggaran untuk membeli
sepatu ? Jasa pengiriman mana yang akan digunakan? Dan beberapa hal detail lainnya.
Semua detail ini akan diselesaikan pada tahap berikutnya.
4. Menambahkan detail pada Algoritma
Tahap ini akan menambahkan detail pada langkah-langkah utama yg dijelaskan pada
algoritma level tinggi. Pertanyaan yang sering muncul adalah seberapa detail langkah-
langkah yang perlu ditambahkan. Sayangnya tidak ada buku panduan yang menentukan
seberapa detail sebuah algoritma harus dibuat. Pertanyaannya adalah siapa atau apa yang
akan mengimplementasikan algoritma tersebut. Pada prinsipnya, tuliskan sebuah
algoritma sampai yang mengerjakan atau mengimplementasikan algoritma tersebut
mengetahui apa yang harus dilakukan, sehingga tidak salah menerjemahkan apa yang
diingikan oleh yang mendesain program.
Sebagai contoh, pada kasus membeli sepatu hadiah ulang tahun Anton. Akan sangat
berbeda detail yang harus direncanakan jika yang membeli sepatu tersebut adalah anda
sendiri, orang tua anda, sepupu anda yang kenal Anton, atau teman anda yang tidak
berteman denganAnton. Detail dari rencana akan berbeda dan semua itu tergantung
seberapa dekat dan kenal orang menjalankan rencana tersebut dengan Anton.
Banyak kasus ketika membuat algoritma program komputer, tahapan pembuatan detail
algoritma level tinggi dan algoritma yang lebih detail dibuat dalam satu langkah. Namun
hal ini bergantung pada kasus yang sedang dikerjakan. Pada masalah yang lebih
kompleks, algoritma level tinggi akan diterjemahkan menjadi algoritma yang lebih detail
dengan beberapa tahapan sampai nilai cukup. Setiap tahapan akan ditambahkan langkah-
langkah yang lebih detail dari level sebelumnya.

5. Memeriksa Algoritma
Langkah terakhir adalah memeriksa ulang algoritma. Pada tahap ini, pertama kita perlu
memeriksa langkah demi langkah yang dilakukakn oleh algoritma yang sudah dirancang
untuk memastikan apakah algoritma tersebut akan menyelesaikan masalah atau tidak.
Setelah memastikan bahwa algoritma akan mampu menyelesaikan masalah, maka langkah
beikutnya adalah memeriksa apakah algoritma dapat menjawab pertanyaan-pertanyaan
berikut :
a) Apakah algoritma dapat menyelesaikan masalah tertentu saja atau dapat
menyelesaikan masalah secara umum? Sebagai contoh, jika kita membuat algoritma
yang akan digunakan untuk menghitung luas segitiga, apakah algoritma tersebut dapat
menyelesaiakan luas segitiga = alas x tinggi x 0.5 atau hanya menyelesaikan masalah
untuk panjang alas dan tinggi yang tertentu saja.
b) Dapatkah algoritma dibuat menjadi lebih sederhana ? misalnya : “keliling persegi
panjang= panjang+lebar+panjang+lebar”
Fungsi tersebut dapat dibuat menjadi lebih sederhana :
“Keliling persegi panjang = 2 x (panjang + lebar)”
c) Apakah solusi yang diberikan algoritma dapat digunakan juga untuk masalah yang
lain ? apakah solusi ini dapat serupa dengan solusi pada masalah lain? Apa persamaan
dari solulsi ini dengan solusi masalah lain? Apa perbedaan dari solusi ini dengan solusi
masalah lain ?

Contoh Kasus :

Seekor tikus ingin mengambil keju yang ada di posisi tertentu seperti pada gambar diatas.
Keju tersebut akan dibawa ke rumahnya untuk memberi makan anak-anaknya. Tikus (T)
tersebut berjaga di sebelah kiri rumahnya. Untuk melakukan hal tersebut, induk tikus
dapat berjalan ke depan, belok kiri, belok kanan, mengambil keju (K), kemudian pergi ke
sarangnya (S). Langkah-langkah penyelesaian masalah tersebut ditunjukkan oleh
infografis berikut.
a) Identifikasi dan Deskripsikan Masalah
Hal pertama yang harus dilakukan untuk membangun algoritma untuk kasus di atas
adalah membuat statemen
b) Analisis Masalah
Selanjutnya, kita dapat menganalisis masalah dan menemukan beberapa hal penting
seperti posisi keju, posisi rumah, job setelah memberikan keju, dan lintasan yang akan
ditempuh.
c) Menulliskan Algoritma Level Tinggi
Tuliskan hal-hal yang perlu dilakukan oleh tikus, seperti ambil keju, bawa keju ke
rumah, dan pergi ke samping rumah
d) Menuliskan algoritma secara detail
Algoritma yang sudah ada dibuat menjadi lebih detail. Pada tahap ini dapat dilakukan
proses berulang-ulang (iterasi) sampai algoritma menjadi sedetail mungkin
e) Memeriksa Algoritma
Langkah terakhir dari sebuah proses menyusun algoritma adalah memeriksa kembali
algoritma yang sudah dibuat.

Berikut penjelasan lebih detail dari langkah-langkah pada infografis tersebut.


Langkah 1 : Identifikasi dan deskripsikan masalah
Hal pertama yang harus dilakukan untuk membangun algoritma untuk kasus diatas adalah membuat
statemen masalah. Statemen masalah untuk kasus diatas adalah sebagai berikut:
Tikus berada pada posisi (1,1) menghadap kanan. Keju berada pada posisi (5,3). Rumah tikus berada
di posisi (3,5). Setelah memberikan keju, induk tikus akan berjaga disebelah kiri rumah (2,5).
Tuliskan program yang memerintahkan tikus untuk mengambil keju, membawanya kerumahnya,
memeberikan ke anaknya dan pergi ke samping kiri rumah.
Langkah 2 : Analisis Masalah
Selanjutnya, kita dapat menganalisis masalah dan menemukan beberpa hal penting, yaitu :
1) Posisi keju berada emat langkah ke depan tikus dan dua langkah di atas tikus
2) Posisi rumah tikus berada di dua langkah ke kiri dan dua langkah ke atas dari posisi keju
3) Setelah memebrikan keju ke anaknya, tikus perlu melangkah satu langkah ke kiri rumah
4) Tidak ditemukan adanya rintangan sehingga tikus bebas bergerak dan bebas memilih jalur
yang harus dilalui.
Langkah 3 : Menuliskan algoritma level tinggi
Hal-hal yang perlu dilakukan oleh tikus adalah sebagai berikut :
1) Ambil keju
2) Bawa keju ke rumah
3) Pergi ke samping rumah
Langkah 4 : Menuliskan algoritma secara detail
Berikutnya, algoritma yang sudah ada dibuat menjadi lebih detail. Pada tahap ini dapat dilakukan
proses berulang-ulang (iterasi) sampai algoritma menjadi sedetail mungkin. Algoritma diatas jika
dituliskan secara lebih detail akan menjadi sebagai beikut:
1) Ambil keju
✓ Berjalan empat langkah
✓ Belok kiri
✓ Berjalan dua langkah
✓ Ambil keju
2) Bawa keju ke rumah
✓ Berjalan dua langkah
✓ Belok kiri
✓ Berjalan 2 langkah
✓ Berikan keju
3) Pergi ke samping rumah
✓ Berjalan satu langkah
Jika dituliskan dalam bentuk flowchat, algoritma di atas akan seperti ni
Mulai

Jalan 4 langkah

Belok kiri

Jalan 2 langkah

Ambil keju

Jalan 2 langkah

Belok kiri

Jalan 2 langkah

Berikan keju

Jalan 1 langkah

Stop

Ketika membuat sebuah algoritma, sebuah proses dapat saja dilakukan dengan beberapa cara yang
berbeda. Sebagai contoh pada algoritma diatas sampai ke posisi keju, tikus dapat berjalan ke depan 4
langkah, belok kiri dan berjalan 2 langkah. Selain cara itu, tikus juga dapat sampai di keju dengan
cara belok kiri, berjalan 2 langkah ke arah atas, belok kanan dan berjalan 4 langkah sampai di keju.
Seperti sudah disinggung pada kasus mengantarkan hadiah, sebuah proses dapat saja dilakukan
dengan berbagai cara dan programmer dapat memeilih cara mana yang digunakan.
Langkah 5 : Memeriksa Algoritma
Langkah terakhir dari sebuah menyusun algortima adalah memeriksa kembali algoritma yang sudah
dibuat. Pada kasus diatas, ada beberapa hal yang dapat disimpulkan:
1) Menuliskan algoritma pada level tinggi memungkinkan proses pengembangan algoritma
menjadi lebih mudah. Masalah dibagi menjadi beberapa masalah sehingga lebih mudah
diselesaikan.
2) Pada kasus diatas, algoritma disusun untuk kasus spesifik yang diberikan, artinya posisi tikus,
keju, dan rumah sudah tertentu. Jika digunakan pada posisi tikus, keju, atau rumah yang
berbeda, maka algoritma menjadi tidak berlaku.
3) Jika algoritma digunakan di posisi tikus, keju, atau rumah yang berbeda, maka algoritma
membutuhkan pendekatan yang berbeda.

Kegiatan :
Judul : Membuat Algoritma
Tujuan : Membuat algoritma penyelesaian masalah
Cara Kerja :
✓ Cari dan pilih sebuah kegiatan
✓ Tuliskan algoritma untuk melakukan kegiatan tersebut
✓ Tuliskanlah algoritma untuk level tinggi dan kemudian tuliskan
algoritma untuk level yang lebih detail

Anda mungkin juga menyukai