PEMROGRAMAN DASAR
TUJUAN PEMBELAJARAN :
Setelah berdiskusi dan menggali informasi peserta didik akan mampu
1. Menjelaskan pengertian algoritma pemrograman dengan baik
2. Menjelaskan strukur penulisan algoritma dengan baik
3. Menjelaskan kriteria penyajian algoritma dengan baik
4. Menjelaskan penyajian algoritma menggunakan bahasa natural dengan baik
5. Menjelaskan penyajian algoritma menggunakan psudocode dengan baik
6. Menjelaskan penyajian algoritma menggunakan flowchart
7. Membuat alur logika pemrograman komputer sesuai SOP
URAIAN MATERI:
A. DEFINISI ALGORITMA
Dilihat dari istilahnya algoritma, berasal dari nama seorang matematikawan muslim
bernama Abu Ja‟far Muhammad Ibnu Musa Al-Khuwarizmi(780 M-850), yang oleh
orang barat menyebut AlKhuwarizm sebagai Algorism, yang diartikan proses menghitung
dengan angka arab. Salah satu karya beliau yang monumental adalah buku berjudul Kitab
Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of
restoration and reduction), yang menjadi cikal bakal istilah “Aljabar” (Algebra) yang
dipakai hingga sekarang ini. Seiring dengan perkembangan jaman isitilah Algorism‟
berubah menjadi algorithm yang kemudian diartikan sebagai metode perhitungan
(komputasi) secara umum. Dalam bahasa Indonesia, kata algorithm
diserap menjadi algoritma. Menurut definisi, algoritma adalah urutan langkah-langkah
penyelesaian masalah yang disusun secara sistematis dan logis. Dalam beberapa konteks,
algoritma dapat diartikan urutan langkah-langkah yang spesifik (tertentu) untuk
melakukan suatu pekerjaan. Jadi algoritma tidak hanya diartikan sebatas pada
perhitungan dengan komputer saja tapi dapat diartikan lebih luas dalam kehidupan sehari-
hari. Resep masakan adalah contoh algoritma yang ada di kehidupan sehari-hari.
B. STRUKTUR ALGORITMA
Inti dari algoritma adalah menemukan solusi dari suatu permasalahan. Untuk
menyelesaikan masalah, algoritma membutuhkan spesifikasi input (masukan) sesuai yang
diperlukan, memprosesnya melalui serangkaian langkah-langkah dan menghasilkan
output sebagai solusi dari permasalahan.
1. Nama/judul Algoritma
Nama Algoritma memberikan gambaran secara singkat apa tujuan dari Algoritma,
misalkan nama resep masakan, petunjuk melakukan sesuatu, jadwal kegiatan, langkah-
langkah penyelesaian sebuah masalah, dan sebagainya. Pemberian nama Algoritma
disarankan singkat dan jelas, namun sudah mewakili maksud dari algoritma. Dalam
Algoritma computer biasanya nama algoritma dituliskan tanpa menggunakan spasi,
misalkan Algoritma VolumeBalok atau Algoritma Volume_Balok
2. Bagian Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian ini
dijelaskan kebutuhan agar algoritma dapat berjalan. Istilah lainnya di sinilah alat dan
bahan didefinisikan. Dalam algoritma pemrograman, bagian deklarasi menjelaskan input
(masukan) apa saja yang akan diproses oleh algoritma termasuk jenis data input (tipe
data), juga output apa yang akan dihasilkan serta semua hal yang akan dipakai dalam
algoritma.
3. Bagian Deskripsi
Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan
(statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output
sesuai yang diharapkan. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah.
Urutan penulisan menentukan urutan perintah
Berikut ini gambaran struktur sebuah Algoritma
secukupnya, beberapa, sesuatu, sebentar, lama, atau kata lain yang tidak terukur
dengan pasti. Pemberian nomor pada algoritma dapat membantu pengguna mengikuti
setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu solusi dari
permasalahan.
5. Efisien
Program menghasilkan output yang benar, itu wajib. Tapi bagaimna jika output yang
benar itu dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih
cepat? Hal ini menunjukkan bahwa setiap algoritma, khususnya jika sudah diterapkan
pada pemrograman, mempunyai waktu eksekusi (running time). Algoritma disebut
efisien jika untuk mendapatkan suatu solusi tidak memerlukan memori yang banyak,
proses yang berbelit-belit dan tidak perlu. Jika algoritma terlalu banyak melakukan
hal-hal yang tidak perlu akan menyebabkan waktu eksekusi menjadi lebih lama.
Contoh 2
Berikut ini algoritma mencari nilai terbesar dari 3 buah bilangan
kesalahan sedikit saja maka akan menyebabkan error, atau program tidak bisa dijalankan.
Sedangkan dalam pseudocode aturan penulisannya lebih bebas, dan tidak terikat namun
yang paling penting adalah mudah diipahami oleh orang yang menjalankan algoritma
atau orang yang akan mengimplementasikan algoritma tersebut ke bahasa pemrograman.
Pseudocode yang baik adalah pseudocode yang dapat dipahami dan
diterjemahkan oleh programmer ke bahasa pemrograman yang ada. Meskipun ada juga
yang menuliskan pseudocode berdasarkan kecenderungan perancang algoritma dalam
menggunakan bahasa pemrograman. Orang yang sering menggunakan Bahasa
Pemrograman Fortran akan menuliskan pseudo code dengan gaya Bahasa Fortran, orang
yang sering mengguanakan Pascal akan menuliskan psudocode dengan gaya bahasa
Pascal, demikian juga bagi yang seringg menggunakan Basic ataupun Turbo C, tentu
akan mempunyai style (gaya) yang ebrbeda-beda. Jadi pseudo-code bisa
dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa
pemrograman yang akan digunakan.
Di antara sekian gaya pseudocode, barangkali yang paling mudah dipahami
adalah gaya bahasa Pascal karena bahasanya sangat natural (alami) sebagaimana bahasa
Inggris sehari-hari dan dengan mudah dapat diterapkan pada bahasa pemrograman yang
lain seperti Fortran, turbo C, Basic dan bahasa pemrograman yang lain. Kata-kata
kuncinya sangat singkat, praktis dan jelas. Hal ini juga akan membantu kalian ketika
kalian belajar bahhasa Pemrograman pascal pada semester berikutnya.
Sebagaimna yang dinyatakan pada bagian sebelumnya, bahwa algoritma terdiri
dari 3 bagian: Nama Algoritma, Bagian Deklarasi, dan bagian eskripsi, demikian juga
dengan pseudocode. Perhatikan contoh Algoritma dalam Pseudocode berikut.
Dapatkah kalian tunjukkan mana bagian Deklarasi, apa isinya? Bagian deklarasi
di atas adalah menyatakan Konstanta Phi beserta nilainya dan variabel r, t dan V eserta
tipe datanya. Kesemuanya akan digunakan selama algoritma berjalan. Konstanta adalah
besran yan nilainya akan tetap selama algoritma berjalan.
Bisa kalian jelaskan urutan algoritma di atas? Pada algoritma digunakan beberapa
istilah yang mirip dengan Bahasa Pascal, sebagai berikut. Konstanta, untuk
mendeklarasikan konstanta yang digunakan oleh algoritma Variabel, untuk
mendeklarasikan variabel yang akan digunakan oleh algoritma READ, perintah untuk
membaca inputan dari pengguna WRITE, perintah untuk menuliskan nilai suatu variabel
atau suatu string END, akhir dari algoritma. Pemberian nilai ini V = Phi*r*r*t juga
disebut dengan Assignment (penugasan). Dibeberapa bahasa Pemrograman assignment
ini dituliskan dengan beberapa gaya yang berbeda, di Pascal dituliskan V := Phi*r*r*t
sedangkan di Turbo C cukup V = Phi*r*r*t. Dalam pembahasan di buku ini assignment
menggunakan tanda = untuk konsistensi penyajian dengan bahasa natural, pseudocode
maupun flowchart. Demikian juga dengan perintah WRITE, di beberapa pseudocode
dapat menggunakan perintah PRINT, DISPLAY atau OUTPUT saja. Sekali lagi, tidak
ada aturan yang mengikat mengenai penyajian algoritma dengan pseudocode, namun agar
penulisan selalu konsisten dalam pembahasan ini digunakan format sebagaimana di atas.
Berikut ini aturan penulisan Algoritma dengan pseudocode
1. Menuliskan satu langkah atau pernyataan tiap baris. Setiap baris pernyataan dalam
pseudocode sebaiknya hanya untuk satu aksi saja dalam algoritma.
2. Menggunakan huruf besar untuk kata-kata kunci. Dalam beberapa contoh di atas kita
gunakan huruf besar untuk kata kunci seperi CONST, VAR, READ, WRITE, END,
IF THEN, END, dan sebagainya.
3. Membuat indentasi untuk menunjukkan hirarki. Hirarki biasanya muncul ketika
dalam algoritma digunakan struktur desain, yang meliputi struktur percabangan dan
struktur perulangan.
4. Mengatur semua pernyataan dalam suatu perulangan terletak pada tepi (kolom) yang
sama, tapi tidak termasuk kata kunci pembuat perulangan
5. Menghindari penggunaan perintah dalam kata sehari-hari yang sekiranya itu tidak
dikenal dalam computer.
Dalam penyajian algoritma dengan flowchart, setiap simbol diberikan keterangan sesuai dengan
langkahnya, sebagai contoh
Dalam flowchart ataupun pseudocode sekalipun, kita diperbolehkan untuk menuliskan perintah
input dalam satu baris, dan itu dimengerti oleh pengguna program. Penyajian rangakian
permintaan input dalam bentuk
tentu akan menyita tempat pada halaman flowchart, sehingga dapat disederhanakan menjadi
Pada bagian deklarasi disebutkan bahwa ada suatu konstanta Phi=3.14. Inilah yang
dimaksud dengan isinsialisasi pada flowchart, berikut ini adalah flowchart dari algoritma
Mencari volume tabung. Bagimana jika algoritma terlalu besar sehingga tidak cukup untuk
memnulsikannya dalam satu diagram penuh, kita dapat menggunakan On pgae Connextor seperti
contoh berikut
Contoh 2 :
Perhatikan pada flowchart di atas, bahwa dalam satu simbol proses (persegi panjang) bisa erisi
lebih dari satu assignment.
TUGAS PENGETAHUAN
Jawablah pertanyaan dibawah ini dengan benar
1. Jelaskan pengertian algoritma ?
2. Jelaskan struktur penulisan algoritma?
3. Jelaskan jenis penyajian algoritma?
4. Jelaskan Kriteria penulisan algoritma yang baik?
5. Jelaskan fungsi dari simbol flowchart ?
TUGAS KETERAMPILAN
1. Buatlah algoritma untuk menghitung berat badan ideal. Sajikan dalam bentuk pseudocode
dan flowchart.