Logika dan Algoritma Job 2

LAPORAN PRAKTIKUM
PSEUDOCODE

Oleh:
Dwi Wuri Mud’mainah (3.34.13.1.06)
IK-1B

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2013

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 )


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}

Dwi Wuri Mud’mainah

Page | 2

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 :

Dwi Wuri Mud’mainah

Page | 3








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 : {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)

Dwi Wuri Mud’mainah

Page | 4

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}
Dwi Wuri Mud’mainah

Page | 5


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
:
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 jari_jari dan
menampilkan hasilnya }
Kamus
Var jari_jari,luas : integer
Var phi = 3.14 : const float
Algoritma
input (jari_jari) {menginputkan nilai integer untuk variable jari_jari}
luas ← phi * jari_jari * jari_jari {menghitung luas dengan mengkalikan
phi dan jari_jari}
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
Dwi Wuri Mud’mainah

Page | 6

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 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
Var alas, tinggi, luas : integer
Algoritma
input (alas, tinggi) {menginputkan nilai untuk variable alas dan tinggi}
luas ← alas * tinggi / 2 {menghitung luas dengan mengkalikan alas dan
tinggi kemudian dibagi 2}
output (luas) {mencetak luas}

Dwi Wuri Mud’mainah

Page | 7

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

Tuliskan algoritma tersebut dalam bentuk flowcharts dan pseudocode.
Flowchart :

Pseudocode :
Algoritma Luas_Segitiga
{ Menghitung luas segitiga dengan menginputkan sisi-sisinya}
Kamus
luas, 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 (luas)

Dwi Wuri Mud’mainah

Page | 8

7. Cobalah anda implementasikan permasalahan nomor 3, 4, 5, dan 6 ke dalam bentuk
program dengan menggunakan bahasa pemrograman Pascal.
Nomor 3
#include
main()
{
float luas,phi,jari_jari;
phi = 3.14;
printf("Masukan nilai jari-jari : ");
scanf("%f",&jari_jari);
luas = phi * (jari_jari * jari_jari);
printf("\n");
printf("Dengan jari-jari %f, maka
%f",jari_jari,luas);
}

luas

lingkaran

:

Nomor 4
#include
main()
{
float k,d,phi;
phi = 3.14;
printf("Masukan nilai diameter : ");
scanf("%f",&d);
printf("\n");
k = phi * d;
printf("Dengan diameter %f, maka keliling
%f",d,k);
}

lingkaran

:

Nomor 5
#include
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);
}

Nomor 6
Dwi Wuri Mud’mainah

Page | 9

#include
#include
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.
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.

Dwi Wuri Mud’mainah

Page | 10

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 penjumlah_dua_bilangan
{Menginputkan

dua

bilangan,

kemudian

menjumlahkan,

dan

mengkuadratkan hasil dari penjumlahan tersebut.}
Kamus
a, b : integer
Algoritma
input (a,b)
hasil ← a + b
hasil ← sqr(hasil)

Dwi Wuri Mud’mainah

Page | 11

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_bilangan
{Menginputkan tiga bilangan, kemudian mengkalikan tiga bilangan
tersebut, menampilkan hasilnya.}
Kamus
a, b, c : integer
Algoritma
input (a,b,c)
hasil ← a * b * c
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 Pascal/C.
Implementasi I – Decreament
Source code :

Dwi Wuri Mud’mainah

Page | 12

Tampilan program :

Implementasi II – Menjumlahkan dan mengkuadratkan dua bilangan
Source code :

Tampilan program :

Dwi Wuri Mud’mainah

Page | 13

Implementasi III – Perkalian tiga bilangan
Source code :

Tampilan program :

Implementasi IV – Rata – rata lima bilangan
Source code :

Dwi Wuri Mud’mainah

Page | 14

Tampilan program :

7. Berikanlah kesimpulan dari praktik yang anda lakukan di jobsheet ketiga ini
Dengan membuat algoritma menggunakan pseudocode, semakin mudah untuk
diterjemahkan ke bahasa pemrogramman, karena pseudocode lebih seperti kode
pemrograman yang asli. Sehingga mudah dikonversi.

Dwi Wuri Mud’mainah

Page | 15

VI. PENUTUP
Dengan mempelajari jobsheet ini, saya menjadi paham bagaimana membuat pseudocode, dan
bagaimana memecahkan suatu masalah dan diterapkan pada pseudocode.
VII. DAFTAR PUSTAKA
VIII. LAMPIRAN

Halaman | 16