Anda di halaman 1dari 7

NAMA : ELSA ALYA PUTRI

KELAS : XE3

INFORMATIKA BERPIKIR KOMPUTASIONAL

Pengertian berpikir komputasional

Dilansir dari buku Informatika karya Henry Pandia, konsep berpikir komputasional merupakan
metode yang digunakan untuk menyelesaikan suatu masalah yang kompleks.

Konsep ini menggunakan metode dengan cara membagi-bagi masalah tersebut ke dalam
permasalahan yang lebih sederhana dan membuat solusi untuk setiap permasalahan yang telah
dibagi.

Konsep berpikir komputasional memiliki cara untuk mengidentifikasi masalah, memahami, dan
mengembangkan metode untuk mengembangkan solusi yang inovatif.

Meskipun konsep ini dibangun dengan tujuan agar masalah-masalah dapat diselesaikan dengan
bantuan komputer, konsep ini sebenarnya dapat diterapkan pada kehidupan sehari-hari.

Berpikir komputasional sendiri memiliki empat pilar yang membantu menyelesaikan permasalahan
kompleks. Melalui empat pilar tersebut penyelesaian masalah diharapkan dapat menghasilkan solusi
yang inovatif.

Empat pilar tersebut :

 Dekomposisi

Melalui pendekatan dekomposisi penyelesaian masalah dilakukan dengan cara membagi masalah
menjadi bagian-bagian kecil sehingga lebih mudah diselesaikan. Metode ini membuat masalah yang
kompleks akan menjadi sederhana dan lebih mudah diselesaikan. Teknik dekomposisi akan
membantu Anda memisahkan dan mengelompokkan isu-isu yang ada. Memecah masalah menjadi
lebih kecil juga akan memberikan pandangan lebih detail mengenai masalah itu. Contoh
penerapannya di bidang IT bisa dirasakan oleh programmer. Ketika programmer mengembangkan
perangkat lunak, mereka akan dihadapkan dengan persoalan utama. Masalah itu dapat dibagi
menjadi klasifikasi lebih detail lagi. Misalnya ingin mengembangkan aplikasi e-commerce. Mereka
dapat memecah masalah beberapa poin seperti: Untuk apa aplikasi digunakan Bagaimana tampilan
aplikasi Siapa saja target pengguna Bagaimana tampilan grafisnya Dan lain sebagainya Melalui
metode membagi beberapa masalah lebih kecil seperti ini programmer akan lebih mudah memulai
dari mana pekerjaan yang akan dilakukan. Sama seperti halnya di bidang IT, saat permasalahan yang
dihadapi di kehidupan sehari-hari juga dapat dibagi menjadi lebih kecil agar lebih mudah dianalisis
dan menemukan solusinya.

 Pengenalan pola

Pilar kedua adalah pengenalan pola. Metode ini bisa dimanfaatkan untuk menyelesaikan berbagai
masalah, merekayasa sesuatu, memprediksi, dan lain sebagainya. Pengenalan pola mentransfer
proses penyelesaian masalah ke masalah lain yang sejenis. Terdapat beberapa teknik untuk
mengenali pola-pola yang ada. Seperti menemukan kesamaan persoalan dari karakteristik, perilaku,
penyebab, dan gejala lainnya. Selain itu juga dapat membandingkan satu masalah dengan masalah
yang lain yang memiliki kemiripan pendekatan/metode. Melalui pengenalan pola metode
memecahkan masalah akan dapat dianalisis untuk diambil simpulan dan pelajaran yang berguna.

 Abstraksi

Di dunia pemograman abstraksi berguna untuk menyembunyikan data atau informasi mengenai
sebuah objek dari akses objek lain. Melalui metode ini data yang diakses orang lain akan relevan
dengan orang tersebut. Metode abstraksi akan memuat beberapa data yang berkaitan, seperti
karakteristik, kejadian, dan fenomena dihilangkan atau diabaikan untuk fokus pada apa yang tersisa,
kemudian berdasarkan hasil abstraksi selanjutnya dapat dibangun pola. Apabila diterapkan di
kehidupan nyata metode ini dapat berarti menganjurkan seseorang untuk fokus pada permasalahan
relevan yang sedang dihadapi.

 Algoritme

Algoritme merupakan rencana atau langkah-langkah instruksi yang dijalankan untuk memecahkan
masalah. Saat bekerja dengan metode ini, Anda harus memikirkan proses langkah-langkah yang
dijalankan, kondisi setiap proses, indikator sebuah proses sudah selesai, dan beberapa alternatif
yang dapat dipilih di setiap proses. Melalui tahapan-tahapan yang dijalankan itu dapat diperkirakan
hasil dari akhir proses dapat diperkirakan dengan tepat. Dalam teknologi metode Algoritme sendiri
memiliki dua cara yaitu pseudocedo dan flowchart. Pseudocedo merupakan rangkaian instruksi yang
menggambarkan langkah-langkah dalam penyelesaian masalah. Pseudocedo sendiri bukanlah sintaks
program serta tidak terikat pada bahasa pemograman tertentu. Sedangkan flowchart diagram
adalah yang mewakili kumpulan dari instruksi-instruksi tertentu. Flowchart biasanya menggunakan
simbol standar untuk menggambarkan instruksi yang berbeda. Meskipun algoritme digunakan saat
bekerja di komputer namun sebenarnya pendekatan ini dapat juga dihubungkan dengan kehidupan
sehari-hari. Masalah-masalah tersebut dapat dianalisis yang kemudian bisa dibuat langkah-langkah
logis dalam menemukan solusinya.

Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:

* List linier (Linked List) dan variasinya

* Multilist * Stack (Tumpukan)

* Queue (Antrian)

* Tree ( Pohon)

* Graph ( Graf )

 STACK

Pengertian Stack atau Tumpukan adalah suatu stuktur data yang penting dalam pemrograman
yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk ke dalam stack akan
menjadi benda pertama yang dikeluarkan dari stack.
Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan
penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“ TOP dan Penghapusan selalu
dilakukan pada TOP

OPERASI-OPERASI/FUNGSI STACK Push : digunakan untuk menambah item pada stack pada
tumpukan paling atas

Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas

Clear : digunakan untuk mengosongkan stack

IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong

IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh

 QUEUE

Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan
elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan
penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau
front).

Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First
In First Out).

Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol,
Antrian mahasiswa Mendaftar, dll. Contoh lain dalam bidang komputer adalah pemakaian sistem
komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan
menggunakan sistem tersebut secara serempak.

Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar
di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).

Karakteristik Queue atau antrian :

1. elemen antrian

2. front (elemen terdepan antrian)

3. tail (elemen terakhir)

4. jumlah elemen pada antrian

5. status antrian Operasi pada Queue atau antrian

1. tambah(menambah item pada belakang antrian)

2. hapus (menghapus elemen depan dari antrian)

3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)

Operasi-operasi Queue :

1. Create() Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1

2. IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum Dengan cara memeriksa
nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk
kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada
Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail.

3. IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara mengecek nilai Tail,
jika

Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh

4. Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu


ditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail
dengan cara increment counter Tail terlebih dahulu

5. Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian Dengan
cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan
dengan menggunakan looping.

6. Clear() Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya
mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca

7. Tampil() Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping dari head s/d tail

 SORTING

Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut
terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi
tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem
akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran
data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan
sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah
berguna.

1.Selection Sort (Ascending): Pengurutan dilakukan dengan memilih elemen terbesar dan
menempatkan pada posisinya, kemudian mencari element terbesar berikutnya dan menempatkan
pada tempatnya, dan seterusnya.

Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah :

1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan
data pertama.

2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya
dengan data kedua.

3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan
data ketiga

4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan,
maka membutukan (n - 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di
urutkan karena hanya tinggal satu satunya.

2. Bubble Sort Konsep Buble Sort Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh
gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan
daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas
dipakai pada pengurutan gelembung. Bubble sort (metode gelembung) adalah metode/algoritma
pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus
menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada
perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci
akan dengan lambat menggelembung ke posisinya yang tepat.

 Searching

Pencarian (Searching) merupakan proses yang fundamental dalam pemrograman, guna menemukan
data (nilai) tertentu di dalam sekumpulan data yang bertipe sama. Fungsi pencarian itu sendiri
adalah untuk memvalidasi (mencocokkan) data.

2. Metode pencarian dibagi menjadi 2, yaitu:

1. Metode Pencarian Beruntun

Konsep yang digunakan dalam metode ini adalah membandingkan data-data yang ada dalam
kumpulan tersebut, mulai dari elemen pertama sampai elemen ditemukan, atau sampai elemen
terakhir.

2. Metode Pencarian Bagi Dua (Binary Search)

Metode ini diterapkan pada sekumpulan data yang sudah terurut (menaik atau menurun). Metode
ini lebih cepat dibandingkan metode pencarian beruntun. Data yang sudah terurut menjadi syarat
mutlak untuk menggunakan metode ini.

Konsep dasar metode ini adalah membagi 2 jumlah elemennya, dan menentukan apakah data yang
berada pada elemen paling tengah bernilai sama, lebih dari atau kurang dari nilai data yang akan
dicari. Jika bernilai sama, maka langsung data yang dicari ditemukan. Jika data di elemen terurut
naik, maka jika data yang berada di tengah kurang dari data yang dicari, maka pencarian selanjutnya
berkisar di elemen tengah ke kanan, dan begitu seterusnya sampai ketemu atau tidak sama sekali.
Dan sebaliknya untuk nilai data yang berada di tengah lebih dari data yang dicari, maka pencarian
selanjutnya berkisar di elemen tengah ke kiri, dan begitu seterusnya sampai ketemu atau tidak sama
sekali. Dan demikian sebaliknya untuk data yang terurut menurun. Dalam hal ini tentukan indeks
paling awal dan indeks paling akhir, untuk membagi 2 elemen tersebut.

Indeks awal = i, dimana nilai i, pada awalnya bernilai 0;

Indeks akhir = j, dimana nilai j, pada awalnya bernilai sama dengan jumlah elemen.

Contoh implementasi searching

#include

void main()

clrscr();

int bil[5];

int jml_bil,nilai_max;

int i;
/* input data */

cout<<"masukkan jumlah bilangan kurang dari 5 : ";cin>>jml_bil;

for(i=0;i {

cout<<"bilangan ke"<>bil[i];

/* menentukan nilai max */

nilai_max=bil[0];

for(i=0;i {

if (bil[i]>nilai_max)

nilai_max=bil[i];

/* mencetak nilai max */

cout<<"nilai maksimum : "< cout<

getch();

 Algoritma

Proses yang terjadi pada pencarian dengan metode ini adalah sebagai berikut :

1. Membaca Array data

2. Apabila Array belum terurut maka array diurutkan terlebih dahulu.

3. Menentukan data yang akan dicari

4. Menentukan elemen tengah dari array

5. Jika nilai elemen tengah sama dengan data yang dicari, maka pencarian berhenti.

6. Jika elemen tengah tidak sama dengan data yang dicari maka :

1. Jika nilai elemen tengah > data yang dicari maka pencarian dilakukan pada setengah array
pertama.

2. Jika nilai elemen tengah lebih kecil dari pada data yang dicari maka pencarian dilakukan pada
setengah array berikutnya.

Manfaat Berpikir Komputasional


Berikut adalah beberapa manfaat dari berpikir komputasional:

1.Memudahkan kita untuk memecahkan masalah yang besar dan kompleks dengan cara yang efektif
dan efisien. Selain itu, masalah yang kompleks bisa diselesaikan dengan baik, sehingga menjadi
masalah sederhana.

2.Melatih otak agar terbiasa untuk mulai berpikir secara matematis, kreatif, terstruktur, dan logis.

3.Memudahkan seseorang mengamati masalah dan menemukan solusi dari permasalahan tersebut.
Semakin banyak solusi yang dimiliki, maka suatu masalah dapat diselesaikan dengan efektif dan
efisien.

Anda mungkin juga menyukai