Assalamu’alaikum Wr Wb
Selamat malam.., kali ini saya akan posting tentang
Struktur Algoritma Dengan Pseudocode. Bagi yang sudah tahu pemrograman pasti
tahu apa itu algoritma dan pseudo code. Karena sebelum mempelajari bahasa pemrograman
apapun harus kita tahu dulu apa yang disebut dengan algoritma dan pseudo code.
Pendahuluan
Pertama kita akan
membahas yang namanya algoritma. Apa sih algoritma itu? Algoritma berisi
langkah-langkah penyelesaian suatu
permasalahan yang akan
diselesaikan dengan suatu bahasa pemrograman. 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 berkoresponden dengan notasi bahasa pemrograman secara umum.
Aturan Penulisan Algoritma
Penulisan
algoritma juga ada aturannya. Hal ini agar algoritma kita lebih mudah dipahami
oleh orang lain. Setiap Algoritma
akan selalu terdiri dari tiga bagian yaitu :
·
Judul
(Header)
·
Kamus
( Deklarasi )
·
Algoritma
( Deskripsi )
Secara umum setiap
bahasa pemrograman memiliki tiga bagian diatas. Namun ada juga bahasa
pemrograman tertentu yang terkadang tidak memerlukan header. Pada setiap bagian tersebut apabila akan
dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda
kurung kurawal contoh { Komentar }. Notasi algoritmis yang dituliskan diantara
tanda ini tidak akan dieksekusi oleh program.
Judul / Header
{ Merupakan bagian yang berisi judul dari suatu
permasalahan yang diselesaikan berikut komentar mengenai Algoritma seperti cara
kerja algoritma, Kondisi awal dan kondisi akhir dari algoritma }
Kamus / Deklarasi
{ Pada bagian ini, didefinisikan nama konstanta,
nama variable, nama prosedur dan nama fungsi yang akan dilibatkan dalam
Algoritma}
Algoritma / Deskripsi
{ Pada bagian ini langkah-langkah penyelesaian
masalah dituliskan. Semua teks yang dituliskan tidak diantara tanda
kurung kurawal akan
dianggap sebagai notasi
algoritma yang akan
berpengaruh terhadap kebenaran Algoritma }
Contoh :
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 :
Algoritma 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 LuasKubus atau Luas_Kubus. Tetapi
sebaiknya anda tidak menggunakan
spasi “ “
untuk memisahkan antara
kata di dalam
nama algoritma.
·
Judul
algoritma bersifat opsional, artinya boleh dituliskan, boleh juga tidak
dituliskan.
Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat
untuk mendefinisikan :
·
Nama
type
·
Nama
konstanta
·
Nama
variabel
·
Nama
fungsi
·
Nama
prosedur
Semua
nama tersebut baru
dapat dipakai di
dalam algoritma jika
dan hanya jika
telah didefinisikan terlebih dahulu didalam bagian kamus. Penulisan
sekumpulan nama dalam kamus sebaiknya dikelompokkan 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}
Algoritma (Deskripsi)
Algoritma / deskripsi 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
·
Squence
(runtutan)
·
Analisa
kasus / percabangan
·
Perulangan
Setiap langkah algoritma dibaca dari “atas” ke
“bawah”. Urutan deskripsi penulisan menentukan urutan langkah pelaksanaan
perintah.
Contoh :
Algoritma ( Deskripsi )
input (intC,intD)
{menerima masukan 2 bilangan intC dan intD}
if intC > intD then {operasi kondisional}
intMaks ←
intC {intMaks di assignment oleh
nilai intC}
Else
intMaks ←
intD {intMaks di assignment oleh
nilai intD}
output (intMaks)
{hasil keluaran berupa bilangan intMaks}
Catatan :
Untuk kata-kata input, output, if then else, output akan dipelajari lebih
mendalam dalam Jobsheet-jobsheet
selanjutnya.
Contoh lengkap algoritma dalam bentuk pseudocode :
Judul ( Header )
Algoritma maks_C_D { Judul algoritma }
{Menentukan nilai terbesar dari dua buah bilangan bulat, dimana nilai intC
dan intD dimasukkan dari keyboard }
Kamus (Deklarasi)
Var intMaks, intC, intD : integer
{menentukan tipe variabel berupa bilangan bulat
(integer)}
Algoritma ( Deskripsi )
input (intC,intD)
{menerima masukan 2 bilangan intC dan intD}
if intC > intD then {operasi kondisional}
intMaks ←
intC {intMaks di assignment oleh nilai intC}
Else
intMaks ←
intD {intMaks di assignment oleh
nilai intD}
output (intMaks)
{hasil keluaran berupa bilangan intMaks}
Contoh Soal
1. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses menghitung luas lingkaran.
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran dengan menginputkan jari2 dan menampilkan
hasilnya }
Kamus
jari2,luas : integer
phi = 3.14 : const
float
Algoritma
input (jari2)
{menginputkan nilai integer untuk variable jari2}
luas ← phi * jari2* jari2 {menghitung luas dengan mengkalikan phi dan jari2}
output (luas)
{mencetak luas}
2. Buatlah
algoritma dengan bentuk
penulisan pseudocode untuk
proses menghitung keliling
lingkaran.
Algoritma Kll Lingkaran
{ Menghitung keliling lingkaran dengan menginputkan diameter dan
menampilkan hasilnya }
Kamus
diameter,keliling : float
phi = 3.14 : const float
Algoritma
input (diameter)
{menginputkan nilai untuk variable diameter}
keliling ← phi * diameter {menghitung keliling dengan mengkalikan phi dan
diameter}
output (keliling)
{mencetak keliling}
3. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses menghitung luas segitiga.
Algoritma Luas_Segitiga
{ Menghitung luas segitiga dengan meninputkan alas dan tinggi, kemudian
mengkalikan bilangan tersebut, dan menampilkan hasil. }
Kamus
alas, tinggi, luas : integer
Algoritma
input (alas, tinggi) {menginputkan nilai untuk
variable alas dan tinggi}
luas ← alas * tinggi * 0.5{menghitung luas dengan mengkalikan alas dan
tinggi dan 0.5}
output (luas)
{mencetak luas}
4. Diketahui suatu permasalahan sebagai berikut
:
Analisis masalah :
Luas = √ S * (S – sisiA) * (S - sisiB ) * (S –
sisiC )
dengan S = 0.5 * (sisiA+sisiB+sisiC)
Tugas anda :
Tuliskan algoritma tersebut dalam bentuk
flowcharts dan pseudocode.
Pseudocode :
Algoritma L_Segitiga
{ Menghitung luas segitiga dengan menginputkan
sisi-sisinya}
Kamus
L, a, b, c : integer
Algoritma
Input (a,b,c)
{menginput nilai a,b,c}
S ← 0.5 x (a+b+c)
luas ← sqrt(S
x(S-a)x(S-b)x(S-c))
output (L)
5. Cobalah anda implementasikan permasalahan
nomor 3, 4, 5, dan 6 ke dalam bentuk program dengan menggunakan bahasa
pemrograman C.
Inplementasi nomor 3 :
Menghitung luas lingkaran
#include <stdio.h>
void main()
{
float
L,phi,jari2;
phi
= 3.14;
printf("Masukan
nilai jari2: ");
scanf("%f\n",&jari2);
L=
phi * (jari2 * jari2);
printf("Dengan
jari-jari %f, maka luas lingkaran : %f", jari2,L);
}
Hasil eksekusi :
Implementasi nomor 4 :
Menghitung keliling lingkaran
#include <stdio.h>
void main()
{
float Kll,d,phi;
phi = 3.14;
printf("Masukan nilai
diameter : ");
scanf("%f",&d);
Kll= phi * d;
}
Hasil Eksekusi :
Menghitung luas segitiga
#include <stdio.h>
void main()
{
int L,a,t;
printf("Masukan nilai
alas : ");
scanf("%d",&a);
printf("\nMasukan
nilai tinggi : ");
scanf("%d",&t);
L = a * t/2;
printf("\nAlas :
%d\nTinggi : %d\nLuas : %d",a,t,L);
}
Hasil eksekusi :
Implementasi nomor 6 :
Menghitung luas segitiga dengan s
#include <stdio.h>
#include <math.h>
void main()
{
int a, b, c, S, L;
printf("Masukan nilai
Sisi A : ");
scanf("%d",
&a);
printf("\nMasukan
nilai Sisi B : ");
scanf("%d",
&b);
printf("\nMasukan nilai Sisi C : ");
scanf("%d",
&c);
S = 0.5 * (a + b + c);
L= sqrt(S * (S-a) * (S-b)
* (S-c));
printf("\n Luas
segitiga : %d", L);
}
PERTANYAAN / SOAL
1.
Apakah
kelebihan dan kekurangan dalam penuliskan algoritma dari suatu permasalahan
dengan menggunakan flowcharts dan pseudocode.
Flowchart
Kelebihan :
Mudah dibaca, karena menggunakan visualisasi.
Kekurangan :
Membutuhkan banyak tempat
Harus menghafalkan arti dari lambang – lambang
flowchart
Pseudocode
Kelebihan
:
Tidak butuh banyak tempat.
Hampir
sama dengan bahasa pemrogramman, jadi lebih mudah untuk konversinya
Kekurangan :
Sulit dipahami untuk orang yang baru mengenal
bahasa pemrogramman.
2. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses yang menerima sebuah bilangan, men-decrement bilangan
tersebut, dan menampilkan hasil operasi!
Algoritma decrement
{Menginputkan nilai awal dan men decrement dengan mengurangi satu – satu
daru angka tersebut sampai nol.}
Kamus
a : integer {suatu nilai yang
berupa bilangan bulat (integer) }
b = 0 : const integer
Algoritma
input (a){memberikan nilai untuk variable a.}
Do {mulai melakukan proses pengulangan}
Output (a){mencetakkan a}
a-- {mengurangi nilai a}
while a <= b {Berhenti sampai nilai a = b}
3. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses yang menerima dua buah bilangan, menjumlahkan kedua
bilangan tersebut, lalu hasil penjumlahannya dikuadratkan, dan hasil
peng-kuadratan ditampilkan!
Algoritma jumlah_dua_bil
{Menginputkan dua bilangan, kemudian menjumlahkan, dan mengkuadratkan hasil
dari penjumlahan tersebut.}
Kamus
c, d : integer
Algoritma
input (c,d)
hasil ← c + d
hasil ← sqr(hasil)
output (hasil)
4. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses yang menerima tiga buah bilangan dan menampilkan hasil
perkalian dari ketiga bilangan tersebut!
Algoritma perkalian_tiga_bil
{Menginputkan tiga bilangan, kemudian mengkalikan tiga bilangan tersebut,
menampilkan hasilnya.}
Kamus
x, y, z : integer
Algoritma
input (x, y, z)
hasil ← x*y*z
output (hasil)
5.
Gambarlah sebuah flowchart yang menerima lima buah
bilangan dan menampilkan rata- rata dari kelima bilangan tersebut!
6. Cobalah anda implementasikan permasalahan
nomor 2, 3, 4, dan 5 ke dalam bentuk program dengan menggunakan bahasa
pemrograman C.
Implementasi nomor 2 :
Mendrecement sebuah bilangan
#include <stdio.h>
Main ()
#include <stdio.h>
main ()
{
int a;
const int b=0;
printf ("masukkan
sebuah bilangan=");
scanf
("%d",&a);
do
{
printf
("%d\n",a);
a--;
}
while (a>=b);
}
Menjumlahkan dan mengkuadratkan dua bilangan
#include <stdio.h>
main ()
{
int a,b,hasil;
printf ("masukkan
bilangan pertama=");
scanf
("%d",&a);
printf ("masukkan
bilangan kedua=");
scanf
("%d",&b);
hasil=a+b;
hasil=hasil*hasil;
printf ("\kuadrat dari penjumlahan kedua bilangan tersebut
adalah=%d",hasil);
}
Implementasi nomor 4 :
Perkalian 3 bilangan
#include <stdio.h>
main()
{
int a,b,c,hasil;
printf("Masukkan
nilai A : ");
scanf("%d",
&a);
printf("\n");
printf("Masukkan
nilai B : ");
scanf("%d",
&b);
printf("\n");
printf("Masukkan
nilai C : ");
scanf("%d",
&c);
printf("\n");
hasil = a*b*c;
printf("hasil dari a
x b x c = %d",hasil);
}
Implementasi nomor 5 :
Rata-rata 5 bilangan
#include <stdio.h>
main()
{
int a,b,c,d,e;
float hasil;
printf("Masukkan
nilai A : ");
scanf("%d",
&a);
printf("\nMasukkan
nilai B : ");
scanf("%d",
&b);
printf("\nMasukkan
nilai C : ");
scanf("%d",
&c);
printf("\nMasukkan
nilai D : ");
scanf("%d",
&d);
printf("\nMasukkan
nilai E : ");
scanf("%d",
&e);
hasil = (a+b+c+d+e) / 5;
printf("hasil
rata-rata dari kelima bilangan tersebut adalah %f",hasil);
}
Sumber Referensi :
https://dochot.net/document/penulisan-algoritma-dengan-pseudocode
Sekian postingan saya kali ini
mengenai Struktur Algoritma Dengan Pseudocode. Terima kasih dan Semoga
bermanfaat.
Wassalamu’alaikum Wr Wb
0 Komentar untuk "Struktur Algoritma Dengan Pseudocode"
Silahkan berkomentar sesuai artikel