Anda di halaman 1dari 16

JOBSHEET 2

PENULISAN ALGORITMA DENGAN PSEUDOCODE

NAMA : ANNISA KUSUMANINGTYAS


KELAS : IK – 1A
NIM : 3.34.15.0.01
PRODI : D3-TEKNIK INFORMATIKA

POLITEKNIK NEGERI SEMARANG


TAHUN 2015
I. Tujuan Instruksional Khusus :
Setelah Menyelesaikan praktek ini mahasiswa dapat :
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 Visio, Microsoft Word dan Flashdisk
III. Dasar Teori
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 )
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)

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)
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 }
Jobsheet 02 11
constant phi : real = 3,14159

3
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 )
Jobsheet 02 12
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}

4
IV. Langkah Kerja
1. Hidupkan komputer anda !
2. Jalankan Microsoft Word, dengan cara menekan tombol Start Program MS Office
2000 Microsoft Word. Selanjutnya tuliskan algoritma dari permasalahan berikut ini :
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
Jawaban :
Algoritma Luas_Lingkaran
{ Menghitung luas lingkaran dengan memasukkan nilai jari_jari dan
menampilkan hasilnya }
Kamus
Var jari_jari,luas : integer
Var phi = 3.14 : const float
Algoritma
input (jari_jari) {memasukkan nilai nilai integer untuk variable jari_jari}
luas ← phi * jari_jari * jari_jari {menghitung luas menggunakan cara
perkalian phi dengan jari_jari}
output (luas) {menampilkan nilai dari 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 Keliling_Lingkaran
{ Menghitung keliling lingkaran dengan menginputkan diameter dan
menampilkan hasilnya }
Kamus
Var diameter,keliling : float
Var phi = 3.14 : const float
Algoritma
input (diameter) {menginputkan nilai untuk variable diameter}
keliling ← phi * diameter {menghitung keliling menggunakan cara
perkalian phi dengan diameter}

5
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
Var alas, tinggi, luas : integer
Algoritma
input (alas, tinggi) {memasukkan nilai alas dan tinggi}
luas ← alas * tinggi / 2 {menghitung luas dengan menggunakan cara
perklaian alas dengan tinggi kemudian dibagi 2}
output (luas) {menampilkan nilai 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 :

sisiA

sisiB

sisiC

6
Tuliskan algoritma tersebut dalam bentuk flowcharts dan pseudocode.
Flowchart :

Pseudocode :
Algoritma Luas_Segitiga
{ Menghitung luas segitiga dengan memasukkan nilai dari setiap sisi segitiga}
Kamus
luas, a, b, c : integer
Algoritma
Input (a,b,c) {memasukkan nilai a,b,c}
S ← 0.5 x (a+b+c)
luas ← sqrt(S x (S-a) x (S-b) x (S-c))
output ( menampilkan luas)

7. Cobalah anda implementasikan permasalahan nomor 3, 4, 5, dan 6 ke dalam bentuk


program dengan menggunakan bahasa pemrograman Pascal.
Jawaban :
a. Implementasi 3
#include <stdio.h>
main()
{
float luas,phi,jari_jari;

7
phi = 3.14;
printf("Masukan nilai jari-jari : ");
scanf("%f",&jari_jari);
luas = phi * (jari_jari * jari_jari);
printf("\n");
printf("Jika jari-jari %f, maka luas lingkaran : %f",jari_jari,luas);
}

b. Implementasi 4
#include <stdio.h>
main()
{
float k,d,phi;
phi = 3.14;
printf("Masukan nilai diameter : ");
scanf("%f",&d);
printf("\n");
k = phi * d;
printf("Jika diameter %f, maka keliling lingkaran : %f",d,k);
}

8
c. Implementasi 5
#include <stdio.h>
main()
{
int l,a,t;

printf("Masukan nilai alas : ");


scanf("%d",&a);
printf("\n");
printf("Masukan nilai tinggi : ");
scanf("%d",&t);
printf("\n");
l = a * t/2;
printf("Alas : %d\nTinggi : %d\nLuas : %d",a,t,l);
}

9
d. Implementasi 6
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c, S, luas;
printf("Masukan nilai Sisi A : ");
scanf("%d", &a);
printf("\n");
printf("Masukan nilai Sisi B : ");
scanf("%d", &b);
printf("\n");
printf("Masukan nilai Sisi C : ");
scanf("%d", &c);
S = 0.5 * (a + b + c);
luas = sqrt(S * (S-a) * (S-b) * (S-c));
printf("\n Luas segitiga : %d", luas);

V. Pertanyaan / Soal
1. Apakah kelebihan dan kekurangan dalam penuliskan algoritma dari suatu permasalahan
dengan menggunakan flowcharts dan pseudocode.
Jawaban :
Jawab :
a. Flowchart
Kelebihan : Mudah dibaca, karena menggunakan visualisasi.
Kekurangan : Membutuhkan banyak tempat, harus menghafalkan arti dari lambang

10
b. 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!
Jawaban :
Algoritma mendecrement_bilangan(Judul Algoritma)

(Algoritma men-decrement bilangan dengan input integer bil)

Kamus (Deklarasi)

Variable bil,dec : float

Deskripsi

InputintA (Masukkan bilangan A)

dec = bil-- (Hitung decrement bilangan)

Output int dec (Hasil keluaran berupa bilangandecrement)

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!
Jawaban :
Algoritma Menjumlahkan_dan_mengkuadratkan_bilangan(Judul Algoritma)

(Algoritma menjumlahkan dan menkuadratkan bilangan dengan input integer a,integer b)

Kamus (Deklarasi)

Variable a, b, jml, kuadrat : integer

11
Deskripsi

Inputint a, int b (Masukkan bilangan a dan b)

jml = a + b (Hitung jumlah kedua bilangan)

4. Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses yang menerima tiga
buah bilangan dan menampilkan hasil perkalian dari ketiga bilangan tersebut!
Jawaban :
Algoritma Mengalikan_tiga_bilangan(Judul Algoritma)

(Algoritma mengalikan tiga bilangan dengan input integer A, integer B dan integer C)

Kamus (Deklarasi)

Variable A,B,C,kali : integer

Deskripsi

InputintA,intB,intC (Masukkan bilangan A,B dan C)

Kali = A * B * C (Hitung perkalian tiga bilangan)

Output int kali (Hasil keluaran berupa perkalian tiga bilangan)

kuadrat = jml * jml (Hitung kuadrat jumlah kedua bilangan)

Output int kuadrat (Hasil keluaran kuadrat kedua bilangan)

5. Gambarlah sebuah flowchart yang menerima lima buah bilangan dan menampilkan
ratarata dari kelima bilangan tersebut!
Jawab :

12
Rata-rata lima bilangan

Start

Input
A,B,C,D,E

rerata =
(A+B+C+D+E)/2

Output
Rata-rata
lima bilangan

End

6. Cobalah anda implementasikan permasalahan nomor 2, 3, 4, dan 5 ke dalam


bentukprogram dengan menggunakan bahasa pemrograman Pascal. (Bahasa C++)
Mendecrement bilangan

13
Menjumlahkan dan mengkuadratkan bilangan

Perkalian tiga bilangan

14
Rata-rata lima bilangan

7. Berikanlah kesimpulan dari praktik yang anda lakukan di jobsheet kedua ini !
Jawab :
Kesimpulan dari praktik ini adalah penulisan algoritma pemrograman bisa dilakukan
dengan dua metode yaitu flowchart dan pseudocode. Kita bisa membuat algoritma
pemrograman dengan dua metode tersebut, terutama dalam jobsheet ini mempraktikan
metode pseudocode. Pseudocode adalah salah satu cara untuk menterjemahkan sebuah
Algoritma pemrograman dengan bahasa tingkat tinggi (bahasa yangdimengerti manusia);
dideskripsikan sangat mudah untuk bisa dimengerti.Secara standart, pseudocode
dituliskan menggunakan bahasa SimpleEnglish. Tidak ada tata cara menulis (syntax)
yang baku untuk menuliskanPseudocode karena tidak diperuntukan dijalankan pada

15
bahasapemrograman tertentu. Walau demikian dalam penulisan pseudocodeharus tetap
disesuaikan setiap tahap dengan bahasa pemograman yangdigunakan. Fungsi dari
pseudocode mungkin sama dengan Flowchart.Perbedaannya terletak pada cara
penyampaiannya. Pseudocodemenggunakan kata-kata untuk menjelaskan suatu
algoritma, sedangkanFlowchart menggunakan gambar.

16

Anda mungkin juga menyukai