Bahasa
pemrograman semakin banyak dipelajari oleh banyak orang. Hal ini
terkait dengan kemajuan zaman yang menjadikan teknologi sebagai hal
penting untuk menunjang kemajuan. Bagi pembaca yang ingin mempelajari
bahasa pemrograman, hal dasar yang harus dipahami adalah algoritma
pemrograman tersebut. Untuk mengerti apa itu algoritma pemrograman,
silahkan simak pembahasan di bawah ini.
Dalam
matematika dan ilmu komputer, algoritma adalah urutan atau
langkah-langkah untuk penghitungan atau untuk menyelesaikan suatu
masalah yang ditulis secara berurutan. Sehingga, algoritma pemrograman
adalah urutan atau langkah-langkah untuk menyelesaikan masalah
pemrograman komputer.
Dalam pemrograman, hal yang
penting untuk dipahami adalah logika kita dalam berpikir bagaimana cara
untuk memecahkan masalah pemrograman yang akan dibuat. Sebagai contoh,
banyak permasalahan matematika yang mudah jika diselesaikan secara
tertulis, tetapi cukup sulit jika kita terjemahkan ke dalam pemrograman.
Dalam hal ini, algoritma dan logika pemrograman akan sangat penting
dalam pemecahan masalah.
Untuk contoh algoritma dalam matematika seperti di bawah ini:
Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Algoritmanya adalah:
Mulai
Tentukan nilai x
Hitung nilai y = 3x + 8
Cetak nilai x dan y
Selesai
Walaupun
algoritma bisa dibilang jantung ilmu komputer atau informatika, tetapi
jangan beranggapan bahwa algoritma selalu identik dengan ilmu komputer
saja. Dalam kehidupan sehari-hari, terdapat banyak proses yang
dinyatakan dalam suatu algoritma. Misal cara memasak mie, cara membuat
kue, dan lainnya.
Jika kita buat algoritma memasak mie akan seperti di bawah ini:
Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkok, sendok, dan garpu
Masukkan 400 ml air kedalam panci
Masak air
Tunggu hingga mendidih
Masukkan mie kedalam panci yang sudah berisi air mendidih
Tunggu dan aduk hingga 3 menit
Jika sudah matang masukkan bumbu
Aduk hingga rata
Sajikan mie
Penyajian
algoritma secara garis besar dapat dibagi dalam dua bentuk penyajian
yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu
dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa
Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode
pemrograman yang sebenarnya seperti Pascal, atau C, sehingga tepat
digunakan dalam menggambarkan algoritma yang akan dikomunikasikan kepada
programmer.
Sedangkan untuk algoritma yang disajikan
dengan gambar adalah dengan flowchart. Flowcart adalah bagan (chart)
yang menunjukkan alir (flow) di dalam program atau merupakan prosedur
sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan
untuk dokumentasi.
- Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
- Bahasa tingkat rendah (low level language):
- Bahasa yang berorientasi ke mesin.
- Bahasa tingkat tinggi (high level language):
- Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
- Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke
dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan
penerjemah.
Penerjemah:
- Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
- Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
B. Algoritma
Arti
umum adalah serangkaian urutan langkah-langkah yang tepat, logis,
terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun
secara sistematis.
- Algoritma adalah inti dari ilmu komputer
- Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
- Algoritma adalah blueprint dari program
- Sebaiknya disusun sebelum membuat program
- Kriteria suatu algoritma:
- Ada input dan output
- Efektifitas dan efisien
- Terstruktur
Ciri Penting Algoritma
- Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
- Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
- Algortima memiliki nol atau lebih masukan.
- Algoritma memiliki nol atau lebih keluaran.
- Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
Memprogram dan Bahasa Pemrograman
- Belajar memrogram adalah belajar tentang metode pemecahan masalah,
kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan
dipahami.
- Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya
untuk membuat program yang ditulis dalam bahasa itu saja.
Tahapan Pembuatan Program
- Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan
pembuatan, parameter yang digunakan, fasilitas yang disediakan,
algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
- Merealisasikan dengan langkah-langkah sebagai berikut:
Flowchart
- Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
- Merupakan cara penyajian dari suatu algoritma
- Ada 2 macam flowchart:
- System flowchart: Urutan proses dalam system dengan menunjukkan alat
media input, output serta jenis penyimpanan dalam proses pengolahan
data.
- Program flowchart: Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Simbol-simbol Flowchart
- Flow Direction Symbols (simbol penghubung alur)
- Processing Symbols (simbol proses)
- Input-Output Symbols (simbol input-output)
Pembuatan Flowchart
- Tidak ada kaidah yang baku
- Flowchart = gambaran hasil analisa suatu masalah
- Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
- Secara garis besar ada 3 bagian utama:
- Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
- Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
- Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.
Aturan Penulisan Teks Algoritma
- Judul Algoritma
Bagian yang terdiri atas nama algoritma
dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya
singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
- Deklarasi
Bagian untuk mendefinisikan semua nama yang
digunakan di dalam program. Nama tersebut dapat berupa nama tetapan,
peubah, tipe, prosedure, dan fungsi.
- Deskripsi
Bagian ini berisi uraian langkah-langkah
penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan
dijelaskan selanjutnya.