Anda di halaman 1dari 32

Algoritma Pemrograman

BAB I
PENDAHULUAN

A. DESKRIPSI

Nama Modul : ALGORITMA PEMROGRAMAN

Kode Kompetensi : 070.2.001.00,


070.2.002.00, 070.2.003.00

Ruang lingkup isi : Modul ini berisi materi tentang


algoritma pemrograman dan struktur
data

Kaitan Modul : Modul ini merupakan prasyarat untuk


mempelajari modul Basis data

Hasil yang diharapkan : Setelah mempelajari modul ini


diharapkan peserta didik mampu:
1. Menjelaskan pengertian algoritma
2. Menerapkan algoritma dalam
pemecahan masalah
3. Membuat algoritma pemrograman
menggunakan flowchart
4. Membuat struktur data

Manfaat di industri : Menerapkan algoritma dalam


pemecahan masalah berdasarkan
urutan yang logis

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 1


Algoritma Pemrograman

B. PRASYARAT
Untuk mempelajari modul ini, maka standar kompetensi yang harus dikuasai
sebelumnya adalah Dasar Kompetensi Kejuruan pada bidang studi keahlian
Teknologi Informasi, Program Studi Keahlian Teknik Komputer dan Informatika,
Kompetensi Keahlian Rekayasa Perangkat Lunak (kode 070), diantaranya:
1. Melakukan Instalasi system Operasi Dasar beserta seluruh
kompetensi dasar (2.1-2.4);
2. Menerapkan keselamatan, kesehatan kerja, dan lingkungan hidup
(K3LH) beserta seluruh kompetensi dasar (3.1 – 3.4);
3. Mengoperasikan sistem operasi berbasis GUI beserta seluruh
kompetensi dasar (4.1 – 4.5);
4. Instalasi perangkat lunak beserta seluruh kompetensi dasar
(5.1 – 5.3).

C. PETUNJUK PENGGUNAAN MODUL


Untuk peserta didik :

1. Pembelajaran yang dilaksanakan menggunakan sistem Self Based


Learning atau sistem pembelajaran mandiri, dimana setiap instruksi yang
ada peserta dapat mengaplikasikannya ke dalam bentuk yang lain.
2. Dalam pembelajaran ini dituntut bahan ajar yang lengkap yang meliputi
a. Unit komputer yang siap digunakan
b. Sistem operasi yang siap digunakan
c. Software yang siap digunakan
d. SOP dalam menghidupkan dan mematikan komputer.
3. Widyaiswara atau instruktur berperan sebagai fasilitator dan pengarah
dalam semua materi di modul ini, sehingga diharapkan dapat terjadi
komunikasi timbal balik yang efektif dalam mempercepat proses
penguasaan kompetensi peserta didik.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 2


Algoritma Pemrograman

Selanjutnya peran widyaiswara/instruktur dalam proses pembelajaran


adalah :
a. Menampilkan presentasi tentang pengertian algoritma, notasi
algoritma, dan struktur data
b. Menampilkan contoh pemecahan masalah menggunakan algoritma
c. Mengajak peserta untuk memecahkan beberapa permasalahan guna
mengoptimalkan konsep algoritma

D. TUJUAN AKHIR
Setelah mempelajari modul ini, peserta didik diharapkan untuk dapat :
1. Menjelaskan pengertian algoritma
2. Menggunakan notasi algoritma
3. Membuat algoritma untuk pemecahan suatu masalah
4. Membuat struktur data

E. KOMPETENSI
Uraian kompetensi yang akan dipelajari pada modul ini :
1. Pengertian algoritma
2. Notasi algoritma deskriptif, flowchart, pseudocode
3. Tipe data, identifier,ekspresi
4. Struktur data

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 3


Algoritma Pemrograman

F. CEK KEMAMPUAN
Soal Teori ( Pilih jawaban yang dianggap benar)

1. Penyajian algoritma menggunakan bagan berupa simbol-simbol yang


mempunyai arus yang menggambarkan langkah-langkah penyelesaian
suatu masalah disebut….
a. Deskriptif
b. Pseudocode
c. Flowchart
d. Datachart

2. Jika ada sebuah perhitungan a * b = c, jika dihubungkan dengan


ekspresi maka a,b,c disebut….
a. Operator
b. Operand
c. Pembanding
d. Perkalian

3. Berikut ini yang merupakan tipe data agregat adalah….


a. Boolean
b. Integer
c. String
d. array

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 4


Algoritma Pemrograman

BAB II
PEMBELAJARAN

A. RENCANA BELAJAR
Peserta belajar mengikuti arahan dari widyaiswara/instruktur dan didasarkan
pada modul yang ada pada peserta diklat.

B. KEGIATAN BELAJAR

a. Tujuan pembelajaran :
Setelah mempelajari modul ini, peseta didik diharapkan untuk dapat :

1. Menjelaskan pengertian algoritma


2. Menggunakan notasi algoritma deskriptif, flowchart, dan pseudocode
3. Membuat algoritma pemrograman untuk pemecahan suatu masalah
4. Membuat struktur data

b. Uraian materi
Modul ini berisi materi tentang algoritma pemrograman meliputi
pengertian algoritma, penggunaan notasi algoritma berupa deskriptif,
flowchart, dan psudocode, tipe data, identifier, ekspresi, dan struktur data

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 5


Algoritma Pemrograman

CAKUPAN MATERI:

 PENGERTIAN ALGORITMA
 NOTASI ALGORITMA
 TIPE DATA DAN IDENTIFIER
 EKSPRESI
 FLOWCHART
 STRUKTUR DATA
 CONTOH KASUS

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 6


Algoritma Pemrograman

A. Pengertian Algoritma

Para ahli bahasa berusaha menemukan asal kata algoritma namun hasilnya
kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata
tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far
Muhammad Ibnu Musa Al-Khuwarizmi. Kata Al-Khuwarizmi diadopsi 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). 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.
Pengertian Algoritma adalah urutan langkah-langkah penyelesaian masalah
yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam
Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang
ilmu komputer yang dideskripsikan 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 selalu ada urutan langkah-
langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat
dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan
akan membaca satu per satu langkah-langkah pembuatannya lalu mengerjakan
proses sesuai yang dibaca. Secara umum, pihak (benda) yang mengerjakan proses
disebut pemroses (processor). Pemroses tersebut dapat berupa manusia,
komputer, robot atau alat elektronik lainnya. Pemroses melakukan suatu proses
dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 7


Algoritma Pemrograman

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 memenuhi persyaratan sebagai berikut.
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Komputer hanyalah salah satu pemroses. Algoritma harus dikodekan dalam bahasa
pemrograman agar dapat dilaksanakan oleh komputer, sehingga dinamakan
program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang
ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh
komputer.

B. Notasi Algoritma
Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat
ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain
sebagainya. Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua
aturan pada resep diikuti. Hal ini terjadi 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 seperti operasi pembacaan data, operasi
perbandingan, operasi aritmatika, dan sebagainya. Perkembangan teknologi
komputer tidak mengubah operasi-operasi dasar itu, yang berubah hanyalah
kecepatan, biaya, dan 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.
Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 8
Algoritma Pemrograman

Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman


dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa
pemrograman tetapi notasi algoritma dapat diterjemahkan ke berbagai bahasa
permograman. Notasi algoritma terdiri dari tiga jenis yaitu:
1. Deskriptif
Notasi algoritma deskriptif adalah algoritma yang ditulis dalam bahasa
manusia sehari-hari (misalnya bahasa Indonesia atau bahasa Inggris)
dan dalam bentuk kalimat. Setiap langkah algoritma diterangkan dalam
satu atau beberapa kalimat.
Contoh :

2. Flow Chart (Diagram Alir)


Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam bentuk
flow chart. Diagram alir atau flow chart adalah suatu bagan yang
menggambarkan arus logika dari data yang akan diproses dalam suatu
program dari awal sampai akhir. Diagram alir terdiri dari simbol-simbol
yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines)
menunjukkan urutan dari simbol-simbol yang akan dikerjakan.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 9


Algoritma Pemrograman

Contoh :

Algoritma Kelulusan_siswa
Diberikan nama dan nilai siswa, jika nilai tersebut lebih besar atau
sama dengan 60 maka siswa tersebut dinyatakan lulus jika nilai lebih
kecil dari 60 maka dinyatakan tidak lulus.

3. Pseudocode
Pseudo berarti imitasi dan code berarti kode yang dihubungkan
dengan instruksi yang ditulis dalam bahasa komputer (kode bahasa
pemrograman). Apabila diterjemahkan secara bebas, maka

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 10


Algoritma Pemrograman

pseudocode berarti tiruan atau imitasi dari kode bahasa pemrograman.


Pada dasarnya, pseudocode merupakan suatu bahasa yang
memungkinkan programmer berpikir terhadap permasalahan yang
harus dipecahkan tanpa harus memikirkan syntax dari bahasa
pemrograman tertentu. Tidak ada aturan penulisan syntax di dalam
pseudocode. Jadi pseudocode digunakan untuk menggambarkan logika
urut-urutan dari program tanpa memandang bagaimana bahasa
pemrogramannya.

Contoh:

Dalam pembelajaran ini akan menggunakan flowchart untuk membuat


algoritma pemrograman.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 11


Algoritma Pemrograman

C. Tipe Data dan Identifier


Dalam dunia pemrograman komputer selalu melibatkan data, karena
pemrograman tidak bisa terlepas dari kegiatan mengolah data menjadi informasi
yang diperlukan. Untuk menjamin konsistensi data dan efisiensi penggunaan
memori komputer, maka data dibedakan menjadi beberapa tipe. Dalam algoritma,
tipe data yang ada lebih sedikit dibanding bahasa pemrograman dikarenakan
algoritma hanya menekankan pada penyelesaian masalah. Klasifikasi jenis/tipe
data adalah:
a. Simple Data Type (Jenis Data Sederhana)
b. Data Structures / data aggregates (struktur data)

Jenis Data sederhana terdiri dari:


1. Integer
Merupakan tipe data bilangan bulat, baik yang negatif, nol, maupun
bilangan positif. Dalam algoritma, semua bilangan bulat termasuk dalam
tipe ini, tanpa ada batasan.

2. Real
Merupakan tipe data bilangan pecahan. Semua bilangan yang
mengandung tanda desimal tergolong dalam tipe ini. Tanda desimal yang
dipakai adalah tanda titik, bukan tanda koma. Sebagai contohnya, nilai
0,5 (nol koma lima) ditulis menjadi 0.5. Tipe ini juga mendukung
penulisan dalam bentuk ilmiah, misalnya 2.64E-2 artinya 2.64 x 10-2.
3. Char
Merupakan tipe data karakter. Semua data yang hanya terdiri dari 1
karakter tergolong dalam tipe ini. Misalnya data jenis kelamin yang hanya
diisikan huruf L atau P. Penulisan data tipe char harus diapit oleh tanda
petik tunggal. Karakter-karakter yang diperbolehkan terdefinisi dalam
tabel ASCII.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 12


Algoritma Pemrograman

4. String
Merupakan tipe data kalimat. Semua data yang terdiri dari 1 karakter
atau lebih dapat digolongkan ke dalam tipe ini. Syaratnya sama dengan
tipe char, yaitu harus diapit oleh tanda petik tunggal.

5. Boolean
Merupakan tipe data yang hanya mempunyai nilai TRUE atau FALSE.
Penulisan TRUE ataupun FALSE tidak membedakan huruf kapital
ataupun non-kapital. Hanya saja penulisannya tidak boleh disingkat
menjadi huruf T atau huruf F saja.

Dalam bahasa pemrograman, item data diidentifikasi menurut namanya,


bukan menurut alamat lokasinya dalam memori. Identifier akan merupakan
konstanta jika selalu dikaitkan dengan nilai data yang sama. Identifier akan
merupakan variabel jika nilai datanya yang terkait bisa berubah. Variabel
merupakan sesuatu yang digunakan sebagai tempat penyimpanan nilai dalam
memori yang isinya dapat diubah.
Contoh:
k,l : integer
c : char
kalimat : string
nilai1, nilai2, rata2 : real

Konstanta merupakan suatu nilai yang telah ditetapkan di awal pembuatan


algoritma dan nilainya tidak dapat diubah oleh proses dalam algoritma. Cara
pendefinisikan konstanta adalah dengan menambahkan kata kunci diawal nama
konstanta dan diletakkan di bagian deklarasi.
Contoh:
const phi = 3.14
const k = 0.5

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 13


Algoritma Pemrograman

D. Ekspresi
Ekspresi adalah serangkaian perhitungan nilai yang menghasilkan suatu nilai
yang diinginkan. Ekspresi terdiri dari operand dan operator. Operand adalah nilai-
nilai yang akan dihitung. Operator adalah lambang operasi yang dipakai dalam
perhitungan.
Contoh: 6 + 3, angka 6 dan 3 adalah operand, sedangkan tanda + merupakan
operator. Operand dapat berupa tetapan (konstanta), peubah (variabel), atau hasil
dari suatu fungsi. Operator dapat berupa operator unary, yaitu operator yang hanya
memerlukan 1 operand, dan operator binary, yaitu operator yang memerlukan 2
operand.
Beberapa jenis operator yang dipakai dalam algoritma adalah:

1. operator aritmatika

Lambang Jenis Tipe Tipe Tipe Hasil


Operator Operand1 Operand2
+, – unary Integer Real Integer Real
+, –, * Binary Integer Integer Real Integer Real
Integer Real Integer Real Real Real
Real
Div Binary integer integer integer
/ Binary Integer Integer Real Real Real
Integer Real Integer Real Real Real
Real
Mod Binary Integer Integer integer

2. operator perbandingan

Lambang Jenis Tipe Tipe Tipe Hasil


Operator Operand1 Operand2
< Binary Integer Integer Boolean
<= Binary Integer Real Boolean
> Binary Real Real Boolean
>= Binary Char Char Boolean
= Binary Char String Boolean
<> Binary String String Boolean
Binary Boolean Boolean Boolean

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 14


Algoritma Pemrograman

Keterangan:
1. perbandingan char mengacu pada urutan karakter dalam tabel
ASCII.

Contoh: „a‟ > „A‟ akan menghasilkan true

2. perbandingan string, dibandingkan per karakter yang


berkesesuaian mulai dari karakter pertama.

Contoh: „abc‟ > „aBc‟ akan menghasilkan true.

Perbandingan boolean, false diidentikkan dengan angka 0,


sedangkan true diidentikkan dengan angka 1. Jadi true > false akan
menghasilkan true.
3. operator string
Yaitu lambang + yang merupakan operasi penyambungan

(concatenation) Contoh: „anak‟ + „ku‟ akan menghasilkan “anakku”

4. operator logika
Lambang Jenis Tipe Tipe Tipe Hasil
Operator Operand1 Operand2
not Unary Boolean Boolean not
and, or, xor Binary Boolean Boolean Boolean

a not a
True False
False True

a b a and b a or b a xor b
true true True true false
true false false true true
false true false true true
false false false false false

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 15


Algoritma Pemrograman

Precedence operator Keterangan


First (High) NOT + – Unary operator
* / div mod Perkalian dan
Second pembagian
AND Boolean
+– Penjumlahan
Third OR XOR
Boolean

Fourth (Low) = <> < > >= <= Relasional

E. Flowchart
Flowchart merupakan cara penyajian dari suatu algoritma. Ada 2 macam
Flowchart yaitu:

1. System Flowchart yaitu urutan proses dalam system dengan


menunjukkan alat media input, output serta jenis media penyimpanan
dalam proses pengolahan data.
2. Program Flowchart yaitu urutan instruksi yang digambarkan dengan
symbol tertentu untuk memecahkan masalah dalam suatu program.
Simbol-Simbol Flowchart meliputi:
1. Flow Direction Symbols (Simbol penghubung alur)
2. Processing Symbols (Simbol proses).
3. Input-output Symbols (Simbol input output)

Berikut penjelasan simbol-simbol flowchart secara terperinci.


1. Flow Direction Symbols

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 16


Algoritma Pemrograman

2. Processing Symbols

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 17


Algoritma Pemrograman

3. Input Output Symbols

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 18


Algoritma Pemrograman

Flowchart merupakan gambaran hasil analisa suatu masalah. Flowchart


dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Secara garis
besar ada 3 bagian utama flowchart yaitu input, proses, dan output. Pembuatan
flowchart sebaiknya menghindari pengulangan proses yang tidak perlu dan logika
yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses
digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Bentuk-bentuk dasar struktur logika flowchart adalah sebagai berikut.

1. Runtunan/ Sequence Structure

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 19


Algoritma Pemrograman

2. Pemilihan/Percabangan (Selection Structure)

3. Pengulangan FOR (FOR Loop structure)

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 20


Algoritma Pemrograman

4. Pengulangan While DO (While DO Structure)

5. Pengulangan Repeat-Until (Repeat-Until Structure)

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 21


Algoritma Pemrograman

F. Struktur Data
1) Struktur Data
a. Kelompok item data yang terorganisasi yang dianggap sebagai
suatu unit
b. Disebut juga sebagai jenis data kompleks (complex data type) atau
data aggregates
c. Beberapa struktur data :
1. Array (larik)
2. String
3. Record
4. List (daftar)
5. Tree

2) Array (Larik)
a. Set item data yang disusun secara baik menjadi rangkaian dan
diacu atau ditunjuk oleh satu identifier
b. Contoh : Nilai = (56 42 89 65 48)
c. Item data individual dalam array bisa ditunjuk secara terpisah
dengan menyatakan posisinya dalam array itu
1. Nilai(1) menunjuk 56
2. Nilai(2) menunjuk 42
d. Bilangan yang ditulis dalam tanda kurung menandakan posisi item
individual dalam array (disebut juga subscript / indeks)
e. Variabel bisa digunakan sebagai subscript, misalnya Nilai(i).
1. Jika i = 2 maka menunjuk ke Nilai(2) yaitu 42
2. Jika i = 4 maka menunjuk ke Nilai(4) yaitu 65
f. Item data individual dalam suatu array sering disebut elemen
g. Matriks : Array yang hanya berisi bilangan dan tidak ada data
alfabetisnya

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 22


Algoritma Pemrograman

h. Klasifikasi Array
1. Array 1 dimensi
2. Array multi dimensi
3) Array 1 Dimensi
Deklarasi Array 1 dimensi
Nilai : array [1..5] of integer
A : array [1..4] of real

4) Array multi dimensi


a. Mempunyai elemen-elemen yang disusun ke dalam baris dan
kolom dan digunakan sebagai tabel data.
b. Contoh : Nilai ujian dari mahasiswa satu kelas untuk beberapa
mata kuliah bisa ditempatkan dalam array 2 dimensi.

5) Penanganan Array
Metode dasar penanganan array :

1. Mencari nilai terbesar


2. Mencari nilai terkecil

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 23


Algoritma Pemrograman

3. Menghitung nilai rata-rata


4. Menghitung nilai total
5. Menghitung jumlah nilai di bawah rata-rata

Contoh : Nilai ujian mahasiswa akan dibaca dalam array.


Kemudian akan ditampilkan nilai terbesar, nilai terkecil, nilai rata-
rata, nilai total, dan jumlah nilai di bawah rata-rata.
Tahapan penanganan array
1. Input nilai data ke dalam array
2. Mengkalkulasi nilai terbesar, terkecil, total, dan rata-rata
3. Mengkalkulasi jumlah nilai di bawah rata-rata
4. Menampilkan hasilnya (output)
6) Record
Setiap elemen memiliki identifier sendiri

a. Elemen dari suatu record disebut field


Deklarasi record:
mahasiswa : record
NIP : string(8)
Nilai : real
Lulus : boolean
end record

7) Array Record (Tabel)


a. Kumpulan dua atau lebih record
b. Deklarasi Array Record
Mahasiswa : Array [1..5] of record
NIP : string(8)
Nilai : real
Lulus : boolean
End record

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 24


Algoritma Pemrograman

G. Contoh Kasus
Berikut ini adalah beberapa contoh algoritma untuk pemecahan masalah
dalam bentuk flowchart.
Contoh Kasus 1: Algoritma untuk menghitung keliling persegi panjang.
Langkah pengerjaannya adalah sebagai berikut.
1. Memasukkan nilai panjang dan lebar
2. Menghitung keliling persegi panjang dengan rumus, keliling= 2 *
(panjang + lebar)
3. Mencetak nilai keliling

Flowchart untuk contoh kasus tersebut adalah sebagai berikut.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 25


Algoritma Pemrograman

Contoh Kasus 2: Algoritma untuk menentukan bilangan terbesar dari 3


bilangan.
Langkah pengerjaannya adalah sebagai berikut.
1. Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c.
2. Apabila bilangan a lebih besar dari b maupun c, maka bilangan a
merupakan bilangan terbesar .
3. Jika tidak (bilangan a tidak lebih besar dari b atau c) berarti bilangan a
sudah pasti bukan bilangan terbesar. Kemungkinannya tinggal bilangan b
atau c. Apabila bilangan b lebih besar dari c, maka b merupakan
bilangan terbesar. Sebaliknya apabila bilangan b tidak lebih besar dari c,
maka bilangan c merupakan yang terbesar.
4. Cetak bilangan yang terbesar.
Flowchart dari contoh kasus 2 adalah sebagai berikut.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 26


Algoritma Pemrograman

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 27


Algoritma Pemrograman

Contoh kasus 3: Algoritma untuk menghitung komisi salesman.


Salesman tersebut mendapat komisi 10% dari hasil penjualannya. Input
algoritma ini adalah nama salesman dan jumlah penjualan yang dicapainya.
Sedangkan outputnya adalah nama salesman dan besar komisi yang
diperolehnya. Langkah perhitungannya adalah sebagai berikut.

1. menginput data nama salesman dan jumlah penjualan

2. menghitung komisi menggunakan rumus =10% * jumlah penjualan

3. mencetak nama dan komisi

Flowchart dari kasus 3 adalah sebagai berikut.

START

INPUT
NAMA,
PENJUALAN

KOMISI=0.1 * PENJUALAN

OUTPUT NAMA,
PENJUALAN

END

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 28


Algoritma Pemrograman

Contoh Kasus 4. Perhitungan tahun kabisat (penggabungan struktur


pemilihan dan pengulangan)

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 29


Algoritma Pemrograman

Rangkuman
1. Algoritma adalah urutan langkah-langkah penyelesaian masalah yang
disusun secara sistematis dan logis”. Kata Logis merupakan kata kunci
dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar.
2. Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
3. Jenis data terdiri dari tipe data sederhana dan data structures
4. Ekspresi adalah serangkaian perhitungan nilai yang menghasilkan suatu
nilai yang diinginkan.
5. Flowchart yaitu bagan yang mempunyai arus yang menggambarkan
langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara
penyajian dari suatu algoritma.

Evaluasi

1. Buatlah flowchart yang menggambarkan algoritma dari penghitungan


volume balok.
2. Diketahui bahwa cuaca dikatakan panas apabila temperatur lebih dari
300C dan cuaca dikatakan dingin apabila temperatur kurang dari 25 0C.
Buatlah algoritma untuk mencetak kata “Panas”, “Dingin”, atau “Normal”
sesuai dengan temperatur yang diinputkan user. Temperatur yang
diinputkan oleh user adalah dalam satuan derajat Fahrenheit.
3. Suatu perusahaan menentukan gaji pokok karyawannya menurut
golongannya. Besarnya gaji pokok berdasarkan golongannya dapat
dilihat pada tabel berikut.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 30


Algoritma Pemrograman

Golongan Gaji Pokok


A Rp. 2000000,-
B Rp. 3000000,
C Rp. 4000000,
D Rp. 5000000,

Buatlah algoritma untuk menentukan gaji pokok berdasarkan golongan


yang diinput user.

4. Sebuah toko yang sedang melakukan promosi memberikan diskon


sebesar 10% untuk pembeli yang melakukan transaksi minimal
Rp100.000,00. Buatlah algoritma untuk menampilkan diskon dan total
yang harus dibayar pembeli.

5. Buatlah algoritma untuk meminta input n buah data nilai siswa, kemudian
menghitung banyaknya siswa yang lulus. Syarat untuk lulus adalah nilai
yang diperoleh minimal 60.

6. Buatlah algoritma untuk menampilkan nilai tertinggi dari sekumpulan n


buah nilai ujian mahasiswa. Nilai tersebut berkisar dari 0 hingga 100.

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 31


Algoritma Pemrograman

DAFTAR PUSTAKA

1. Horowithz Ellis and Sartaj Sahni, Fundemental of Computer Algorithms,


computer science press, 1988
2. Robert Sedgewick, Algorthms in C++, Addison – Wesley Publishing
Company, 1992
3. Robert L. Kruse, Bruce P.Leung, Clouis L. Tondo, Data Structures and
Program design in C, prentice Hall 1997
4. Mark Allen Weiss, Data Structure & Algorithm Analysis in C++, The
Benjamin/Cummings Publishing Company, Inc., 1994
5. William Ford and William Topp, Data Structures with C++, Prentice Hall, 1997

Dwi Wahyu Widiastuti-Dep. Elektronika dan Informatika P4TK BMTI 32

Anda mungkin juga menyukai