Anda di halaman 1dari 54

LAPORAN

ALGORITMA DAN PEMROGRAMAN


1 SIANG A

Nama Praktikan

Nomor
Mahasiswa

Tanggal
Kumpul

Tanda Tangan
Praktikan

M.Alif Habibi

1414370290

Nama Penilai

Tanggal
Koreksi

Nilai

Tanda Tangan
Dosen

Indri Sulistianingsih, S.Kom

UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN


FAKULTAS TEKNIK
SISTEM KOMPUTER
2014

KATA PENGANTAR

Alhamdulillah, puji syukur penulis haturkan kehadirat Allah SWT. Atas


rahmat-Nya lah Penulis dapat menyelesaikan Praktikum dan Laporan
praktikum ini tepat pada waktunya. Tak lupa Penulis juga menghaturkan terima
kasih yang sebesar-besarnya kepada semua pihak yang telah mendukung dan membantu
Penulis dalam menyelesaikan Laporan Praktikum ini.
Dalam Laporan Praktikum ALGORITMA DAN PEMROGRAMAN ini,
akan dibahas mengenai pengertian Algoritma dan Pemrograman, sejarah
Algoritma itu sendiri, kemudian dasar-dasar pemrograman yang menjelaskan
tentang variabel, tipe data, dan operator yang terdapat dalam bahasa
pemrograman. Selain itu, untuk mempermudah pemahaman juga sebagai bahan
latihan, Penulis juga menyertakan contoh program yang dapat dipraktekkan oleh para
pembaca.
Namun demikian, Penulis merasa masih banyak sekali kekurangan
dalam penyusunanLaporan Praktikum ini, sesuai dengan pepatah yang mengatakan bahwa
tak ada gading yang tak retak. Oleh karena itu, segala saran dan kritik yang membangun dari
yang lebih berkompeten di bidang Algoritma dan Pemrograman, penulis terima
dengan penuh rasa terima kasih.
Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi para
pembaca, khususnya bagi yang akan mempelajari Algoritma dan Pemrograman.

I
Laporan Praktikum Algoritma Pemrograman

DAFTAR ISI

KATA PENGANTAR

DAFTAR ISI

II

BAB 1 PENDAHULUAN

1.1.LATAR BELAKANG

1.2.TUJUAN

BAB 2 DASAR TEORI


2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN

2.1.1. DEFINISI ALGORITMA

2.1.1.1. ALGORITMA MERUPAKAN


JANTUNG ILMU INFORMATIKA

2.1.1.2. MEKANISME PELAKSANAAN


ALGORITMA OLEH PEMROSES

2.1.1.3. BELAJAR MEMPROGRAM DAN


BELAJAR BAHASA PROGRAM

2.1.1.4. ALGORITMA

2.1.1.5. NOTASI ALGORITMA INDEPENDEN


TERHADAP

BAHASA PEMROGRAMAN

DAN MESIN KOMPUTER


2.1.2. ATURAN PENULISAN ALGORITMA

9
14

II
Laporan Praktikum Algoritma Pemrograman

2.2. PENGERTIAN DAN DEFINISI FLOWCHART


2.2.1. JENIS JENIS FLOWCHART

19
19

2.2.2. SIMBOL SIMBOL DAN


NOTASI FLOWCHART

21

2.3. PENGERTIAN TIPE DATA

26

2.4 PENGERTIAN STRUKTUR KONDISI

30

2.5 PENGERTIAN PENGULANGAN

39

BAB 4 PENUTUP

62

4.1. KESIMPULAN

62

4.2. REFERENSI

62

III
Laporan Praktikum Algoritma Pemrograman

BAB I
Pendahuluan
1.2. Latar Belakang
Pesatnya teknologi, terutama teknologi komputer sudah tak bisa
dipungkiri lagi, bagi yang mengikuti perkembangannya, ia tidak akan
dipandang sebelah mata. Sebaliknya, bagi yang tidak mengikuti
perkembangannya, bersiaplah untuk mundur secara suka rela dari
panggung kompetisi. Ibarat wabah, teknologi komputer sudah menyusupi
hampir semua bidang kehidupan manusia. Dari pemerintah pusat sampai
tingkat

pemerintah

desa,

perusahaan-perusahaan,

supermarket,

minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD hampir semuanya


mengenal komputer. Saat ini, yang mempunyai lingkungan yang semakin luas
dan banyak diminati, juga dapat digunakan untuk menghasilkan uang
adalah dunia pemrograman komputer. Dalam dunia pemrograman
komputer, dikenal algoritma dan banyak bahasa pemrograman, seperti C,
C++, Pascal, Basic, Java, dan lain-lain. Oleh karena itulah, yang akan
dibahas dalam makalah ini adalah Algoritma dan Pemrograman.
1.2. Tujuan
Laporan praktikum ini disusun dengan tujuan sebagai sarana
untuk mengikuti pesatnya perkembangan teknologi komputer di masa
sekarang ini, salah satunya di dunia pemrograman yang sekarang semakin
banyak diminati. Selain itu, tujuan disusunnya makalah ini adalah untuk
memenuhi tugas matakuliah Algoritma dan Pemrograman , dikarenakan
Penulis masih berstatus sebagai mahasiswa Jurusan Sistem Komputer di
Fakultas Teknik, di Universitas Pembanguna PancaBudi Medan.

1
Laporan Praktikum Algoritma Pemrograman

BAB 2
DASAR TEORI

2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN


Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai
sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti
proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda
menghitung menggunakan Angka Arab. Para ahli bahasa berusaha
menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya
para ahli sejarah matematika menemukan asal kata tersebut yang berasal
dari nama penulis buku arab yang terkenal yaitu Abu Jafar Muhammad
Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi

dibaca

orang

barat

menjadi

Algorism.

Al-

Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala


yang artinya Buku pemugaran dan pengurangan (The book of
restoration and reduction). Dari judul buku itu kita juga memperoleh akar
kata Aljabar (Algebra). Perubahan kata dari Algorism menjadi
Algorithm muncul karena kata Algorism sering dikelirukan dengan
Arithmetic, sehingga akhiran sm berubah menjadi thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka
lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode
perhitungan (komputasi) secara umum, sehingga kehilangan makna kata
aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi
Algoritma.

2
Laporan Praktikum Algoritma Pemrograman

Bahasa Pemrograman merupakan notasi yang dipergunakan untuk


mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh
komputer dan manusia. Proses komputasi umumnya didefinisikan secara
formal menggunakan konsep matematika dari Mesin Turing. Pada
dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi
antara manusia dengan komputer.
Sebuah bahasa pemrograman disebut Turing Complete jika dapat
dipergunakan untuk mendeskripsikan semua komputasi yang dapat
dilakukan Mesin Turing, yaitu memiliki variable integer dan operator
aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan
seleksi, dan pernyataan iterasi.

2.1.1. DEFINISI ALGORITMA


Algoritma adalah urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis dan logis. Kata Logis
merupakan kata kunci dalam Algoritma. Langkah-langkah dalam
Algoritmaharus logis dan harus dapat ditentukan bernilai salah atau benar.

2.1.1.1. Algoritma Merupakan Jantung Ilmu Informatika


Algoritma adalah jantung ilmu komputer atau informatika.
Banyak cabang ilmu computer yang diacu dalam terminologi
algoritma. Namun, jangan beranggapan algoritma selalu identik
dengan ilmu komputer saja. Dalam kehidupan sehari-haripun
banyak terdapat proses yang dinyatakan dalam suatu algoritma.
Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu
resep juga dapat disebut sebagai algoritma. Pada setiap resep

3
Laporan Praktikum Algoritma Pemrograman

selalu ada urutan langkah-lankah membuat masakan. Bila langkahlangkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatannya lalu ia
mengerjakan proses sesuai yang ia baca. Secara umum, pihak
(benda) yang mengerjakan proses disebut pemroses (processor).
Pemroses tersebut dapat berupa manusia, komputer, robot atau alat
alat elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau mengeksekusi algoritma yang menjabarkan
proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di
dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai
dengan algoritma yang diberikan kepadanya. Juru masak membuat
kue

berdasarkan

resep

yang

diberikan

kepadanya,

pianis

memainkan lagu berdasarkan papan not balok. Karena itu suatu


Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti
oleh pemroses. Jadi suatu pemroses harus :
1.

Mengerti setiap langkah dalam Algoritma.

2.

Mengerjakan operasi yang bersesuaian dengan langkah

tersebut.

Laporan Praktikum Algoritma Pemrograman

2.1.1.2. Mekanisme Pelaksanan Algoritma Oleh Pemroses


Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan
oleh komputer, algoritma hasrus ditulis dalam notasi bahasa
pemrograman sehingga dinamakan program. Jadi program adalah
prwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh
komputer.

2.1.1.3. Belajar Memprogram Dan Belajar Bahasa Pemrograman


Belajar

memprogram tidak

pemrograman.

Belajar

sama

dengan

belajar

bahasa

memprogram adalah belajar

tentang

metodologi pemecahan masalah, kemudian menuangkannya dalam


suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan
belajar bahasa pemrograman berarti belajar memakai suatu bahasa
aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi
tersebut untuk membuat program yang ditulis hanya dalam bahasa
itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat
dibedakan berdasarkan tujuan dan fungsinya. Diantaranya adalah :

5
Laporan Praktikum Algoritma Pemrograman

Programming
Language Paradigm

Declarative

Imperative

Prosedural C,
Pascal,
Fortran,
Basic

ObjOriented
Ada, Object
Pascal, C++,
Java,
Smalltalk,
Eiffel

Parallel
Processing :
Ada, Pascal S,
Occam,
CLinda

Logic :
PROLOG

Functional :
LISP, APL,
SCHEME

Database :
SQL

a. Belajar Memprogram
Belajar memprogram belajar bahasa pemrograman
Belajar memprogram : belajar tentang strategi pemecahan
masalah, metodologi dan sistematika pemecahan masalah
kemudian menuliskannya dalam notasi yang disepakati
bersama.
Belajar memprogram : bersifat pemahaman persoalan,
analisis dan sintesis.
Belajar memprogram, titik berat : designer program.

b. Belajar Bahasa Pemrograman


Belajar bahasa pemrograman : belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk memanfaatkan
instruksi yang spesifik untuk setiap bahasa.
Belajar bahasa pemrograman, titik berat : coder.

6
Laporan Praktikum Algoritma Pemrograman

c. Produk yang dihasilkan Pemrogram :


Program

dengan

rancangan

yang

baik

(metodologis,

sistematis).
Dapat dieksekusi oleh mesin.
Berfungsi dengan benar.
Sanggup melayani segala kemungkinan masukan.
Disertai dokumentasi.
Belajar memprogram, titik berat : designer program.

2.1.1.4. Algoritma
a. Aksi :
kejadian yang terjadi pada selang waktu terbatas (dimulai
saat T0 dan berakhir pada saat T1).
Menghasilkan efek netto yang terdefinisi dengan baik dan
direncanakan.
b. Contoh :
Ibu Tati mengupas kentang untuk mempersiapkan makan
malam (luas ruang lingkupnya).
Karena ruang lingkup luas, maka harus didefinisikan keadaan
awal dan efek netto yang direncanakan ( Initial State dan
Final State).
Initial State (keadaan awal) : T0 kentang sudah ada dikantong
kentang, dan ditaruh di rak dapur dimana ibu Tati akan
mengupasnya.
Final State (keadaan akhir) : T1 kentang dalam keadaan
terkupas di panci, siap untuk dimasak dan kantong kertasnya
harus dikembalikan ke rak lagi.

7
Laporan Praktikum Algoritma Pemrograman

Kejadian : urut-urutan dari beberapa aksi yang terjadi secara


berurutan.
Efek kumulatif dari semua aksi yang terjadi menjadi efek
netto dari kejadian.
Penggolongan suatu kejadian menjadi aksi adalah relatif
tergantung dari sudut pandang. Contoh mengupas kentang
dapat dijelaskan :
- Ambil kantong kentang dari rak
- Ambil panci dari almari
- Kupas kentang
- Kembalikan kantong kentang ke rak
Contoh lain (jika tidak dipandang perlu untuk menjelaskan
kantong kentang diambil dari rak sebelum ambil panci) :
- Ambil kantong kentang dari rak dan ambil panci dari
almari
- Kupas kentang
- Kembalikan kantong kentang ke rak

Jika esok hari ibu Tati mengupas kentang lagi untuk makan
malam juga, dan kita mengamati hal-hal yang sama, apakah hal
tsb bisa disebut sama? Ini tergantung jawabannya bisa sama
bisa tidak.
Tidak karena ibu Tati tidak mungkin mengupas kentang yang
sama dengan kemarin.
Sama karena kemiripan pola yang dilakukan.

8
Laporan Praktikum Algoritma Pemrograman

2.1.1.5.

Notasi

Algoritma

Independen

Terhadap

Bahasa

Pemrograman Dan Mesin Komputer


Notasi Algoritma dapat diterjemahkan ke dalam berbagai
bahasa pemrograman. Analoginya sama dengan resep membuat
kue. Sebuah resep dapat ditulis dalam bahasa apapun dan
hasilnya akan sama asalkan semua aturan pada resep diikuti.
Mengapa demikian ? Karena setiap juru masak (sebagai
pemroses) dapat melakukan operasi dasar yang sama, seperti
mengocok telur, menimbang berat gula, dan lain sebagainya.
Demikian juga halnya dengan komputer. Meskipun setiap
komputer berbeda teknologinya, tetapi secara umum semua
komputer dapat melakukan operasi-operasi dasar dalam
pemrograman
perbandingan,

seperti
operasi

operasi

pembacaan

aritmatika,

dan

data,

operasi

sebagainya.

Perkembangan teknologi komputer tidak mengubah operasioperasi dasar itu, yang berubah hanyalah kecepatan, biaya, atau
tingkat ketelitian. Pada sisi lain setiap program dalam bahasa
tingkat tinggi selalu diterjemahkan kedalam bahasa mesin
sebelum akhirnya dikerjakan oleh CPU. Setiap instruksi dalam
bahasa mesin menyajikan operasi dasar yang sesuai, dan
menghasilkan efek netto yang sama pada setiap komputer.

9
Laporan Praktikum Algoritma Pemrograman

Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah.
Ini berarti Algoritma adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam
memecahkan suatu masalah.
Pada pemrograman procedural, program dibedakan antara
bagian data dengan bagian instruksi. Bagian instruksi terdiri
atas runtutan (sequence) instruksi yang dilaksanakan satu per
satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi
dapat berubah karena adanya pencabangan kondisional. Data
yang disimpan di dalam memori dimanipulasi oleh instrusi
secara beruntun atau procedural. Paradigma pemrograman
seperti ini dinamakan pemrograman procedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal,
Fortran dan C mendukung kegiatan pemrograman procedural,
karena itu mereka dinamakan juga bahasa procedural. Selain
paradigma pemrograman procedural, ada lagi paradigma yang
lain yaitu pemrograman berorientasi objek (Object Oriented
Programming). Paradigma pemrograman ini merupakan trend
baru dan sangat populr akhir-akhir ini.

10
Laporan Praktikum Algoritma Pemrograman

Paradigma pemrograman yang lain adalah pemrograman


fungsional, pemrogramn deklaratif dan pemrograman
konkuren. Pada kesempatan ini penulis hanya menyajikan
paradigma pemrograman procedural saja.
Keuntungan pemakaian algoritma adalah: logika pemecahan
masalah dapat
dibuat bertingkat (mulai dari global menuju terperinci),
algoritma

merupakan bentuk fleksibel untuk diterapkan

keberbagai bahasa pemrograman.


Jadi Algoritma adalah:
1. penyusunaan aspekproses logika dari suatu pemecahan
masalah tanpa melihat karakteristik bahasa pemrograman
yang akan digunakan.
2. Urutan notasi logika yang merupakan hasil analiss dan
rancangan sistematik dari
untuk

strategi

pemecahan

maslah,

menggambarkan urutan langkah kerja yang jika

dikerjakan akan membawa ketujuannya.


3. Urutan logika langkah kerja untuk meyelesaikan suatu
masalah.
Contoh algoritma dalam kehidupan sehari-hari, misalnya:
menjahit pakaian, membuat kue, jadwal harian, panduan
merakit komputer, dan lain-lain.
Beberapa notasi yang digunakan dalam penulisan algoritma :
1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
3. Notasi III : psudo-code

11
Laporan Praktikum Algoritma Pemrograman

Simbol-simbol program flowchart

Contoh masalah : menghitung luas segiempat.


Notasi I :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar
dan panjang
segiempat
Deklarasi
Luas,panjang,lebar : bilangan bulat

Deskripsi
1. Masukkan nilai lebar dan panjang
2. Hitung luas sama dengan panjang kali lebar
3. Tampilkan Luas

12
Laporan Praktikum Algoritma Pemrograman

Notasi II :

Notasi III :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar
dan panjang
segiempat
Deklarasi
Luas,panjang,lebar :integer
Deskripsi
Input(n)
Luas= panjang * lebar
Output(Luas)

13
Laporan Praktikum Algoritma Pemrograman

2.1.2.

ATURAN PENULISAN ALGORITMA


Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-

langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca
dan dimengerti, karena memang tidak ada notasi baku dalam penulisan
algoritma. Tiap orang dapat membuat aturan penulisan dan notasi
algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam
notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut
berkorespnden dengan notasi bahasa pemrograman secara umum.
a. Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
Judul (Header)
Kamus
Algoritma
Pada setiap bagian tersebut apabila akan dituliskan komentar
mengenai setiap bagian tersebut dituliskan diantara tanda kurung
kurawa contoh { Komentar }. Notasi algoritmis yang dituliskan
diantara tanda ini tidak akan dieksekusi oleh program.
Contoh :
Judul
{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi awal dan
kondisi akhir dari algoritma }
Kamus
{ Pada bagian ini, didefinifikan nama konstanta, nama variable, nama
prosedur dan nama fungsi }
Algoritma
{ Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak
diantara tanda kurung kurawa akan dianggap sebagai notasi algoritma yang
akan berpengaruh terhadap kebenaran algoritma }

14
Laporan Praktikum Algoritma Pemrograman

Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah
program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan
spesifikasi singkat dari teks algoritma tersebut. Nama algoritma
sebaiknya singkat namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut.
Contoh :
Program Luas_Kubus
{Judul Algoritma}
{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan
lalu mencetak hasilnya kepiranti keluaran} {Spesifikasi Algoritma}

Catatan :
Untuk memisahkan antara kata dalam judul algoritma menggunakan
tanda _ bukanlah suatu keharusan. Anda dapat menuliskan
LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak
menggunakan spasi untuk memisahkan antara kata di dalam nama
algoritma.

Kamus (Deklarasi)
Kamus adalah bagian teks algoritma

sebagai tempat untuk

mendefinisikan :
Nama type
Nama konstanta
Nama variable
Nama fungsi
Nama prosedur

15
Laporan Praktikum Algoritma Pemrograman

Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah
didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan
nama dalam kamus sebaiknya dikelompokan menurut jenis nama
tersebut.

Nama

variabel

belum

terdefinisi

nilainya

ketika

didefinisikan. Pendefinisian nama konstanta sekaligus memberikan


harga konstanta tersebut, pendefinisian nama fungsi dilakukan
sekaligus dengan domain / range serta spesifikasinya. Pendefinisian
nama prosedur sekaligus dengan pendefinisian parameter (jika ada)
dan spesifikasi prosedur (kondisi awal Initial State, Kondisi akhir
Final State dan proses yang dilakukan).

Contoh :
Kamus
{Nama type, hanya untuk type yang bukan type dasar}
type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan
yaitu hh sebagai jam. mm sebagai menit dan ss sebagai detik}
{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
constant nama : string = Alex
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bilangan real}
Nama : string {suatu nilai yang merupakan kumpulan character}
P : point {suatu nilai pada bidang kartesian}
Cari : Boolean {suatu nilai logika}

16
Laporan Praktikum Algoritma Pemrograman

Algoritma (Deskripsi)

Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi
atau pemanggilan aksi yang telah didefinisikan. Komponen teks
algoritma dalam pemrograman procedural dapat berupa :
Instruksi dasar seperti input/output, assignment
Sequence (runtutan)
Analisa kasus
Perulangan
Setiap langkah algoritma dibaca dari atas ke bawah. Urutan
deskripsi penulisan menentuan urutan langkah pelaksanaan perintah.
Contoh :

Algoritma
input (c,d) {menerima masukan 2 bilangan c dan d}
if c < d then {operasi kondisional}
e a + b {e di assignment oleh nilai a dan b}
else
e a boutput (e) {hasil keluaran berupa bilangan e}

Catatan :
Untuk kata-kata input, output, if then else, output akan dipelajari lebih
mendalam dalam bab-bab selanjutnya.
Contoh Penyelesaian Masalah Oleh Algoritma
Mencetak String Selamat Belajar Algoritma dan Pemrograman ke
piranti Keluaran.

17
Laporan Praktikum Algoritma Pemrograman

Program Cetak_string
{mencetak string Selamat Belajar Algoritma dan Pemrograman ke piranti
keluaran}
Kamus
{tidak ada}
Algoritma
Output (Selamat Belajar Algoritma dan Pemrograman)

Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti
masukan dan menuliskan hasilnya ke piranti keluaran.
Program Nilai_Maksimal
{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan
hasilnya dicetak ke piranti keluaran}
Kamus
hasil,x,y : integer {hasil merupakan variabel untuk menampung nilai
keluaran}
{x,y adalah variabel untuk menampung nilai
masukan}
Algoritma
input (x,y)
if x < y then
hasil x

{membaca nilai x dan y dari piranti masukan}


{operasi kondisional}
{hasil di assignment oleh nila terbesar}

else
hasil y
output (hasil)

(nilai didalam variabel hasil dicetak ke piranti


keluaran}

18
Laporan Praktikum Algoritma Pemrograman

2.2

Pengertian Dan Definisi Flowchart


Pengertian Flowchart
Flowchart atau Bagan alir adalah bagan (chart) yang
menunjukkan alir (flow) di dalam program atau prosedur sistem
secara logika. Bagan alir (flowchart) digunakan terutama untuk
alat bantu komunikasi dan untuk dokumentasi.

2.2.1. Jenis jenis Flowchart


Ada beberapa jenis flowchart diantaranya:
1. Bagan alir sistem (systems flowchart).
2. Bagan alir dokumen (document flowchart).
3. Bagan alir skematik (schematic flowchart).
4. Bagan alir program (program flowchart).
5. Bagan alir proses (process flowchart).

19
Laporan Praktikum Algoritma Pemrograman

1. System Flowchart

System flowchart dapat didefinisikan sebagai bagan yang


menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini
menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam
sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
2. Document Flowchart

Bagan alir dokumen (document flowchart) atau disebut juga


bagan alir formulir (form flowchart) atau paperwork flowchart
merupakan bagan alir yang menunjukkan arus dari laporan dan formulir
termasuk tembusan-tembusannya.
3. Schematic Flowchart

Bagan alir skematik (schematic flowchart) merupakan bagan alir


yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan
prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik
selain

menggunakan

simbol-simbol

bagan

alir

sistem,

juga

menggunakan gambar-gambar komputer dan peralatan lainnya yang


digunakan. Maksud penggunaan gambar-gambar ini adalah untuk
memudahkan komunikasi kepada orang yang kurang paham dengan
simbol-simbol

bagan

alir.

Penggunaan

gambar-gambar

ini

memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.


4. Program Flowchart

Bagan alir program (program flowchart) merupakan bagan yang


menjelaskan secara rinci langkah-langkah dari proses program. Bagan
alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika
program (program logic flowchart) dan bagan alir program komputer
terinci (detailed computer program flowchart). Bagan alir logika
program digunakan untuk menggambarkan tiap-tiap langkah di dalam
20
Laporan Praktikum Algoritma Pemrograman

program komputer secara logika. Bagan alat- logika program ini


dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir
logika program. Bagan alir program komputer terinci (detailed
computer program flow-chart) digunakan untuk menggambarkan
instruksi-instruksi program komputer secara terinci. Bagan alir ini
dipersiapkan oleh pemrogram.
5. Process Flowchart

Bagan alir proses (process flowchart) merupakan bagan alir yang


banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi
analis sistem untuk menggambarkan proses dalam suatu prosedur.
2.2.2. Simbol dan Notasi Flowchart
Dipakai sebagai alat Bantu menggambarkan proses di dalam program.
Dan dibagi menjadi tiga kelompok :
Flow Direction Symbols
dipakai untuk menggabungkan antara symbol yang satu dengan symbol
lainnya

Symbol Off-line Connector ( Simbol untuk keluar/masuk pr


sedure atau proses dalam lembar/halaman yang lain)

Symbol Connector (Simbol untuk keluar/masuk prosedur atau


proses dalam lembar/halaman yang sama)

Processing symbols
Menunjukkan jenis operasi pengolahan dalam suatu prosedur

Symbol Process (Simbol yang menunjukkan pengolahan yan


dilakukan oleh komputer)
21
Laporan Praktikum Algoritma Pemrograman

Symbol Manual Operation (Simbol yang menunjukkan


pengolahan yang tidak dilakukanoleh komputer)

Symbol Decision (Simbol untuk kondisi yang akan


menghasilkan beberapa kemungkinan jawaban/aksi)

Symbol Predefined Process (Simbol untuk mempersiapkan


penyimpanan yang akan digunakan sebagai tempat
pengolahan di dalam storage)

Symbol Terminal (Simbol untuk permulaan atau akhir dari


suatu program)

Symbol Off-line Storage (Simbol yang menunjukkan bahwa


data di dalam symbol ini akan disimpan)

Symbol Manual Input (Simbol untuk pemasukan data secara


manual on-line keyboard)

Symbol Keying Operation (Simbol operasi dengan


menggunakan mesin yang mempunyai keyboard)

22
Laporan Praktikum Algoritma Pemrograman

Input-output symbols
menyatakan jenis peralatan yang digunakan sebagai media input atau
output.

Symbol input-output (Symbol yang menyatakan proses input


dan output tanpa tergantung dengan jenis peralatannya)

Symbol magnetic-tape unit (Symbol yang menyatakan input


berasal pita magnetic atau output disimpan ke pita magnetic)

Symbol punched card (Symbol yang menyatakan input


berasal dari kartu atau output ditulis ke kartu)

Symbol disk and on-line storage (Symbol untuk menyatakan


input berasal dari disk atau output disimpan ke disk)

Symbol display (Symbol yang menyatakan peralatan output


yang digunakan yaitu layar, plotter, printer, dan sebagainya)

Symbol dokumen (symbol yang menyatakan input berasal


dari dokumen dalam bentuk kertas atau output dicetak ke
kertas)

23
Laporan Praktikum Algoritma Pemrograman

Pedoman Membuat Flowchart


Bila seorang analis dan programmer akan membuat flowchart, ada
beberapa petunjuk yang harus diperhatikan, seperti:
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri
kekanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati
dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara
jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan
menggunakan deskripsi kata kerja
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan
harusditelusuri dengan hati-hati. Percabangan-percabangan yang
memotong aktivitas yang sedang digambarkan tidak perlu
digambarkan pada flowchart yang sama. Simbol konektor harus
digunakan dan percabangannya diletakan pada halaman yang
terpisah atau hilangkan seluruhnya bila percabangannya tidak
berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.
Contoh-contoh Flowchart
Contoh Flowchart Program

24
Laporan Praktikum Algoritma Pemrograman

Contoh Flowchart Program Menentukan Bilangan Ganjil/Genap

Penggunaan predefined processes dapat digunakan untuk menyederhanakan


flowchart system yang complex

Flowchar Sistem untuk predefined process yang diberi nama Check shipment
untuk Flowchart diatas

25
Laporan Praktikum Algoritma Pemrograman

2.3. TIPE DATA


Tipe data merupakan bagian program yang paling penting
karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan
oleh komputer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil
yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka
akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan
menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan
membuat proses operasi data menjadi lebih efisien dan efektif.
Data merupakan suatu nilai yang dapat dinyatakan dalam
bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap,
sedangkan variabel menyatakan nilai yang dapat berubah-ubah selama
eksekusi berlangsung.
Data berdasarkan jenisnya dapat dibagi menjadi lima
kelompok, yang dinamakan sebagai tipe dasar. Kelima tipe dasar
tersebut adalah:
1.

Bilangan bulat (integer).

2.

Bilangan real presisi-tunggal.

3.

Bilangan real presisi-ganda.

4.

Karakter.

5.

Tak bertipe (void)

26
Laporan Praktikum Algoritma Pemrograman

Tipe Data Char


Jenis data karakter digunakan untuk menyajikan karakter.
Masing-masing karakter menempati memori sebesar 1 byte. Satu byte
terdiri dari 8 bit , sehingga dapat menampung 28 = 256 nilai yang
berbeda. Jumlah ini sesuai dengan jumlah karakter ASCII yang
digunakan pada mikrokomputer, dan diberi nomor 0 hingga 255.
Dari 256 karakter ini, sebagian diantaranya adalah karakterkarakter yang tidak dapat dicetak. Untuk dapat mempresentasikan
256 karakter tersebut, variable berjenis char hendaklah dinyatakan
sebagai karakter tak bertanda. Jika tidak dinyatakan demikian,
variabel tersebut akan dipandang sebagai signed char sebagai bentuk
default untuk jenis data char, sehingga hanya dapat menampung
setengah dari keseluruhan karakter ASCII.
Tipe Data Int
Jenis data integer tersimpan didalam memori sebesar 4 byte (32
bit). Pada computer 32-bit , jenis data integer menempati satu word
memori.
Kelompok integer terdiri atas tiga jenis: int, short, dan long, masingmasing dibagi dalam dua kelompok: signed dan unsign. Jika tidak
dinyatakan lain, compiler akan memperlakukan ketiga jenis integer
itu sebagai signed int yang dapat memuat bilangan positif dan
negatif. Jika hanya bilangan positif , harus dinyatakan secara eksplisit
dengan memberikan kata unsigned.
Tipe Data Float
Variabel berjenis float termasuk dalam kelompok floating point
yang menampung bilangan-bilangan riil. Bilangan riil adalah
bilangan yang memiliki bagian decimal, titik, bagian fraksional, dan
bagian eksponensial. Pendeklarasian variable berjenis float
mempunyai format yang sama seperti pada jenis integer: menyatakan
jenis data float, diikuti nama variable.

27
Laporan Praktikum Algoritma Pemrograman

Tipe Data Double


Variable berjenis double juga termasuk kelompok floating point
tetapi memiliki angka ketelitian ganda (double precision). Tingkat
ketelitiannya hingga 15 angka dibelakang koma. Disamping itu,
terdapat pulavariabel berjenis long double yang memiliki tingkat
ketelitian hingga 18 angka dibelakang koma. Kedua jenis double ini
masing-masing menempati 8 dan 12 byte lokasi memori.
Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama
proses program berlangsung. Konstanta nilainya selalu tetap.
Konstanta harus didefinisikan terlebih dahulu di awal program.
KONSEP TIPE DATA TIPE DATA C
Bahasa C menyediakan 5 macam tipe data dasar, yaitu
1. Tipe data integer yaitu bilangan bulat dideklarasikan dengan int.
2. Floating point yaitu bilangan pecahan dideklarasikan dengan
float.
3. Double precision yaitu bilangan pecahan ketepatan ganda
dideklarasikan dengan double.
4. karakter dideklarasikan dengan char
5. kosong dideklarasikan dengan void.
Untuk int, float, double dan char dapat dikombinasikan dengan
pengubah (modifier) signed, unsigned, long, short, maka hasilnya
menjadi seperti pada tabel berikut.

28
Laporan Praktikum Algoritma Pemrograman

TIPE

Lebar

Jangkauan Nilai

int

16 bit

-32768 s/d 32767

unsigned int

16 bit

0 s/d 65535

long int

32 bit

-2147483648 s/d 2147483649

unsigned long int

32 bit

0 s/d 4294967296

float

32 bit

3.4E-38 s/d 3.4E+38

double

64 bit

1.7E-308 s/d 1.7E+308

char

8 bit

-128 s/d 127

unsigned char

8 bit

s/d 255

29
Laporan Praktikum Algoritma Pemrograman

2.3. Struktur Kondisi

1. Struktur Kondisi IF.


Bentuk Umum

if (kondisi)
pernyataan

Apabila kondisi bernilai benar, maka pernyataan akan dilaksanakan


Apabila kondisi bernilai salah, maka pernyataan tidak dilaksanakan

Contoh Program 1 ( pemakaian if untuk menentukan korting)

30
Laporan Praktikum Algoritma Pemrograman

Penjelasan :
Program diatas menggunakan tipe dasar double karena promgam
tersebut memiliki presisi ganda. Jika anda membeli sebuah barang yang
harga diatas 50.000, maka anda akan mendapatkan diskon 5%.
Output :

Penjelasan
Karena kita memasukan total pembelian Rp 170.000 yang berarti diatas
50.000, maka kita mendapat diskon ya yaitu 5% * 170.000 = 8500.

2. Struktur Kondisi IFELSE.


Struktur ini minimal terdapat dua pernyataan. Jika pernyataan
pertama kondisi diperikasa dan bernilai benar maka pernyataan pertama
akan dilaksanakan, tetapi jika kondisi yang diperiksa bernilai salah,
maka pernyataan kedua akan dilaksanakan.

31

Laporan Praktikum Algoritma Pemrograman

Bentuk umum :
if (kondisi)
Pernyataan -1
else
Pernyataan -2
Contoh Program 2 ( contoh pemakaian if-else)

Penjelasan :
Program ini menggunakan tipe dasar float yaitu nilai. Program ini akan
memeriksa pernyataan yang pertama, jika bernilai benar maka
pernyataan akan dilaksanakan, jika salah maka program akan memeriksa
peryataan yang kedua.
Output

32
Laporan Praktikum Algoritma Pemrograman

Penjelasan :
Sesuai dengan pernyataan yang pertama pada program diatas yaitu jika
pernyataan benar maka akan dilaksanakan, maka ketika kita memasukan
nilai 77 maka pernyataan tersebut benar yaitu >65.
3. Struktur IFBERSARANG (NESTED IF)
Nested if merupakan bentuk dari suatu pernyataan if ( atau if-else)
berada di dalam lingkungan pernyataan if ( atau if-else) yang lainnya.
4. Struktur Kondisi SWITCHCASEDEFAULT.
Kondisi ini digunakan untuk penyeleksian kondisi dengan
kemungkinan yang terjadi cukup banyak. Struktur ini melaksanakan
salah satu dari pernyataan case tergantung nilai kondisi di dalam
switch. Kemudian diteruskan hingga ditemukan pernyataan break.
Jikatidak ada nilai pada case yang sesuai dengan kondisi, maka proses
akan diteruskan kepada pernyataan yang ada dibawah default.

33
Laporan Praktikum Algoritma Pemrograman

Bentuk umum :
switch (kondisi)
{
case konstanta -1:
pernyataan -1;
break:
case konstanta -2:
pernyataan -1;
break;

case konstanta x:
pernyataan x;
break;
default: pernyataan;
}

Contoh Progran 3 ( contoh switch dan case untuk menampilkan hari )

34
Laporan Praktikum Algoritma Pemrograman

Penjelasan :
Case digunakan untuk penyeleksian kondisi kemudian diteruskan dengan
pernyataan break. Jika tidak ada nilai pada case yang sesuai dengan
kondisi, maka proses akan dilanjutkan dengan pernyataan yang ada
dibawah.
Output

35
Laporan Praktikum Algoritma Pemrograman

Penjelasan :
Ketika kita memasukan angka 7, maka program akan memeriksa mulai
dari case 1, jika tidak sesuai dengan kondisi maka akan diteruskan lagi
dengan pernyataan berikutnya sampai ditemukan case ke 7 dengan cout
Hari Minggu.
Contoh Program 4

Penjealasan :

36
Laporan Praktikum Algoritma Pemrograman

Program ini menggunakan 2 tipe dasar yaitu int dan char. Program ini
memiliki struktur kondisi if-else. Program ini akan memeriksa
pernyataan yang pertama, jika
bernilai benar maka pernyataan akan dilaksanakan, jika salah maka
program akan memeriksa peryataan yang kedua.
Output

Penjelasan :
Sesuai dengan pernyataan pada program diatas yaitu jika pernyataan
yang pertama bernilai benar maka akan dilaksanakan, maka ketika kita
memasukan nilai 91 maka program akan memeriksa pernyataan yang
pertama dan ternyata kondisi benar maka program akan melaksanakan
dengan menghasilkan output skor A

37
Laporan Praktikum Algoritma Pemrograman

Contoh Program 5

Penjelasan :
Program diatas memiliki struktur if-else dan menggunakan tipe dasar int
dan juga menggunakan symbol (% = mod). Program terlebih dahulu
memeriksa pernyataan pertama jika kondisinya benar maka akan
dilaksanakan tetapi jika tidak maka program akan melanjutkan ke
pernyataan yang berikutnya. Program diatas memiliki 2 penyataan yaitu
bilangan genap dan bilangan ganjil.
Output

38
Laporan Praktikum Algoritma Pemrograman

Penjelasan :
Kita memasukan bilangan 7 maka program akan memeriksa penyataan
yang pertama, ternyata kondisi nya salah dan program akan melanjutkan
ke pernyataan kedua dan memeriksa kondisinya, ternyata pernyataan
kedua kondisinya bernilai benar maka program akan melaksanakannya,
denga menghasilkan tampilan output bilangan ganjil.
2.4. Pengulangan
Struktur pengulangan secara umum terdiri atas dua bagian :
1. kondisi pengulangan, yaitu ekspresi Boolean yang harus dipenuhi untuk
melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara
eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit);
2. badan (body) pengulangan, yaitu bagian algoritma yang diulang.

Disamping itu, struktur pengulangan biasanya disertai dengan bagian :


1. inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan
pertama kali
2. terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai
dilaksanakan

39
Laporan Praktikum Algoritma Pemrograman

Inisialisasi dan terminasi tidak selalu harus ada, namun pada berbagai
kasus inisialisasi umumnya diperlukan.
Struktur pengulangan secara umum :
<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>

yang dalam hal ini awal dan akhir pengulangan dinyatakan sebagai kata kunci
yang bergantung pada struktur pengulangan yang digunakan. Selain itu,
<inisialisasi> dan <terminasi> adalah bagian yang opsional.
Di dalam algoritma terdapat beberapa macam struktur pengulangan
yang berbeda. Beberapa struktur dapat dipakai untuk masalah yang sama,
namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah
tertentu. Pemilihan struktur pengulangan untuk masalah tertentu dapat
mempengaruhi kebenaran algoritma. Pemilihan struktur pengulangan yang
tepat bergantung pada masalah yang akan deprogram. Tiga (3) macam notasi
struktur pengulangan, yaitu :
1) struktur FOR
2) struktur WHILE
3) struktur REPEAT

40
Laporan Praktikum Algoritma Pemrograman

Struktur FOR
Struktur pengulangan FOR digunakan untuk menghasilkan
pengulangan sejumlah kali yang dispesifikasikan. Jumlah pengulangan
diketahui atau dapat ditentukan sebelum eksekusi. Untuk mencacah sudah
berapa kali pengulangan dilakukan, kita memerlukan sebuah peubah (variable)
pencacah (counter). Peubah ini nilainya selalu bertambah satu setiap kali
pengulangan dilakukan. Jika cacah pengulangan sudah mencapai jumlah yang
dispesifikasikan, maka proses pengulangan berhenti
Bentuk umum struktur FOR ada dua macam : menaik (ascending) atau
menurun (descending).
FOR menaik :
for pencacahnilai_awal to nilai_akhir do
aksi
endfor

Keterangan :
i. pencacah haruslah dari tipe data yang memiliki predecessor dan successor,
yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah.
ii. Aksi adalah satu atau lebih instruksi yang diulang.
iii. nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika nilai_awal
lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki.
iv. Pada awalnya,pencacah diinisialisasi dengan nilai_awal.Nilai pencacah
secara otomatis bertambah satu setiap kali pengulangan dimasuki, sampai
akhirnya nilai pencacah sama dengan nilai_akhir.
v. Jumlah pengulangan yang tejadi adalah nilai_akhir - nilai_awal + 1.
Contoh analisis :

41
Laporan Praktikum Algoritma Pemrograman

Buatlah algoritma dan program mencetak angka 1, 2, .., N, yang dalam hal ini
nilai N dibaca terlebih dahulu dari piranti masukan
Algoritma CETAK_N_ANGKA
{ mencetak 1, 2, , N ke piranti keluaran }

DEKLARASI
N : integer
k : integer

DESKRIPSI
read(N)

Jadi, program
CETAK_N_ANGKA
dalam bahasa pascal adalah sebagai
for k1 to N do
{ ulangi sebanyak N kali }
berikut :

write(k)

endfor

program CETAK_N_ANGKA;
{ mencetak 1, 2, , N ke piranti keluaran }

uses wincrt;

(* DEKLARASI *)
var
N : integer;
k : integer;

(* DESKRIPSI *)
begin
write('jumlah pengulangan = ');read(N);
for k:=1 to N do
writeln(k)
end.
end.

{ ulangi sebanyak N kali }

42
Laporan Praktikum Algoritma Pemrograman

Pertanyaan :
Apa yang terjadi bila N=0? N=-1? N=1?
Jawab :
Jika N = 0 atau N = -1, proses pengulangan tidak terjadi, karena nilai akhir
pencacah pengulangan lebih besar dari nilai awalnya (1).
Jika N = 1, pengulangan yang terjadi adalah 1 kali, karena 1 1 + 1 = 1.

For menurun :
for pencacahnilai_akhir downto nilai_awal do
aksi
endfor

Keterangan :
i. Pencacah haruslah dari tipe data yang memiliki predecessor dan successor,
yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai
pencacah.

43
Laporan Praktikum Algoritma Pemrograman

ii. Aksi adalah satu atau lebih instruksi yang diulang.


iii. nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir
lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.
iv. Pada awalnya, pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah
secara otomatis berkurang satu setiap kali aksi diulang, sampai akhirnya
nilai pencacah sama dengan nilai_awal.
v. Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir+1.
Contoh analisis :
Algorima dan program peluncuran roket dengan hitung mundur, mulai dari 10,
9, 8, , 0.
Algoritma PELUNCURAN_ROKET
{ Hitung mundur peluncuran

roket }

DEKLARASI
K : integer

DESKRIPSI
for k100 downto 0 do
program PELUNCURAN_ROKET;
write(k)
{ hitung mundur peluncuran roket }
endfor
uses wincrt;
write(Go!) {roket meluncur }
(* DEKLARASI *)
var
k : integer;

(* DESKRIPSI *)
begin
for k:=10 downto 0 do

44

writeln(k);
write('Go!!!!');
end.

{ roket meluncur
}
Laporan

Praktikum Algoritma Pemrograman

Struktur WHILE
Bentuk umum :
while kondisi do
aksi
endwhile

Aksi (atau runtunan aksi) akan dilaksanakanberulangkali selama


kondisi benilai true. Jika kondisi bernilai false, badan pengulangan tidak akan
dilaksanakan, yang berarti pengulangan selesai.
Yang harus diperhatikan adalah pengulangan harus berhenti.
Pengulangan yang tidak pernah berhenti menandakan bahwa logika algoritma
tersebut salah. Pengulangan berhenti apabila kondisi bernilai false. Agar
kondisi suatu saat bernilai false, maka di dalam badan pengulangan harus ada
instruksi yang mengubah nilai peubah kondisi.
Contoh analisa :
Dibuat sejumlah data bilangan bulat positif dari piranti masukan. Banyaknya
data tidak diketahui sebelumnya, tetapi akhir pemasukan data adalah bila data
yang dimasukkan bernilai -99. Bilangan -99 akan diinterpretasikan sebagai
tanda berhenti proses pengisian data. Kita diminta menghitung jumlah seluruh
nilai yang dimaskkan (-99 tidak termasuk data yang dijumlahkan).
Sebagai ilustrasi :
i.

misalkan dibaca berturut-turut data: 10, 4, 5, 8, -99.


maka jumlah seluruh nilai adalah 10 + 4 + 5 + 8 = 27

ii.

misalkan dibaca berturut-turut data : 9, -99


maka jumlah seluruh nilai adalah 9

45
Laporan Praktikum Algoritma Pemrograman

iii.

misalkan dibaca berturut-turut data : -99


maka jumlah seluruh nilai adalah 0

Algoritma JUMLAH_DATA;
{ menghitung jumlah seluruh nilai bilangan bulat
positif yang dibaca dari piranti masukan. akhir
pembacaan data: -99 }

DEKLARASI
x : integer

{ data yang dibaca }

jumlah : integer { pencatat jumlah seluruh


data }

DESKRIPSI
jumlah0
{inisialisasi penjumlah
program
JUMLAH_DATA;
bilangan}
{ menghitung
read(x)jumlah seluruh nilai bilangan bulat positif
yang dibaca dari piranti masukan. akhir pembacaan data: 99 } while x -99 do
jumlahjumlah + x
read(x)
uses wincrt;
endwhile
kondisi di*)akhir pengulangan: x = -99}
(*{ DEKLARASI
write(jumlah)
var

{terminasi}

x, jumlah : integer;

(* DESKRIPSI *)
begin
jumlah:=0;
write('Ketikkan sembarang bilangan bulat ( -99
mengakhiri )');
readln(x);
while x <> -99 do
begin

46
Laporan Praktikum Algoritma Pemrograman

Struktur REPEAT
Bentuk umum :
repeat
aksi
until kondisi

Struktur REPEAT memiliki makna yang sama dengan WHILE, dan


dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain.
Contoh analisa :
Algoritma dan program untuk menghitung jumlah angka dari 1 sampai N. Nilai
N dibaca dari papan kunci. Misalnya N = 5, maka 1 + 2 + 3 + 4 + 5 = 15.

Algoritma PENJUMLAHAN_DERET;
{ menjumlahkan deret
1 + 2 + 3 + ... + N
dengan N adalah bilangan bulat positif yang dibaca dari piranti
masukan. jumlah deret dicetek ke piranti keluaran. }

\ DEKLARASI
N, k, jumlah : integer;

DESKRIPSI
read(N)
jumlah0
k1

{banyaknya suku deret}


{ inisialisasi jumlah deret }
{ suku deret yang pertama }

repeat
jumlahjumlah + k

{jumlah deret sekarang}

kk+1

{suku deret berikutnya}

until k > N
write(jumlah)

47
Laporan Praktikum Algoritma Pemrograman

program PENJUMLAHAN_DERET;
{ menjumlahkan deret
1 + 2 + 3 + ... + N
dengan N adalah bilangan bulat positif yang dibaca dari piranti
masukan. jumlah deret dicetek ke piranti keluaran. }

uses wincrt;

(* DEKLARASI *)
var
N, k, jumlah : integer;

(* DESKRIPSI *)
begin
write('N = ');readln(N);

{banyaknya suku deret}

jumlah:=0; { inisialisasi jumlah deret }


k:=1;

{ suku deret }

repeat
jumlah:=jumlah + k;

{jumlah deret sekarang}

k:=k+1;

{suku deret berikutnya}

until k > N;

writeln('jumlah deret = ', jumlah);


end.

48
Laporan Praktikum Algoritma Pemrograman

BAB 4
PENUTUP

4.1. Kesimpulan
Imperative program beranalogi dibawah bahasa pemograman yang memacu
atau berorientasi pada objek objek system informasi yang mengarah pada system
informasi. Pembuatan program program komputer dengan penguasaan data yang ada
pada bahasa pemograman untuk dikuasai agar menjadi seorang programmer handal.
Beberapa sub dari bidang pemograman imperative diantaranya adalah variable dan
penugasan ; perintah tidak struktur ; perintah tidak terstruktur ; subprogram, prosedur
dan fungsi; dan penanganan eksepsi. Mengenali dan memberi contoh variable dan
penguasaaanya, mengenali bentuk perintah tidak terstruktur, mengenali bentuk
perintah terstruktur, dapat menjelaskan bentuk-bentuk struktur control, dapat
menuliskan subprogram, prosedur, dan fungsi, dan dapat mengenali serta
menjelaskan beberapa bentuk eksepsi dan penangananya

4.2. Refferensi
http://smkmuhamka.sch.id/v2014/upload/algoritma-danpemrograman.pdf
http://www.goodreads.com/book/show/4518357-algoritma-danPemrograman
tugaskuliah.googlecode.com/files/a980b55869178243a3cca38490ce97
11.pdf
Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Edisi
Revisi)

Laporan Praktikum Algoritma Pemrograman

49

Laporan Praktikum Algoritma Pemrograman

Anda mungkin juga menyukai