Pedoman Penulisan Karya Tulis Ilmiah PEDOMAN PENULISAN KARYA TULIS ILMIAH
Penulisan algoritma dengan pseudocode
Transcript of Penulisan algoritma dengan pseudocode
I. TUJUAN
1. Mengetahui dan menjelaskan struktur algoritma dengan
pseudocode.
2. Membuat algoritma berupa pseudocode, yang melibatkan
permasalahan-permasalahan sederhana.
II. Alat dan Bahan
PC minimal P-3 400 Mhz
Min Win98, Microsoft Word
III. DASAR TEORI
1. Pendahuluan
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
Setiap Algoritma akan selalu terdiri dari tiga
bagian yaitu :
Judul (Header)
Kamus ( Deklarasi )
Algoritma ( Deskripsi )
Pseudocode Page 1
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)
Pseudocode Page 2
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)
Pseudocode Page 3
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}
Pseudocode Page 4
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
Pseudocode Page 5
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 )
Pseudocode Page 6
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}
IV. Langkah Kerja
1. Hidupkan komputer anda !
2. Jalankan Microsoft Word, dengan cara menekan tombol
Start > Program > MS Office 2007 > Microsoft Word.
Selanjutnya tuliskan algoritma dari permasalahan
berikut ini :
Pseudocode Page 7
3. Buatlah algoritma dengan bentuk penulisan pseudocode
untuk proses menghitung luas lingkaran pada bagian
lembar Microsoft Word, kemudian simpan hasil kerja
anda ke dalam hardisk atau disket data dengan nama
file : Pseudocode
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}
4. Buatlah algoritma dengan bentuk penulisan
pseudocode untuk proses menghitung keliling
lingkaran pada bagian lembar berikutnya dari
program Microsoft Word, kemudian simpan hasil kerja
anda ke dalam hardisk atau disket data anda dengan
nama file yang sama seperti langkah ketiga.
Algoritma Kll Lingkaran
Pseudocode Page 8
{ 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}
5. Buatlah algoritma dengan bentuk penulisan pseudocode
untuk proses menghitung luas segitiga pada bagian
lembar berikutnya dari program Microsoft Word,
kemudian simpan hasil kerja anda ke dalam hardisk
atau disket data anda dengan nama file yang sama
seperti langkah ketiga.
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}
Pseudocode Page 9
luas ← alas * tinggi * 0.5{menghitung luas dengan
mengkalikan alas dan tinggi dan 0.5}
output (luas) {mencetak luas}
6. 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.
Flowchart :
Pseudocode :
Algoritma L_Segitiga
{ Menghitung luas segitiga dengan menginputkan sisi-
sisinya}
Pseudocode Page 10
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)
7. 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);
Pseudocode Page 11
}
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;
printf("Dengan diameter %f, maka keliling
lingkaran : %f",d,Kll);
}
Hasil Eksekusi :
Implementasi nomor 5 :
Menghitung luas segitiga
#include <stdio.h>
void main()
{
Pseudocode Page 12
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);
Pseudocode Page 13
L= sqrt(S * (S-a) * (S-b) * (S-c));
printf("\n Luas segitiga : %d", L);
}
Hasil eksekusi :
V. 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 :
Pseudocode Page 14
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!
Pseudocode Page 15
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)
Pseudocode Page 16
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);
}
Pseudocode Page 17
Implementasi nomor 3 :
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;
Pseudocode Page 18
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 : ");
Pseudocode Page 19
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);
}
7. Berikanlah kesimpulan dari praktik yang anda lakukan
di jobsheet kedua ini
Dengan membuat algoritma dalam bentuk pseudocode,
semakin mudah untuk diterjemahkan ke bahasa
pemrogramman, karena pseudocode lebih seperti kode
pemrograman yang asli. Sehingga mudah dikonversi.
Pseudocode Page 20
VI. PENUTUP
Dengan mempelajari jobsheet ini, saya menjadi paham
bagaimana membuat pseudocode, dan bagaimana memecahkan
suatu masalah dan diterapkan pada pseudocode.
Pseudocode Page 21