MODUL1
MODUL1
PEMROGRAMAN DASAR
1
BAB I KEGIATAN BELAJAR
A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :
1) Memahami Konsep Algoritma
2) Memahami Struktur Algoritma
3) Memahami Algoritma menggunakan bahasa natural Algoritma
4) Memahami Pseudocode
5) Memahami Flowchart dan penggunaan Tool Flowcahrt
6) Pengenalan Variabel
7) Memahami Pengenalan tipe data
8) Memahami Pengenalan operator
B. Uraian Materi
1. Pengantar Algoritma Pemrograman
Belajar memprogram adalah belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang
disepakati bersama.
“lebih bersifat pemahaman persoalan, analisis, sintesis”
Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan sintaks
(tatabahasa), setiap instruksi yang ada dan tata cara pengoperasian kompilator atau
interpreter bahasa yang bersangkutan pada mesin tertentu.
Jadi :
“BELAJAR MEMPROGRAM”” TIDAK
SAMA DENGAN
“BELAJAR BAHASA PEMROGRAMAN”
Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria
dengan nama Muhammad bin Musa al-Khwarizmi. Bagi kalian yang sedang
berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa
orang di samping ini. Dia adalah seorang ilmuwan Islam yang karya karyanya
dalam bidang matematika, astronomi, astrologi dan geografi banyak
menjadi dasar perkembangan ilmu modern. Dan dari namanya istilah yang
2
akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi kemudian berubah menjadi
algorithm dalam Bahasa Inggris dan diterjemahkan menjadi algoritma dalam bahasa
Indonesia.
1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis.
Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki
tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk
menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.
3
c) Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
d) Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam
notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa
orang yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya. Pseudocode adalah kode yang mirip dengan
instruksi kode program sebenarnya.
e) Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
f) Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman
Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya
satu kali.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung
kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma
harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan
hasil yang benar.
4
Contoh : Algoritma Berangkat Sekolah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Sekolah
Cari Ruang Kelas
Masuk kelas untuk Belajar
Selesai
Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam
bahasa obyek (object code) secara keseluruhan program.
5
Source program tidak dipergunakan Source program terus dipergunakan
hanya bila untuk perbaikan saja
Keamanan dari program lebih terjamin Keamanan dari program kurang terjamin
”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan
kepada pemakai perangkat lunak”
2. Pseudocode
Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN
atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering
digunakan.
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode
program” Contoh Pseudocode :
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC.
Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang
masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan
pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program
menjadi lebih mudah.
6
1.5 Membuat Alur Logika Pemograman
Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti
Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu
dengan Flowchart
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran:
1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
7
pemrograman:
• Notasi ini disebut Data yang digunakan untuk mewakili data input atau
output atau menyatakan operasi pemasukan data dan pencetakan hasil
• Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.
• Notasi ini disebut Preparation yang digunakan untuk memberi nilai awal,
nilai akhir, penambahan/pengurangan bagi suatu variabel counter.
• Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran data
dari proses satu ke proses lainnya.
9
C. Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga,
yaitu:
1. Struktur Runtunan / Beruntun : Digunakan untuk program yang pernyataannya
sequential atau urutan.
2. Struktur Pemilihan / Percabangan : Digunakan untuk program yang menggunakan
pemilihan atau penyeleksian kondisi.
3. Struktur Perulangan : Digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.
Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus
yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut
akan melewati kilometer demi kilometer jalan sampai tujuan tercapai. Struktur berurutan
terdiri satu atau lebih instruksi.
Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah
instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi. Urutan instruksi
menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya
mungkin juga berubah.
10
Contoh bagan alir logika program berurutan (sequencing)
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi
yang disyaratkan dipenuhi. Pada proses seperti ini simbol flowchart Decision harus digunakan.
Simbol decision akan berisi pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian
akan menentukan cabang mana yang akan ditempuh.
Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur
11
percabangan. Hal ini ditandai dengan adanya pernyataan jika ..maka ...(atau If ... Then dalam
Bahasa Inggris.
Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi.
Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
12
Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan
terminasi adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan. Ada
beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan syarat dan
karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada
bentuk yang hanya cocok untuk kasus tertentu saja.
Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran
algoritma. Pemilihan bentuk pengulangan yang tepat bergantung pada masalah yang akan
diprogram.
Bagan alir logika (flowchart) untuk mencetak pernyataan sebanyak 100 kali
13
Struktur pengulangan dengan For
Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua
dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini,
meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu
seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang
biasa disebut sebagai loop s counter, yang nilainya akan naik atau turun selama proses
pengulangan.
Contoh :
Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5, .., 19. Buatlah flowchart
untuk mencetak anggota himpunan tersebut.
Penyelesaian:
Pada contoh ini, kita mencoba menentukan hasil dari sebuah flowchart . Bagaimana menurut
kalian jawabannya? Marilah kita uraikan jalannya fowchart tersebut. Pada flowchart, setelah
Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut
inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel counter-nya adalah X dengan nilai
awal 1 dan nilai akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika
masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai
variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A + 2.
Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang pemrograman. Arti dari
pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah
2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini
nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A
14
kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga
output dari flowchart ini adalah 1,3, 5, 7, .., 19.
15
LATIHAN
1. Buatkan Flowchart untuk mencari Luas persegi empat ?
2. Buatlah Algoritma dan Flowchart untuk menentukan kelulusan siswa ?
Dengan ketentuan :
• Jika Nilai >= 70 maka Lulus
• Jika Nilai <= 70 maka Tidak Lulus
16