Daftar Isi ⇅
show
Pesatnya perkembangan teknologi membuat makin banyak pula aplikasi atau program yang digunakan untuk membantu masyarakat. Bukan hanya aplikasi produktif saja, aplikasi hiburan seperti Games juga terus bertumbuhan. Semua aplikasi atau program tersebut dibuat dan dikembangkan menggunakan bahasa pemrograman yang berbeda. Meskipun menggunakan beragam bahasa yang berbeda, namun cara berpikir atau algoritmanya akan tetap sama.
Oleh karena itu, algoritma dan pemrograman merupakan hal yang hampir tidak dapat dipisahkan. Jika kita ingin mempelajari pemrograman, maka kita juga harus mempelajari algoritma. Bahkan, tidak jarang saat kita bekerja di industri pemrograman, kita akan dihadapkan dengan beberapa bahasa pemrograman yang berbeda dalam satu proyek.
Tuntutan zaman juga mengharuskan kita terus-menerus mengikuti berbagai perkembangan bahasa pemrograman yang baru. Berganti-ganti bahasa pemrograman adalah kenyataan yang semakin sulit untuk dihindari. Nyatanya, hal tersebut tidak akan menjadi masalah ketika kita menguasai algoritma yang tidak akan berubah dari bahasa ke bahasa.
Pengertian Algoritma
Algoritma adalah urutan langkah yang dibuat untuk menyelesaikan tugas tertentu (Tim Kemdikbud, 2021, hlm. 195). Salah satu contoh sederhana algoritma adalah langkah untuk membeli tiket bioskop secara langsung. Langkahnya, yaitu:
- Kita harus pergi mengunjungi menuju bioskop,
- memilih film yang ingin ditonton dan jadwalnya,
- antre di loket tiket,
- memilih posisi kursi bioskop beserta jumlah tiketnya,
- membayar total tagihan tiket, dan tiket diterima dari pegawai.
Setelah urutan tersebut dilakukan, maka kita dapat masuk ke teater bioskop dan menonton film yang ingin kita saksikan.
Hanya saja, yang menjadi catatan penting adalah Algoritma dibuat untuk dapat dipahami oleh manusia dan juga komputer. Hal itu karena Algoritma akan diterjemahkan menjadi kode program untuk memberikan urutan instruksi pada perangkat komputer.
Algoritma dan pemrograman yang mengatur jalannya sistem komputer, membawa masyarakat berkomunikasi dengan cara yang baru dan membantu menyelesaikan beberapa masalah lainnya. Proses untuk membuat program yang eisien dan efektif memerlukan:
- pemilihan informasi yang tepat untuk digunakan,
- bagaimana memproses dan menyimpannya,
- menyelesaikan permasalahan besar menjadi kasus yang lebih kecil,
- mengombinasikan solusi-solusi yang sudah ada sebelumnya, dan
- mencoba analisis solusi baru lainnya (Tim Kemdikbud, 2021, hlm. 195).
Pengertian Pemrograman
Sementara itu, pemrograman adalah proses mengembangkan program, perangkat lunak komputer, aplikasi, dan situs web (Tim Kemdikbud, 2021, hlm. 195). Saat ini, komputer tidak dapat berpikir sendiri. Komputer hanya menjalankan perintah yang diberikan kepadanya atau yang sudah tersimpan dan siap dijalankan. Komputer meminta pengguna untuk memberi serangkaian instruksi yang diperintahkan untuk mengetahui apa yang harus dilakukan. Perintah yang dipahami oleh komputer disebut sebagai “kode”, oleh karena itu terkadang pemrograman juga disebut dengan coding (mengode).
Pemrograman adalah garda terdepan dari informatika karena merupakan proses di mana suatu aplikasi dibuat atau dikembangkan. Pemrograman juga adalah elemen inti dari pembelajaran Informatika karena merupakan tumpuan utama dalam mengembangkan keterampilan penting seperti penyelesaian masalah, logika, dan berpikir kritis. Memang tidak harus semua orang menjadi seorang programmer dalam bidang informatika, namun mempelajarinya tetap memberikan manfaat yang amat banyak dalam bidang ini.
Mengapa Mempelajari Pemrograman
Selain itu belajar programming (di dalamnya mencakup coding) diperlukan bukan hanya untuk menjadi programmer (penulis program profesional). Programming diperlukan dalam bidang apa pun, seperti halnya siapa pun perlu menulis.
Sementara itu, menurut tim Kemdikbud (2021, hlm. 196) alasan mengapa kita perlu belajar programming adalah sebagai berikut.
- Informatika membangun keterampilan yang berguna untuk belajar bidangbidang lainnya termasuk matematika, sains, penyelesaian persoalan, bekerja dalam tim, pembelajaran berbasis proyek, seni kreatif, dan banyak lagi. Seperti yang dikatakan oleh Steve Jobs (pencipta komputer apple, yang sangat terkenal): “coding mengajari Anda cara berpikir.”
- Belajar pemrograman sama bergunanya seperti belajar bahasa asing. Semakin awal kita memulai belajar suatu bahasa asing (bahkan jika kita dilahirkan di suatu negeri asing), makin mudah untuk mempelajari dan menguasai bahasa asing tersebut. Bedanya ialah bahwa bahasa pemrograman dirancang agar kita dapat memerintahkan komputer melakukan apa yang kita rancang.
- Zaman sekarang, dan di masa mendatang, diprediksi akan banyak sekali lapangan kerja yang membutuhkan kemampuan programming di seluruh dunia. Pemrograman komputer mengajarkan keterampilan praktis yang relevan dengan pasar tenaga kerja saat ini dan masa mendatang.
- Pertumbuhan kebutuhan tenaga kerja di bidang lain yang membutuhkan kemampuan programming selalu meningkat. Jika kita mampu memprogram, kita akan mudah bekerja di mana pun.
- Informatika adalah ilmu yang terpakai di semua bidang karena semua bidang akan membutuhkan komputer. Komputasi menggerakkan hampir setiap industri dari pendidikan hingga pertanian, dari hukum hingga bisnis, dan dari konstruksi hingga obat-obatan. Perangkat lunak (program komputer) berada di balik semua ini.
- Coding adalah seni terbaru dan membuat kita akan berkreasi tanpa batas. Banyak seniman saat ini membuat karya-karya dibantu dengan program komputer.
Cara Mempelajari Pemrograman
Lalu sebetulnya bagaimana cara kita mempelajari pemrograman? Sebetulnya, langkah awal yang kita lakukan tentunya adalah dengan memilih salah satu bahasa dan mempelajarinya melalui dokumentasi serta berbagai contoh yang ada di masing-masing website dokumentasi bahasa pemrograman. Kita juga dapat mempelajarinya dari komunitas online yang spesifik mempelajari bahasa tersebut.
Namun tidak jarang kita akan mengalami kesulitan dalam mempelajarinya karena bahasa pemrograman dapat menjadi sangat rumit untuk dipelajari, terutama jika bahasa pemrograman adalah bahasa pemrograman tingkat rendah (semakin rendah, semakin sulit dipahami oleh manusia).
Oleh karena itu, kita dapat mulai mempelajarinya mulai dari yang paling mudah, yaitu pemrograman berbasis visual. Salah satu bahasa pemrograman visual adalah Scratch. Scratch dibuat oleh MIT Media Lab, sebuah tim dari Massachusetts Institute of Technology. Dengan Scratch, kita dapat mengembangkan sebuah program sederhana berisi cerita, games, maupun animasi interaktif sesuai kehidupan sehari-hari.
Program sederhana ini dibuat dari susunan blok-blok yang menghasilkan tampilan visual sesuai blok tadi. Hasil karya Scratch juga dapat dibagikan dalam komunitas online. Kita dapat mengasah kemampuan berpikir kreatif, mampu memberikan alasan secara sistematis, dan berkolaborasi yang merupakan kemampuan penting dalam hidup bermasyarakat saat ini. Video pengantar: https://scratch.mit.edu/about
Scratch dapat digunakan tanpa instalasi di komputer, cukup diakses secara online saja. Untuk akses online, dapat melalui halaman: https://scratch.mit.edu/. Namun kita juga dapat melakukan instalasi terlebih agar dapat diakses tanpa internet. Instalasi aplikasi scratch dapat diunduh melalui halaman: https:// scratch.mit.edu/download.
Cara menggunakan Scratch terhitung sangat mudah, karena yang kita lakukan adalah menyusun blok perintah untuk menjalankan fungsi tertentu. Pembuatan blok dapat dilakukan menggunakan mouse dengan cara menyeret blok yang dibutuhkan untuk menjalankan fungsi tertentu. Dalam blok tersebut kita dapat melihat perintah apa yang kita berikan. Trial and error adalah cara untuk mempelajarinya, jadi langsung coba saja gunakan aplikasi Scratch.
Mempelajari Algoritma
Setelah kita mencoba menggunakan scratch atau bahasa pemrograman visual lainnya, kita akan mulai memahami bahwa ternyata yang menjadi inti utama pemrograman bukanlah bahasanya, namun justru algoritmanya. Ketika ingin membuat fungsi tertentu kita harus memikirkan dahulu seperti apa langkahnya, apa yang akan terjadi, dan bagaimana hasil dari aplikasi yang kita buat.
Algoritma adalah suatu kumpulan instruksi terstruktur dan terbatas yang dapat diimplementasikan dalam bentuk program komputer untuk menyelesaikan suatu permasalahan komputasi tertentu (Tim Kemdikbud, 2021, hlm. 137). Algoritma merupakan bentuk dari suatu strategi atau ‘resep’ yang kita gunakan untuk menyelesaikan suatu masalah.
Algoritma lahir dari suatu proses berpikir komputasional oleh seseorang untuk menemukan solusi dari suatu permasalahan yang diberikan. Dengan demikian, berpikir komputasional merupakan keahlian yang kita perlukan untuk dapat membuat algoritma, program, atau suatu karya informatika yang dapat digunakan dengan efektif dan efisien.
Perlu diingat bahwa menulis algoritma berbeda dengan menulis program. Program ditulis agar dapat dipahami oleh mesin, sedangkan algoritma ditulis agar dapat dipahami oleh manusia. Terdapat dua cara untuk merepresentasikan algoritma, yaitu diagram alir dan pseudocode. Untuk itu, kita juga harus mempelajari teknik untuk membaca suatu algoritma (yang disebut penelusuran atau tracing) dan cara untuk menuliskan suatu algoritma.
Diagram Alir
Diagram alir dibuat dalam bentuk aliran simbol yang dapat ditelusuri dari suatu titik permulaan hingga titik akhir dari program. Diagram alir dibuat menggunakan simbol standar ANSI/ISO yang beberapa simbol dasarnya diberikan pada tabel berikut ini.
Simbol | Nama | Deskripsi |
---|---|---|
Garis alir (flowline) | Arah yang menunjukkan aliran program dari awal hingga akhir. | |
Terminator | Titik awal atau titik akhir suatu program. | |
Proses | Suatu kegiatan komputasi yang dilakukan oleh program: misalnya operasi aritmatika. | |
Keputusan | Merupakan titik percabangan yang salah satu cabangnya dapat dilalui oleh program berdasarkan suatu kondisi. | |
Masukan (Input)/Keluaran (Output) | Melambangkan titik saat program akan menerima suatu data atau menghasilkan suatu informasi. | |
Subprogram | Melambangkan suatu kegiatan atau proses lain yang telah didefinisikan sebelumnya. | |
Penghubung dalam Halaman | Digunakan untuk menghubungkan suatu titik pada diagram alir ke titik lain pada halaman yang sama. | |
Penghubung antarhalaman | Digunakan untuk menghubungkan suatu titik pada diagram alir ke titik lain pada halaman yang berbeda. Digunakan apabila diagram lain cukup kompleks sehingga tidak dapat digambar dalam satu halaman. |
Sumber: Tim Kemdikbud (2021, hlm. 138)
Untuk memahami bagaimana diagram alir digunakan untuk menggambarkan suatu algoritma, berikut adalah lima contoh diagram alir dari beberapa proses berpikir.
Diagram Alir 1: Menghitung Luas Persegi
Diagram Alir 2: Menghitung Luas Permukaan Kubus
Diagram Alir 3: Membagi Bilangan
Diagram Alir 4: Menghitung Mundur dari N hingga 1
Diagram Alir 5:
Pseudocode
Pseudocode (kode semu atau kode pseudo) adalah suatu bahasa buatan manusia yang sifatnya informal untuk merepresentasikan algoritma (Tim Kemdikbud, 2021, hlm. 144). Mengapa kita membutuhkan pseudocode? Pseudocode dibuat untuk menutupi kekurangan diagram alir dalam merepresentasikan konsepkonsep pemrograman terstruktur.
Pseudocode memungkinkan representasi langkah-langkah yang lebih detail dan dekat dengan bahasa pemrograman. Karena sifatnya yang informal, tidak ada aturan khusus dalam standar notasi yang dapat digunakan. Akan tetapi, ada beberapa prinsip dasar yang perlu diperhatikan, yaitu satu baris untuk satu pernyataan (statement) dan pentingnya indentasi dalam menuliskan pernyataan. Indentasi ada untuk hierarki dari pernyataan. Misalnya, untuk menunjukkan bahwa suatu pernyataan merupakan bagian dari sebuah struktur kontrol keputusan atau struktur kontrol perulangan.
Kelima diagram alir pada bagian sebelumnya dapat ditulis dalam bentuk pseudocode sebagai berikut.
Pseudocode 1: Menghitung Luas Persegi
Deskripsi tingkat tinggi: | Pseudocode: |
---|---|
| Algoritma Menghitung Luas Persegi Input: Nilai Panjang Sisi Persegi. Output: Luas Persegi tercetak.
input sisi luas← sisi * sisi print luas |
Pseudocode 2: Menghitung Luas Permukaan Kubus
Deskripsi tingkat tinggi: | Pseudocode: |
---|---|
| Algoritma Menghitung Luas Permukaan Kubus Input: Nilai Panjang Sisi Kubus. Output: Luas Permukaan Kubus tercetak.
input sisi luas_permukaan ←luas(sisi) * 6 print luas_permukaan |
Pseudocode 3: Membagi Bilangan
Deskripsi tingkat tinggi: | Pseudocode: |
---|---|
| Algoritma Membagi Bilangan Input: Pembilang dan Penyebut. Output: Hasil Pembagian tercetak.
input pembilang, penyebut if penyebut = 0 print “Penyebut tidak boleh nol” else hasil ← pembilang / penyebut print hasil |
Pseudocode 4: Menghitung Mundur dari N hingga 1
Deskripsi tingkat tinggi: | Pseudocode: |
---|---|
| Algoritma Menghitung Mundur dari N hingga 1 Input: Nilai N. Output: Angka hasil hitung mundur dari nilai N sampai 1 tercetak.
input N while N > 0 print N N ← N – 1 |
Pseudocode 5: Mencari Bilangan Terbesar dari Suatu Himpunan Bilangan
Deskripsi tingkat tinggi: | Pseudocode: |
---|---|
| Algoritma Mencari Bilangan Terbesar Input: Himpunan bilangan L. Output: Bilangan terbesar pada himpunan bilangan L
if size of (L)= 0 return null largest ← elemen pertama L for each item in L, do if item > largest, then largest ← item return largest |
Referensi
- Tim Kemdikbud (2021). Informatika X. Jakarta: Pusat Kurikulum dan Perbukuan, Balitbang, Kemendikbud.
- Tim Kemdikbud (2021). Informatika VII. Jakarta: Pusat Kurikulum dan Perbukuan, Balitbang, Kemendikbud.