Sub Capaian Pembelajaran Mata Kuliah :
Mahasiswa mampu menyebutkan notasi algoritma berupa simbol-simbol Flowchart dan notasi
Pseudo Code.
Pokok bahasan :
●Teknik penyajian algoritma yang dinotasikan dalam bentuk deskriptif, pseudo-code dan flowchart
Algoritma independen terhadap bahasa pemrograman tertentu, artinya algoritma yang telah dibuat tidak
boleh hanya dapat diterapkan pada bahasa pemrograman tertentu. Penulisan algoritma tidak terikat
pada suatu aturan tertentu, tetapi harus jelas maksudnya untuk tiap langkah algoritmanya.
Untuk menuliskan algoritma, perlu menggunakan notasi tertentu. Ada banyak cara menuliskan notasi
algoritma, yang penting algoritma tersebut mudah dibaca dan dipahami. Notasi algoritma dapat berupa:
●Deskriptif
●Pseudo-code
●FlowChart
Notasi Penulisan Algoritma
Kalimat Deskriptif
Algoritma bertipe deskriptif maksudnya
adalah algoritma yang ditulis dalam
bahasa manusia sehari-hari (misalnya
bahasa Indonesia atau bahasa Inggris)
dan dalam bentuk kalimat. Setiap
langkah algoritmanya diterangkan
dalam satu atau beberapa kalimat.
Sebagai contoh misalnya algoritma
menentukan bilangan terbesar dari 3
bilangan berikut ini:
PseodoCode
Pseudo berarti imitasi dan code berarti kode yang dihubungkan dengan instruksi yang ditulis dalam
bahasa komputer (kode bahasa pemrograman). Apabila diterjemahkan secara bebas, maka Pseudocode
berarti tiruan atau imitasi dari kode bahasa pemrograman.
Pseudocode digunakan untuk menggambarkan logika urut-urutan dari program tanpa memandang
bagaimana bahasa pemrogramannya.
PseodoCode
Contoh algoritma
menentukan bilangan
terbesar dari tiga bilangan
yang ditulis dalam bentuk
pseudocode :
Flowchart
Flowchart (bagan alir) adalah suatu bagan
yang menggambarkan arus logika dari data
yang akan diproses dalam suatu program
dari awal sampai akhir.
Flowchart terdiri dari simbol-simbol yang
mewakili fungsi-fungsi langkah program
dan garis alir (flowlines) yang menunjukkan
urutan dari simbol-simbol yang akan
dikerjakan.
Flowchart
Flowchart berperan penting dalam memutuskan sebuah langkah
atau fungsionalitas dari sebuah proyek pembuatan program yang
melibatkan banyak orang sekaligus. Selain itu dengan
menggunakan bagan alur proses dari sebuah program akan lebih
jelas, ringkas, dan mengurangi kemungkinan untuk salah
penafsiran. Penggunaan flowchart dalam dunia pemrograman
juga merupakan cara yang bagus untuk menghubungkan antara
kebutuhan teknis dan non-teknis.
Fungsi Flowchart
Fungsi utama dari flowchart adalah memberi gambaran jalannya
sebuah program dari satu proses ke proses lainnya. Sehingga, alur
program menjadi mudah dipahami oleh semua orang. Selain itu, fungsi
lain dari flowchart adalah untuk menyederhanakan rangkaian
prosedur agar memudahkan pemahaman terhadap informasi
tersebut.
Jenis Flowchart
Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik dalam
penggunaanya. Berikut adalah jenis-jenisnya:
●Flowchart dokumen
●Flowchart program
●Flowchart proses
●Flowchart sistem
●Flowchart skematik
Jenis Flowchart
●Flowchart dokumen
Flowchart dokumen (document flowchart) atau bisa juga disebut dengan paperwork flowchart.
Flowchart dokumen berfungsi untuk menelusuri alur form dari satu bagian ke bagian yang lain,
termasuk bagaimana laporan diproses, dicatat, dan disimpan.
●Flowchart program
Flowchart ini menggambarkan secara rinci prosedur dari proses program. Flowchart program
terdiri dari dua macam, antara lain: flowchart logika program (program logic flowchart) dan
flowchart program komputer terinci (detailed computer program flowchart).
Jenis Flowchart
●Flowchart proses
Flowchart proses adalah cara penggambaran rekayasa industrial dengan cara merinci dan menganalisis
langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
●Flowchart sistem
Flowchart sistem adalah flowchart yang menampilkan tahapan atau proses kerja yang sedang
berlangsung di dalam sistem secara menyeluruh. Selain itu flowchart sistem juga menguraikan urutan
dari setiap prosedur yang ada di dalam sistem.
●Flowchart skematik
Flowchart ini menampilkan alur prosedur suatu sistem, hampir sama dengan flowchart sistem. Namun,
ada perbedaan dalam penggunaan simbol-simbol dalam menggambarkan alur. Selain simbol-simbol,
flowchart skematik juga menggunakan gambar-gambar komputer serta peralatan lainnya untuk
mempermudah dalam pembacaan flowchart untuk orang awam.
Simbol Flowchart
Pada dasarnya simbol-simbol
dalam flowchart memiliki arti
yang berbeda-beda. Berikut
adalah simbol-simbol yang
sering digunakan dalam proses
pembuatan flowchart.
Contoh flowchart
Untuk membuat sebuah flowchart
sederhana kamu diharuskan untuk
mengetahui setiap simbol dan juga
fungsinya. Contoh flowchart
sederhana untuk menentukan apakah
bilangan yang dimasukan ganjil atau
genap. Berikut adalah contohnya:
Pembahasan:
●Pertama pengguna menginput
data yang berupa nilai dari
bilangan bulat.
●Kemudian nilai yang dimasukan
diproses dengan cara dibagi
dengan angka 2.
●Jika sisa bagi sama dengan 0
berarti bilangan yang dimasukan
adalah bilangan genap.
●Jika sisa bagi tidak sama dengan 0
berarti bilangan yang dimasukan
adalah bilangan ganjil.
●Selesai.
Pedoman membuat flowchart
●Flowchart dibuat dari atas ke bawah dimulai dari bagian kiri suatu
halaman.
●Kegiatan dalam flowchart harus ditunjukkan dengan jelas.
●Kegiatan dalam flowchart harus jelas dimana akan dimulai dan
dimana akan berakhir.
●Kegiatan yang ada dalam flowchart digunakan kata yang mewakili
pekerjaan.
●Kegiatan dalam flowchart harus sesuai dengan urutannya.
●Kegiatan yang terpotong dihubungkan dengan simbol penguhubung.
●Simbol-simbol yang digunakan flowchart adalah simbol-simbol
standar.
Latihan
1.Buatlah algoritma untuk menghitung luas dari persegi panjang kedalam bentuk narasi deskriptif,
Pseodocode dan Flowchart
2.Buat flowchart untuk menghitung luas bujur sangkar dan mencetak hasilnya.
3.Buatlah flowchart untuk mencari jumlah 3 buah bilangan bulat.
Struktur Dasar
Algoritma
Sub Capaian Pembelajaran Mata Kuliah :
●Mahasiswa mampu menjelaskan tiga struktur dasar algoritma, yaitu runtunan, pemilihan dan
pengulangan.
●Mahasiswa mampu menggunakan flowchart dan pseudo- code untuk menulis langkah-langkah
pemecahan masalah sesuai struktur dasar yang diberikan.
Pokok bahasan :
●Tiga struktur dasar algoritma : runtunan, pemilihan dan perulangan.
●Penulisan struktur dasar algoritma menggunakan notasi algoritma flowchart dan pseudo-code
Struktur Dasar Algoritma
Seperti yang telah disebutkan pada pertemuan sebelumnya, algoritma berisi langkah- langkah
penyelesaian sebuah masalah. Langkah-langkah itu dapat diproses secara beruntun lurus ke bawah
(struktur runtunan), atau dapat berpindah ke langkah tertentu jika memenuhi syarat tertentu (struktur
pemilihan), atau dapat berulang sesuai counter yang dikehendaki (struktur perulangan). Berikut
pembahasan lengkapnya.
Struktur Runtunan (Sequence)
Runtunan adalah struktur algoritma paling dasar yang berisi rangkaian
instruksi yang diproses secara sekuensial, satu persatu, mulai dari intsruksi
pertama sampai instruksi terakhir. Struktur runtunan tidak memuat
lompatan atau pengulangan didalamnya.
Intruksi dalam struktur urut memiliki karakteristik seperti:
1.Tiap instruksi dikerjakan satu persatu;
2.Tiap instruksi dikerjakan hanya sekali, tidak ada yang diulang;
3.Urutan instruksi yang dikerjakan pemroses sama dengan urutan
istruksi sebagaimana yang tertulis di dalam teks algoritmanya;
4.Instruksi terakhir merupakan akhir algoritma
Struktur Runtunan (Sequence)
Struktur urut dalam sains biasanya digunakan untuk melakukan
perhitungan pada kasus yang melibatkan rumus-rumus sederhana
dengan melibatkan operator penjumlahan, pengurangan, dan
perkalian.
Beberapa contoh kasus yang dapat menerapkan logika dengan
struktur urut adalah perhitungan suatu besaran dengan rumus
sederhana seperti jarak tempuh, luas persegi panjang, luas
lingkaran, perhitungan upah pegawai, dan sejenisnya.
Contoh : Algoritma untuk menentukan luas persegi panjang,
Struktur Dasar Pemilihan (Selection)
Struktur Pemilihan adalah struktur yang digunakan pada
program yang memerlukan proses pengujian kondisi untuk
mengambil suatu keputusan apakah suatu baris perintah akan
diproses atau tidak.
Pengujian kondisi ini dilakukan untuk memilih salah satu dari
beberapa alternatif yang tersedia. Tidak semua baris program
akan dikerjakan pada struktur ini, melainkan hanya baris yang
memenuhi syarat saja.
Secara umum, perintah dalam struktur ini berjalan secara
runtun atau berururut mulai dari perintah pertama hingga
akhir, namun perintah dapat dibuat berpindah ke perintah lain
atau berhenti jika syarat yang ditentukan terpenuhi.
Struktur Dasar Pemilihan (Selection)
Notasi algoritma untuk struktur pemilihan menggunakan dua konstruksi berikut ini :
●IF – THEN
Konstruksi IF – THEN dibagi lagi menjadi :
-Satu aksi : IF - THEN
-Dua aksi : IF – THEN – ELSE
-Tiga aksi atau lebih : IF – THEN – ELSE
●CASE
Statement CASE dibagi menjadi 2 struktur:
-CASE – OF
-CASE – OF – ELSE
Struktur Pemilihan Satu aksi
Bila kondisi yang diseleksi
terpenuhi maka aksi atau
statement yang mengikuti
“then” yang akan diproses.
Dan jika sebaliknya maka
tidak diminta aksi apapun.
Bentuk ini juga sering disebut
dengan istilah struktur
pemilihan satu kasus. Bentuk
umum struktur pemilihan satu
kasus dinyatakan sebagai
berikut.
Struktur Pemilihan Satu aksi
Contoh :
Algoritma untuk
untuk menentukan
kriteria kelulusan
dengan syarat
Nilai Akhir (NA)
lebih besar dari 75
Dalam pernyataan ini:
●‘IF’ mengawali kondisi yang akan diuji.
●‘NA > 75’ adalah kondisi yang akan diuji.
Jika nilai NA lebih besar dari 75, maka
kondisi ini akan bernilai benar (true).
●PRINT "Anda Lulus" adalah tindakan yang
akan diambil jika kondisi di atas benar.
Dalam hal ini, pesan "Anda Lulus" akan
dicetak.
Jadi, jika nilai NA lebih besar dari 75, maka pesan
"Anda Lulus" akan dicetak.
Struktur Pemilihan Dua aksi
Struktur pemilihan dua
aksi menggunakan
perintah
If.. Then.. Else..
artinya perintah ini
digunakan jika kasus yang
dihadapi memuat 2 pilihan.
Bila kondisi terpenuhi
maka aksi atau statement 1
yang akan diproses, jika
tidak maka statement 2
yang akan diproses
Struktur Pemilihan Dua aksi
Contoh :
Algoritma untuk untuk menentukan bilangan yang lebih besar diantara dua buah bilangan
Struktur Pemilihan Tiga Aksi atau Lebih
Konstruksi IF – THEN pada tiga aksi
atau lebih, dapat juga disebut IF
Bersarang atau IF Bertingkat.
Dimana terdapat perintah IF di dalam
IF (nested if). Artinya perintah ini
digunakan jika masalah yang dihadapi
memuat tiga pilihan atau lebih.
Struktur Pemilihan Tiga Aksi atau Lebih
Tuliskan algoritma untuk menghitung total
pembayaran barang di sebuah swalayan, dengan
ketentuan sebagai berikut :
1.Jika total pembelian >= 100000, maka
memperoleh diskon dengan syarat atau
kondisi sebagai berikut :
●Jika pembeli mempunyai kartu
anggota, maka memperoleh diskon
20%,
●jika bukan anggota atau member maka
memperoleh diskon 10%
2.Jika total pembelian < 100000, maka tidak
memperoleh diskon (diskon = 0)
Latihan 2
1.Tuliskan algoritma untuk menampilkan keterangan “bilangan bulat positif” jika bilangan bulat yang
diinputkan adalah positif.
2.Tuliskan algoritma untuk menampilkan keterangan “bilangan genap” atau “bilangan ganjil”. Jika
bilangan bulat positif yang diinputkan habis dibagi 2, maka akan muncul “bilangan genap”, tapi jika
sebaliknya muncul “bilangan ganjil”.
3.Buatkan Flowchart dari contoh algoritma untuk menghitung total pembayaran barang di sebuah
swalayan pada Struktur Pemilihan Tiga Aksi atau Lebih.
Struktur Pemilihan dengan Perintah CASE
Perintah Switch.. Case… Otherwise dapat
digunakan sebagai alternatif perintah selain
If… Else If… Else…
Lebih khusus, perintah ini digunakan untuk memilih
suatu proses dari beberapa kemungkinan proses
berdasarkan nilai dari kondisi variabel kontrol.
Kondisi pada perintah Switch.. Case…Otherwise
ditentukan oleh nilai variabel yang menjadi pilihan,
artinya program akan mengeksekusi suatu proses
berdasarkan nilai variabel pilihan.
Struktur Pemilihan dengan Perintah CASE
Dalam hal ini pencocokan nilai ekspresi SWITCH dengan nilai ekspresi CASE dilakukan secara bertingkat
dimuai dari yang paling atas. Misalnya, jika nilai Kondisi 1 terpenuhi, maka hanya Proses 1 yang akan
dijalankan. Jika tidak cocok, maka proses akan dilakukan pada CASE selanjutnya. Apabila tak satupun
ekspresi CASE yang cocok dengan ekspresi , maka pernyataan OTHERWISE yang akan dijalankan.
Hal menarik pada statement SWITCH adalah bagian ekspresi dapat melibatkan lebih dari satu ekspresi
yang di buat dalam tanda { } dengan menggunakan tanda koma sebagai pemisah antar ekspresi.
Struktur Pemilihan dengan Perintah CASE
Contoh :
Algoritma penentuan gaji karyawan
Struktur Perulangan (Repetition)
Perulangan merupakan struktur dimana terdapat proses
pengulangan perintah yang sama sebanyak n kali. Struktur
ini merupakan salah satu kelebihan yang dimiliki oleh
mesin komputer.
Sebagai contoh untuk mencetak teks “Algoritma
Pemrograman” sebanyak 100 kali pada layar monitor,
hanya diperlukan beberapa baris perintah menggunakan
teknik atau struktur perulangan tersebut. Tanpa harus
menuliskan perintah yang sama sebanyak 100 kali.
Struktur Perulangan (Repetition)
Algoritma menggunakan struktur perulangan banyak dijumpai
dalam kehidupan sehari-hari, contoh mencetak sekian ratus surat
undangan yang sama, menampilkan sejumlah deret bilangan ganjil
atau bilangan genap, atau deret bilangan prima, atau deret
bilangan dengan rumus deret tertentu, dan masih banyak contoh
lainnya.
Terdapat dua jenis perulangan yang dikenal dalam algoritma, yaitu
:
●Unconditional looping (FOR - DO)
●Conditional looping (WHILE -DO dan REPEAT - UNTIL)
Unconditional looping (FOR - DO)
Unconditional looping yaitu perulangan yang tidak menyertakan kondisi
tertentu sebagai syarat terjadinya perulangan perintah, contoh
perulangan dengan FOR - DO.
Berikut karakteristik pengulangan dengan perintah FOR:
1.Terdapat nilai awal dan nilai akhir yang menunjukkan banyaknya
pengulangan yang akan dilakukan.
2. Proses pengulangan akan berhenti jika nilai variabel kendali
mencapai batas nilai akhir.
3. Nilai variabel kendali berubah secara teratur dengan interval
tertentu.
4. Jumlah pengulangan dapat diketahui.
Unconditional looping (FOR - DO)
Struktur pengulangan dengan
perintah FOR digunakan
untuk mengulang suatu
proses dengan variabel
kendali. Variabel kendali yang
dimaksud memuat nilai awal
dan nilai akhir. Dengan nilai
awal dan nilai akhir ini, satu
baris perintah akan berulang
sampai jumlah perulangan
yang disyaratkan terpenuhi.
Unconditional looping (FOR - DO)
Contoh :
Algoritma untuk menampilkan angka 1 sampai 10,
Dalam pseudocode ini:
●Perulangan FOR digunakan untuk
menginisialisasi variabel i
dengan nilai awal 1 dan akan
berlanjut hingga 10.
●Dalam setiap iterasi, nilai i akan
dicetak atau ditampilkan.
●Perulangan akan terus berjalan
dari 1 hingga 10, dan setiap angka
akan ditampilkan secara
berurutan.
Conditional looping (WHILE -DO)
Struktur pengulangan dengan perintah While digunakan untuk
mengulang satu baris perintah selama syarat yang diberikan masih
terpenuhi. Perintah bekerja dengan cara melakukan pengecekan nilai
kondisi benar atau salah.
Berikut karakteristik pengulangan dengan perintah :
1.Syarat akan uji terlebih dahulu sebelum perintah pengulangan
dikerjakan, sehingga ada kemungkinan baris perintah yang akan
diulang tidak dikerjakan sama sekali.
2.Proses pengulangan terjadi jika syarat terpenuhi dan berhenti
jika syarat tidak terpenuhi.
3.Nilai variabel kondisi dikendalikan pada proses pengulangan.
4.Jumlah pengulangan tidak penting untuk diketahui.
Conditional looping (WHILE -DO)
Dalam pseudocode di atas:
● Variabel i diinisialisasi dengan nilai awal 1.
● Perulangan WHILE akan terus berjalan selama nilai i kurang dari atau sama dengan 10.
● Di setiap iterasi, nilai i akan dicetak atau ditampilkan, dan kemudian nilai i akan ditambahkan 1.
● Perulangan akan berhenti saat i mencapai nilai 11, karena kondisi i <= 10 tidak lagi terpenuhi.
Contoh :
Algoritma untuk menampilkan
angka 1 sampai 10 dengan
perintah while
Conditional looping ( REPEAT - UNTIL / DO- WHILE)
Konstruksi ini agak berbeda dengan WHILE – DO yang melakukan pengecekan kondisi di awal perulangan.
Perulangan REPEAT – UNTIL dilakukan terlebih dahulu tanpa pengecekan kondisi, dan akan dihentikan
sampai kondisi menjadi terpenuhi (true).
Struktur pengulangan dengan perintah DO.. WHILE digunakan untuk mengulang satu baris perintah
sampai syarat tidak terpenuhi. Ciri utama pengulangan DO.. WHILE adalah syarat akan uji setelah perintah
yang akan diulang dikerjakan, sehingga akan ada minimal satu kali baris perintah yang dikerjakan masuk
dalam blok DO.. WHILE .
repeat..until dan do..while adalah dua jenis perulangan (loop) yang digunakan dalam beberapa
bahasa pemrograman, seperti Pascal dan Delphi menggunakan repeat..until, sementara bahasa
seperti C++, C#, dan JavaScript menggunakan do..while. Meskipun keduanya memiliki tujuan yang
serupa, ada perbedaan kunci dalam cara mereka beroperasi:
Conditional looping ( REPEAT - UNTIL / DO- WHILE)
Perbedaan Utama: Kapan Kondisi Diperiksa
●Pada repeat..until, kondisi diuji setelah blok
pernyataan dieksekusi. Ini berarti setidaknya
satu iterasi akan dijalankan sebelum kondisi
dievaluasi. Jadi, bahkan jika kondisinya salah
sejak awal, setidaknya satu iterasi akan
dijalankan.
●Pada do..while, kondisi diuji sebelum blok
pernyataan dieksekusi. Ini berarti setidaknya
satu iterasi akan dijalankan jika kondisi awalnya
benar.
Conditional looping ( REPEAT - UNTIL / DO- WHILE)
Dalam kedua contoh di atas, kedua perulangan akan
mencetak angka dari 1 hingga 10. Namun, perbedaan
utamanya adalah bahwa perulangan do..while akan
menjalankan blok pernyataan setidaknya satu kali,
bahkan jika kondisi awalnya salah,
sedangkan perulangan repeat..until akan
menjalankan blok pernyataan setidaknya sekali
bahkan jika kondisi awalnya salah.
Latihan 3
Buatlah algoritma dalam bentuk kalimat dan flowchart dari kasus-kasus berikut:
1.Algoritma untuk menghitung besarnya gaji bersih jika diketahui : besarnya gaji pokok, tunjangan,
uang lebur, pajak, dan potongan kredit.
2.Buatlah algoritma untuk menentukan nilai terbesar diantara tiga buah bilangan.
3.Algoritma untuk mencetak angka 1 sampai 10 dengan instruksi do..while.
4.Algoritma konversi nilai angka menjadi huruf dengan ketentuan: