2015 1 Dasar Pemrograman Pusat Bahan Ajar dan eLearning Team Dosen http://www.mercubuana.ac.id MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi 01 87001 Team Dosen Abstract Kompetensi Terminologi Pemrograman Logika Pemecahan Masalah Mampu memahami Konsep Logika dan Pemrograman
157
Embed
MODUL PERKULIAHAN Dasar Pemrogramanfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Modul-Dasar... · A. Simbol-simbol pada Flowchart ... atau proses dalam lembar/halaman yang
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
2015 1
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
MODUL PERKULIAHAN
Dasar Pemrograman
Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Ilmu Komputer Sistem Informasi
01 87001 Team Dosen
Abstract Kompetensi
Terminologi Pemrograman Logika Pemecahan Masalah
Mampu memahami Konsep Logika dan Pemrograman
2015 2
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Pendahuluan
1.1 Pengertian umum Program, Algoritma dan Flowchart
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh
komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu
keluaran / output yang diharapkan.
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan
untuk memecahkan masalah.
Flowchart (Diagram alur) : adalah urutan instruksi-instruksi program yang digambarkan
dalam bentuk suatu diagram.
Bahasa pemrograman : program yang berisikan instruksi-instruksi yang dimengerti oleh
komputer.
Ada 2 klasifikasi dalam Bahasa pemrograman:
Low level language / bahasa tingkat rendah yang berorientasi pada mesin, contohnya:
bahasa mesin / machine language dan bahasa rakitan / assembly language.
High level language /bahasa tingkat tinggi adalah bahasa pemrograman yang berorientasi
pada manusia. Contohnya : BASIC, PASCAL, COBOL, FORTRAN, C.
1.2 FLOWCHART UNTUK PROGRAM KOMPUTER
Ada 2 jenis Flowchart :
1. flowchart sistem, adalah suatu gambar yang menjelaskan :
- file-file yang diproses oleh program
- jenis piranti yang digunakan oleh file
- operasi terhadap file (masukan ataupun keluaran).
2. flowchart program (biasa disebut flowchart saja), adalah suatu gambar yang menjelaskan
urutan :
- Pembacaan data
- Pemrosesan data
- Pengambilan keputusan terhadap data
2015 3
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
- Penyajian hasil pemrosesan data.
A. Simbol-simbol pada Flowchart
- Simbol dan kotak Flowchart Program :
Simbol untuk menyatakan MULAI (START) ataupun SELESAI (END).
KOTAK MASUKAN, untuk membaca data yang
kemudian diberikan sebagai harga suatu variabel.
Kotak Data, digunakan untuk membaca data dan menampilkan data.
Jadi untuk pemasukan data bisa digunakan kotak “manual input”
atau kotak “data”. Contoh:
atau
KOTAK PENUGASAN, untuk memberi harga kepada suatu variabel,
atau untuk melakukan perhitungan matematika yang hasilnya diberikan
sebagai suatu variabel.
Kotak Keluaran, untuk mencetak (dan/atau menyimpan) hasil/keluaran.
Ter minator
Manual input
Data
Masukan A
Masukan A
Process
CETAK XCETAK X atau
Document
X = 43 X = Y + Z
2015 4
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
KOTAK KEPUTUSAN, untuk memutuskan arah atau percabangan yang
diambil sesuai dengan kondisi yang saat itu terjadi , BENAR atau SALAH
SIMBOL PENGHUBUNG (CONNECTOR) : simbol untuk keluar/ masuk prosedur
atau proses dalam lembar/halaman yang sama
Simbol penghubung OFF PAGE CONNECTOR : simbol untuk keluar/ masuk
prosedur atau proses dalam lembar/halaman yang lain, untuk penghubung bila
diagram alur terputus disebabkan misalnya oleh pergantian halaman (tak cukup
digambar 1 halaman).
(diagram terputus pada satu halaman) (disambung pada halaman berikutnya)
- Simbol untuk Flowchart Sistem :
A < 3
?
Yes
No
OPC
Dec ision
Conn
ector
1
2
2
1
2015 5
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Magnetic Magnetic Auxiliary Puncherd keyboard Program/proses
Disk Tape Storage Card
B. Memberikan Harga pada Variabel
Suatu variabel dapat kita artikan sebagai suatu besaran yang dapat berubah-ubah harganya.
Cara memberi harga kepada suatu variabel :
Dengan kotak penugasan.
(a) variabel X diberi harga 12
Selain itu, kotak penugasan dapat berfungsi antara lain untuk :
(b)
( c )
( d )
C. JENIS VARIABEL
(1) Variabel bilangan/numerik : hanya dapat diberi harga berupa bilangan nyata.
(2) Variabel untai kata atau untai aksara/string.
Dapat diberi harga berupa untai kata serta aksara (latin) yang boleh mengandung di antaranya
tanda ! * o ; ? huruf A sampai Z, angka 0 sampai 9 (sebagai simbol saja).
Stored
dataCard
X = 12
C = P - Q Variabel C diberi harga sebesar harga variabel P dikurangi variabel Q (Dalam hal ini, harga variabel P serta Q harus sudah ada). Harga yang baru dari variabel S adalah harga lama T ditambah harga variabel. Harga yang baru dari variabel N adalah harga yang lama dari variabel N ditambah 1. (dengan perkataan lain, harga variabel N bertambah).
N = N + 1
S = S + T
2015 6
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Untuk membedakannya dengan variabel bilangan, nama variabel untai kata biasanya diberi
tambahan $ pada aksara terakhir.
Contoh :
Misalkan N$ merupakan nama variabel untai kata untuk menyatakan nama cottage.
Suatu untai kata Mawar2 diberikan sebagai harga variabel N$.
Contoh-contoh kasus :
1. Diagram alur untuk menghitung luas segitiga, bila diketahui ALAS = 10 dan TINGGI= 8.
2. Diagram alur untuk menjumlahkan 2 bilangan dalam himpunan data.
N$ <--- "Mawar2"
(1) memberi harga ALAS sebesar 10
(2) memberi harga TINGGI sebesar 8
(3) menghitung & memberi harga LUAS
sebesar harga : (ALAS * TINGGI) / 2
(4) mencetak harga LUAS (akan tercetak = 40).
Keterangan:
(1) Satuan data pertama (berharga 13) dibaca &
diberikan kepada variabel A, sehingga harga
variabel A menjadi = 13.
(2) Selanjutnya satuan data kedua (berharga 21)
dibaca & diberikan kepada variabel B,sehingga
harga B = 21.
(3) Menghitung/memberi harga variabel C sebesar
harga variabel A ditambah variabel B.
Baca Alas
dan Tinggi
Luas = (Alas * Tinggi)/2
Cetak Luas
berhenti
mulai
2015 7
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Latihan : Berdasarkan algoritma di bawah ini buatlah bentuk flowchart-nya!
1. Buatlah algoritma untuk menuliskan nilai mutlak dari nilai yang dimasukkan oleh
pengguna.
Pemahaman masalah:
Nilai mutlak x | x| adalah sbb: | x | = x, jika x ≥ 0
| x | = -x, jika x < 0
Algoritma Nilai mutlak
x adalah variabel yang menampung nilai yang dimasukkan
Deskripsi:
1. Input nilai x.
2. Jika (x < 0) maka kerjakan perintah nomer 3, jika tidak kerjakan nomer
4
3. x -x
4. Tulis x.
Baca A dan B
C = A + B
Cetak C
berhenti
mulai
2015 8
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Penjelasan algoritma:
- Baris pertama meminta masukkan bilangan yang disimpan pada variabel x.
- Baris kedua mengecek apakah nilai yang dimasukkan lebih kecil dari nol atau tidak, jika
lebih kecil maka kerjakan perintah nomer 3 jika tidak lebih kecil maka kerjakan perintah
nomer 4.
- Baris ketiga membuat nilai x menjadi positif (baris ini hanya dilakukan jika nilai x lebih
kecil dari nol)
- Baris keempat mencetak nilai x.
Algoritma mencari nilai mutlak merupakan algoritma bentuk percabangan, karena pada
algoritma di atas kita dihadapkan pada sebuah kondisi yang akan membuat program
mempunyai dua arah (lihat baris kedua).
2. Buatlah algoritma untuk mencetak sebuah kata yang diinput oleh pengguna sebanyak 5 kali.
Pemahaman masalah:
Meminta masukan berupa sebuah kata, kemudian kata tersebut tercetak sebanyak 5 kali.
Penjelasan algoritma:
- Langkah pertama meminta masukan sebuah kata yang disimpan pada variabel Kt
Algoritma mencetak kata sebanyak 5 kali
Kt adalah variabel yang digunakan untuk menampung kata yang dimasukkan
pengguna
M adalah variabel untuk menyimpan nilai perulangan.
Deskripsi:
1. Masukkan Kt
2. M = 1
3. selama (M <= 5) lakukan langkah 3 sampai dengan 5
4. cetak Kt
5. M = M +1
2015 9
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
- Langkah kedua memberi nilai awal m=1, variabel M digunakan untuk menyimpan hasil
pengulangan (pencacah).
- Langkah ketiga memberikan perintah untuk mengulangi langkah ketiga hingga langkah
kelima selama nilai M masih bernilai lebih kecil atau sama dengan 5.
- Langkah keempat merupakan perintah untuk mencetak Kt.
- Langkah kelima menambahkan variabel M dengan 1. variabel M harus ditambah dengan
nilai 1 agar kondisi pada langkah ketiga ada saatnya bernilai salah, dalam hal ini
digunakan untuk membatasi perulangan.
Algoritma mencetak kata yang yang dimasukkan oleh pengguna merupakan bentuk
algoritma pengulangan.
Soal Latihan:
1. Buat Flowchart untuk menghitung Temperatur dalam derajat Celcius dan Reamuur,
temperatur dalam derajat Fahrenheit.
2. Buat Flowchart menghitung luas Trapesium sama kaki yang diketahui alas, sudut alas serta
tingginya.
3. Hitung luas dan keliling lingkaran yang diketahui jari-jarinya.
4. Hitung Luas serta panjang sisi miring segitiga siku-siku jika diketahui ke 2 sisi siku-sikunya.
5. Hitung Luas Jajaran Genjang yang diketahui 2 buah sisi serta sudut antara ke 2 sisi
tersebut.
6. Hitung Luas segi lima beraturan yang diketahui panjang sisinya.
7. Hitung Luas dan Keliling segitiga yang diketahui ketiga sisinya.
8. Hitung Jari-Jari dan Luas Lingkaran Dalam dari segitiga yang diketahui ke 3 sisinya.
9. Hitung Jari-Jari dan Luas Lingkaran Luar dari segitiga yang diketahui ke 3 sisinya.
2015 10
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
10. Hitung Luas dan keliling segi 10 beraturan yang diketahui jari-jari lingkaran luarnya.
11. Hitung Luas dan keliling segi 8 beraturan yang diketahui jari-jari lingkaran dalamnya.
12. Hitung Luas permukaan serta isi balok yang diketahui ke 3 rusuknya.
13. Hitung Luas permukaan serta isi bola yang diketahui jari-jarinya.
14. Hitung Luas permukaan serta isi tabung tertutup yang diketahui tinggi dan jari2 alasnya
Daftar Pustaka
Antony Pranata, Algoritma dan Pemrograman, J & J Learning, Yogyakarta, 2000
Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung,
2007.
Suryadi H.S., Agus Sumin, Pengantar Algoritma dan Pemrograman Teknik Diagram Alur dan
Bahasa Basic Dasar, Gunadarma, 1993.
2015 1
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
MODUL PERKULIAHAN
Algoritma
Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Ilmu Komputer Sistem Informasi
02 87001 Team Dosen
Abstract Kompetensi
Terminologi Algoritma, Struktur Dasar Algoritma, Bentuk Penulisan Algoritma
Memahami Konsep Algoritma, Mampu menjelaskan tahapan-tahapan dalam pemrograman komputer
2015 2
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
2015 3
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Algoritma
2.1. Pengertian Algoritma
Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma
disusun oleh sederetan langkah instruksi yang logis.
Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam
algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat
ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang
salah.
Sebagai contoh, tinjau persoalan mempertukarkan isi dua bejana, A dan B. Bejana A
berisi larutan yang berwarna merah, sedangkan bejana B berisi air berwarna biru. Kita ingin
mempertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna
biru dan bejana B berisi larutan berwarna merah.
Untuk mempertukarkan isi dua bejana, kita memerlukan sebuah bejana tambahan yang
diperlukan sebagai tempat penampungan sementara. Sebut bejana tambahan tersebut bejana
C. Dengan menggunakan bejana bantu C ini, algoritma mempertukarkan isi dua buah bejana
yang benar adalah sebagai berikut ini:
Algoritma Tukar Isi Bejana:
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana
B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga
bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.
2015 4
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
2.2 Tahapan Pelaksanaan Program Oleh Komputer
Keterangan:
Algoritma di translasikan menjadi program dalam bahasa tingkat tinggi. Selanjutnya, program
dikompilasi dan diterjemahkan menjadi program dalam bahasa mesin dan di-link dengan berkas
library. Instruksi dalam bahasa mesin diinterpretasikan oleh CPU. Operasi yang bersesuaian
dengan setiap instruksi dilaksanakan.
2.3 Notasi Algoritma
Algoritma
Program dalam Bahasa
Tingkat Tinggi
Program dalam Bahasa
Mesin
Translasi
Kompilasi + Linking
Interpretasi oleh CPU
Operasi
(baca, tulis, hitung, perbandingan, dsb)
2015 5
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Notasi
algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi
algoritma yang berbeda. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan
dimengerti. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu
diperhatikan. Di bawah ini notasi yang umum digunakan dalam penulisan algoritma :
2.3.1 Notasi I: menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif
Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’,
dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’.
Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya
besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relatif sukar.
2.3.2 Notasi II: menggunakan diagram alur (Flow chart)
Diagram alir popular pada awal-awal era pemrograman dengan computer (terutama
dengan bahasa Basic, Fortran, dan Cobol). Diagram alir lebih menggambarkan aliran
instruksi di dalam program secara visual dibanding memperlihatkan struktur program.
Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah
Algoritma EUCLIDEAN
Diberikan dua buah bilangan bulat tak-negatif m dan n (m ≥ n). carilah pembagi
bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif
terbesar yang habis membagi m dan n.
Deskripsi:
1. Jika n = 0 maka m adalah jawabannya;
Stop.
Tetapi jika m ≠ 0, lanjutkan ke langkah 2
2. Bagilah m dengan n dan misalkan r adalah sisanya.
3. ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali
ke langkah 1.
2015 6
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas.
Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif
sukar.
tidak
2.3.3 Notasi III: menggunakan Pseudo-code
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi,
khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang
hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until,
read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan
dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya,
sembarang versi Pseudo-code dapat diterima asalkan perintahnya tidak
Baca m dan n
r = m mod n m = n n = r
Tulis n
berhenti
mulai
N = 0
2015 7
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah
kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat
korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman.
KOTAK KEPUTUSAN, untuk memutuskan arah atau percabangan yang diambil
sesuai dengan kondisi yang saat itu terjadi , BENAR atau SALAH
Kata-kata yang digaris bawahi menyatakan kata-kata kunci untuk setiap notasi pseudo-
code yang digunakan.
2.4 Proses, Instruksi, dan Aksi
Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Tiap
langkah instruksi tersebut mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan,
A < 3
?
Yes
No
Algoritma EUCLIDEAN
{Dibaca dua buah bilangan bulat tak-negatif m dan n (m≥n). carilah pembagi
bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif
terbesar yang habis membagi m dan n.}
DEKLARASI:
m, n : integer {bilangan bulat yang akan dicari pbt-nya}
r : integer {sisa hasil bagi}
DESKRIPSI:
read (m,n) {m ≥ n}
while n ≠ 0 do
r m MOD n {hitung sisa hasil pembagian}
m n
n r
endwhile
{kondisi selesai pengulangan: n= 0, maka pbt(m,n) = m}
write(m)
2015 8
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari
pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum
dimulai, dan keadaan pada saat aksi selesai dikerjakan.
Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebih
dahulu. Langkah global ini diperhalus samapai langkah yang lebih rinci. Pendekatan desain
algoritma seperti ini dinamakan Top-Down design. Cara pendekatan seperti ini sangant
bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks.
Gagasan penghalusan langkah adalah memecah proses menjadi beberapa langkah. Tiap
langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah
terus berlanjut samapai tiap langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh
pemroses.
2.5 Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah
tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari
tiga buah struktur dasar, yaitu:
1. Runtunan (sequence).
2. Pemilihan (selection).
3. Pengulangan (repetition).
2..5.1 Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara
berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah
instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir
algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga berubah.
Contoh : READ(A)
READ(B)
T = A + B
WRITE T
Instruksi di atas dilaksanakan secara berurutan atau sekuen sehingga membentuk struktur
sequential flow
2015 9
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
2.5.2 Pemilihan
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Kondisi adalah
persyaratan yang dapat bernilai benar atau salah. Dalam pemilihan dikenal beberapa struktur
pemilihan, yaitu:
If - then
Aksi hanya akan dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila
kondisi bernilai salah, maka aksi tidak akan dilaksanakan.
Struktur Umum: if kondisi then
Aksi
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persyaratan)
dipenuhi (bernilai benar), dan tidak memberikan pilihan aksi lain bila kondisi bernilai
salah.
If-then-else
Struktur pemilihan ini memberikan dua buah aksi yang akan dikerjakan tergantung pada
nilai kondisinya. Struktur umumnya:
if kondisi then
aksi 1
else
aksi 2
Else artinya ”kalau tidak”. Bila kondisi benar, aksi 1 yang akan dikerjakan, tetapi kalau
tidak, aksi 2 yang akan dikerjakan.
Contoh:
If x > y then
Tulis x sebagai bilangan terbesar
Else
Tulis y sebagai bilangan terbesar
2015 10
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Contoh diatas adalah untuk menentukan nilai terbesar dari dua buah bilangan bulat, x
dan y (andaikan x ≠ y)
If-then-else if
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pilihannya
menjadi lebih rumit, biasanya untuk pemilihan seperti ini disebut pemilihan bersarang.
Contoh: menentukan bilangan terbesar dari tiga buah bilangan: x, y, z:
If x > y then
If x > z then
Tulis x sebagai bilangan terbesar
Else
Tulis z sebagai bilangan terbesar
Else
If y > z then
Tulis y sebagai bilangan terbesar
else
Tulis z sebagai bilangan terbesar
Kelebihan struktur pemilihan terletak pada kemampuannya yang memungkinakan
pemroses mengikuti jalur aksi yang berbeda berdasarkan kondisi yang ada.
2.5.3 Pengulangan
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak
beberapa kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa kali
perintah tetapi penulisan perintah tersebut hanya satu kali.
Struktur pengulangan yang umum digunakan antara lain:
Pernyataan for
Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali kita akan
mengulang satu atau beberapa pernyataan. Bentuk umum pernyataan for adalah sbb:
For pencacah := nilai_awal to nilai_akhir do
Aksi
Aksi akan dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari nilai_awal
sampai nilai_akhir
2015 11
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Pernyataan repeat-until
Pernyataan repeat-until akan melakukan pengulangan aksi hingga kondisi (persyaratan)
berhenti terpenuhi. Bentuk umum pernyataan repeat-until adalah sbb:
Repeat
Aksi
Until kondisi
Tidak seperti pada struktur for-do yang jumlah pengulangannya diketahui sebelum
pengulangan dilaksanakan, maka untuk struktur repeat-until digunakan jika jumlah
pengulangan tidak dapat diketahui di awal. Namun yang pasti, pengulangan aksi akan
terus dilakukan sampai kondisi berhenti dipenuhi.
Pernyataan while-do
Sama seperti pada pernyataan repeat-until, pada pernyataan while-do ini digunakan
untuk pengulangan yang belum diketahui pasti jumlah pengulangannya, berakhirnya
pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi, maka
pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi,
pengulangan akan terus dilakukan. Bentuk umum pernyataan while-do adalah sebagai
berikut:
While kondisi do
Aksi
Catatan:
Pada pernyataan repeat-until dan while-do, pada dasarnya hampir sama yaitu
digunakan jika jumlah pengulangan belum dapat ditentukan. Tetapi terdapat perbedaan
yaitu pada pengecekan kondisi. Jika pada pernyataan while, kondisi dicek pada awal
blok pengulangan, pada pernyataan repeat-until, kondisi dicek pada akhir blok
pengulangan.
Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi
masih terpenuhi, pernyataan repeat-until mengulang pernyataan selama kondisi belum
terpenuhi.
2015 12
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Latihan:
1. Buatlah algoritma dengan notasi deskriftif dengan masalah sbb:
Seorang pemuda berada di tepi sebuah sungai, pemuda tersebut membawa seekor
kambing, seekor serigala, dan sekeranjang sayur. Mereka bermaksud menyebrang sungai.
Pemuda tersebut menemukan sebuah perahu kecil yang hanya dapat memuat satu bawaan
setiap kali menyebrang. Situasi dipersulit dengan dengan kenyataan bahwa serigala tidak
dapt ditinggal berdua dengan kambing (karena serigala akan memangsa kambing) atau
kambing tidak dapat ditinggal berdua dengan sekeranjang sayur (karena kambing akan
memakan sayur). Buatlah algoritma untuk menyebrangkan pemuda dan seluruh bawaannya
itu sehingga mereka sampai ke seberang sungai dengan selamat.
2. Buatlah algoritma untuk meminta masukan tiga bilangan dari pengguna kemudian
menampilkan bilangan terkecil di antara ketiga bilangan tersebut.
3. Sebuah tabel terdiri atas kolom NIM, Nama, alamat, dan Nomor Telepon. Tabel tersebut
sudah berisi data utama sekumpulan mahasiswa di sebuah Perguruan Tinggi. Tuliskan
algoritma dalam notasi pseudo-code jika kita ingin mengetahui alamat dan nomor telepon
mahasiswa dengan NIM tertentu pada tabel tersebut.
2015 13
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Daftar Pustaka
Antony Pranata, Algoritma dan Pemrograman, J & J Learning, Yogyakarta, 2000
Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media,
2004.
Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung,
2007.
2015 1
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
MODUL PERKULIAHAN
Dasar Pemrograman
Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana
Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh
Ilmu Komputer Sistem Informasi
03 87001 Team Dosen
Abstract Kompetensi
Struktur Program PASCAL dan Perintah sederhana dalam bahasa PASCAL
Mengerti Struktur Program PASCAL dan Mampu membuat program sederhana dalam bahasa PASCAL
2015 2
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
2015 3
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Bahasa Pascal
Sejarah Pascal
Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala
tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich, Switzerland.
Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan
philosophi terkenal abad 17 dari Perancis.
Profersor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk
komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan
tujuan untuk mengajar program komputer secara sistematis, khususnya untuk memperkenalkan
bahasa pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa
yang ditujukan untuk membuat program terstruktur.
BAHASA KOMPUTER
Ada tiga jenis bahasa yang dikenal oleh komputer :
1. Bahasa Mesin (Machine Language)
Instruksi komputer yang disimpan dalam memori komputer berupa bits (bilangan biner, yaitu
0 atau 1). Instruksi bahasa mesin sangat tergantung kepada hardware dan desain dari
komputer itu sendiri. Oleh karena itu komputer yang berbeda mungkin saja memiliki kode
mesin yang berbeda pula. Pemrograman dalam bahasa mesin sangat sulit dan memerlukan
waktu yang lama.
Berikut contoh dari bahasa mesin
Addres Content
001 10011001
002 10011101
003 00010101
004 10101100
005 10001001
2015 4
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
. . . . . .
2. Bahasa Assembly
Adalah salah satu bahasa tingkat rendah (low level language). Dalam bahasa assembly,
programmer menulis instruksi dengan menggunakan kode alphabetic yang dikenal dengan
nama mnemonic. Bahasa assembly sangat bergantung kepada jenis instruksi komputer
yang digunakan. Sebagai contoh bentuk menmonic untuk operasi penambahan,
pengurangan, perkalian dan pembagian dinyatakan dengab kata ADD, SUB, MPY dan DIV
• Berikut contoh dari bahasa assembly
MOV N, R0
MOV #1000, R1
MOV #2000, R2
MOV #3000, R3
JSR R7, ROUTINE
HALT
ROUTINE MOV (R1) +, R4
ADD -(R2),R4
MOV R4, (R3) +
INC R0
BL1 ROUTINE
RTS R7
N : WORD -25
3. Bahasa tingkat tinggi (High Level Language)
Dalam bahasa tingkat tinggi, instruksi program atau pernyataan ditulis dengan
menggunakan bahasa manusia untuk menyatakan data yang akan dimanipulasi atau
aksi yang akan dilakukan.Bahasa tingkst tinggi tidak bergantung kepada jenis instruksi
komputer, artinya tidak tergantung pada jenis perangkat komputer yang digunakan.
Dengan demikian bahasa tingkat tinggi harus dapat diterjemahkan kedalam bahasa
mesin dan harus dapat dieksekusi pada koputer yang berbeda. Program yang
menerjemahkan bahasa tingkat tinggi kedalam bahasa mesin disebut compiler, program
yang digunakan untuk menulis bahasa tingkat tinggi disebut dengna source program.
Program yang diterjemahkan Compiler kedalam bahasa mesin disebut dengan Object
2015 5
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Program. Contoh dari bahasa tingkat tinggi adalah bahasa ADA, BASIC, COBOL,
FORTRAN, LISP, MODULA-1, PASCAL, C, C++ dan lain-lain.
Kompilasi & Execusi
Sistem komputer terdiri dari perangkat keras (hardware) dan perangkat lunak (software).
Proses kompilasi dan eksekusi pada bahasa tingkat tinggi terjadi dalam sistem komputer.
Proses tersebut dapat digambarkan sebagai berikut :
Langkah-langkah dalam pemrograman
a. Menulis Program
b. menjalankan dan menguji kebenaran program
c. jika terjadi kesalahan (logika maupun kaidah) program diperbaiki dan
d. kembali ke langkah b.
Langkah-langkah tersebut dapat di gambarkan dengan Flowchart.
SISTEM KOMPUTER
Pascal
Compiler Object
Program Link
Executable
Program C
O
M
P
U
T
E
R
Source
Program
Input
Data
Output
Library
Procedur
2015 6
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Struktur Program Pascal
Struktur dari suatu program Pascal terdiri dari sebuah judul program (optional) dan suatu blok
program (block program) atau badan program (body program).
Judul program (program heading)
Blok program dibagi lagi menjadi dua bagian, yaitu
bagian deklarasi (declaration part).
Bagian deklarasi dapat terdiri dari
deklarasi label (label declaration),
deklarasi konstanta (constant declaration),
deklarasi tipe (type declaration),
deklarasi variabel (variabel declaration),
deklarasi prosedur (procedure declaration) dan
deklarasi fungsi (function declaration).
Bagian pernyataan (statement part)
• Program Pascal Sederhana
Program berikut ini adalah program Pascal yang sederhana yang bertujuan untuk
mencetak kalimat Hello World pada layar. Pada bagian kiri program terdapat angka yang
menunjukkan baris program. Angka ini akan digunakan untuk menjelaskan makna dari
penulisan tersebut. Bagian tersebut bukan merupakan bagian dari struktur program
sehingga tidak perlu ditulis pada saat membuat program.
2015 7
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
• Tutorial 1.1
{1} program tutorial1; uses wincrt;
{2} var
{3} world_stmt: string;
{4} begin
{5} world_stmt := 'Hello world!';
{6} writeln(world_stmt);
{7} end.
Penjelasan Program Sederhana
Berikut penjelasan dari setiap baris program diatas,
{1} Baris ini merupakan nama program, dan klausa program (uses).Uses adalah sintak program
yang digunakan untuk memanggil library atau *unit*. Crt / Wincrt adalah adalah salah satu
library yang paling banyak digunakan didalam program Pascal. Masih banyak lagi libray
yang disediakan oleh program pascal. Dengan library ini Compiler dapat mengetahui
library yang diperlukan.
{2} var adalah bagian awal dari blok program. Bagian ini memberitahukan compiler bahwa
ada variabel yang akan didefinisikan.
{3} world_stmt adalah nama dari sebuah variabel. Variabel tersebut dideklarasikan
dengan tipe string.
{4} begin adalah sintak yang menunjukkan awal dari sebuah blok kode program
{5} & {6} adalah perintah program. Perintah-perintah program ini akan dijelaskan nanti.
{7} end adalah akhir dari sebuah blok program.
Perintah-Perintah Dasar Pascal
• Definisi Variabel
o String : adalah tipe teks atau kalimat. Contoh : “hello world”, “informatika”.
o Integer : adalah Bilangan yang bukan bilangan desimal. Contoh : 23, 12, 9
o Char : adalah bagian dari string. Contoh “ “h”, “o”, “1”
o Real : adalah bilangan desimal. Contoh : 23.5 adalah bilangan real
Komentar (Comments) Komentar adalah teks yang ditulis dengan tujuan untuk
menjelaskan maksud dari kode program yang ditulis. Komentar ditulis dengan
menggunakan tanda { atau (* untuk tanda pembukan dan *) untuk tanda penutup.
Pemberian Nilai (Assignment) Dalam Pascal
2015 8
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Pemberian nilai (assignment) ke sebuah variabel dilakukan dengan menggunakan tanda
‘:=’. Berikut contoh pemberian nilai (assignment) :
o choice_char := 'a';
{ Nilai yang diberikan terhadap variabel yang bertipe karakter. Untuk tipe karakter ini
juga nilai yang diberikan menggunakan tanda ‘}
o money := 3.25;
{ Nilai yang diberikan terhadap variabel yang bertipe real}
o coins := 10;
{ Nilai yang diberikan terhadap variabel yang bertipe integer}
Contoh Program Pertama :
Program Pendahuluan
Begin
Writeln(‘Hello World’);
End.
Hasil eksekusi program:
Hello World
Mengenal Prosedur Writeln dan Readln
Dalam bahasa pascal, prosedur yang digunakan untuk melakukan penulisan adalah Write
dan Writeln. Perbedaan dari kedua buah prosedur ini hanyalah terdapat pada posisi kursornya.
Pada prosedur Write kursor akan berada di belakang teks yang dituliskan. Sedangkan pada
prosedur Writeln, setelah menuliskan teks maka posisi kursor akan dipindahkan ke baris
berikutnya. Selanjutnya untuk proses pembacaan, bahasa Pascal memiliki prosedur Read,
Readln dan ReadKey. Namun prosedur yang sering digunakan adalah Readln.
Komentar Program
Komentar program merupakan bagian program yang tidak ikut dieksekusi sehingga
kehadirannya tidak mempengaruhi jalannya program. Pada umumnya bahasa Pascal hanya
mendukung dua macam cara untuk membuat komentar program, yaitu:
1. Menggunakan tanda (*...*)
2015 9
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Komentar ini dapat digunakan untuk menuliskan komentar yang banyaknya lebih dari satu
baris.
Contoh
(* Ini adalah komentar program yang banyaknya satu baris*)
(* Ini juga merupakan komentar program dengan banyak baris lebih dari satu*)
2. Menggunakan tanda {...}
Komentar ini lebih sering digunakan oleh para programmer Pascal karena lebih singkat dan
sederhana.
Contoh:
{ Ini adalah komentar program yang banyaknya satu baris}
{ Ini juga merupakan komentar program dengan banyak baris lebih dari satu}
Reserved Word
Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah
terintergrasi dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah
didefinisikan oleh Pascal.
Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat
digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, beberapa
Reserved Word dalam Pascal antara lain:
AND DOWNTO IN OF STRING ASM
OR INHERITED THEN ARRAY END
TO BEGIN EXPORTS INTERFACE PROCEDURE TYPE
FILE LABEL PROGRAM UNIT CONST FOR
NIL RECORD REPEAT FUNCTION CONSTRUCTOR MOD
GOTO DESTRUCTOR LIBRARY SET VAR DIV
ELSE PACKED CASE UNTIL USES IF
NOT SHL WHILE DO IMPLEMENTATION
OBJECT SHR WITH INLINE
.
2015 10
Dasar Pemrograman Pusat Bahan Ajar dan eLearning
Team Dosen http://www.mercubuana.ac.id
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved
Word berikut:
ABSOLUTE ASSEMBLER () FAR FORWARD INDEX
Statemen-statemen yang digunakan untuk pengaturan letak layar.
# ClrScr [prosedur].
Perintah ini digunakan untuk membersihkan layar.
sintaks: ClrScr; �[Clear screen]
# GotoXY[prosedur].
Untuk menempatkan posisi kursor pada layar.
Sintaks: GotoXY(X, Y: Byte);
Keterangan : X = sumbu X (posisi horisontal)
Y = sumbu Y (posisi vertikal)
# DelLine [prosedur].
Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya.
Sintaks: DelLine;
# InsLine [prosedur].
Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilan-
tampilan baris dibawahnya.
Sintaks: InsLine;
Statemen yang digunakan untuk memanipulasi string.
# ConCat[fungsi].
Untuk menggabungkan 2 atau beberapa variabel string.