Anda di halaman 1dari 39

PERTEMUAN 1

PENGANTAR ALGORITMA

1.1. Sejarah Algoritma

Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya

menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist

jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini

namun   hasilnya   kurang   memuaskan.   Akhirnya   para   ahli   sejarah   matematika   menemukan   asal   kata

tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa

Al­Khuwarizmi.   Al­Khuwarizmi   dibaca   orang barat   menjadi  Algorism.  Al­Khuwarizmi   menulis  buku

yang berjudul Kitab Al Jabar Wal­Muqabala  yang artinya “Buku pemugaran dan pengurangan”  (The

book of restoration and reduction).

Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (  Algebra). Perubahan kata dari

Algorism  menjadi  Algorithm  muncul   karena   kata  Algorism  sering   dikelirukan   dengan  Arithmetic,

sehingga akhiran sm berubah menjadi thm.

Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm

berangsur­angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan

makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.

1.2. Konsep Algoritma dan Program

Algoritma   adalah   urutan   langkah­langkah   logis   pemecahan   masalah   yang   disusun   secara

sistematis dan logis. Logis merupakan kata kunci yang berarti kata­kata yang ditulis harus mempunyai

nilai kebenaran yang dapat digunakan untuk menentukan keputusan benar (true) atau keputusan salah

(false).

Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan

tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya

algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak

peduli  sebagus apapun algoritma,  kalau  memberikan  keluaran  yang salah, pastilah  algoritma  tersebut

bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil

yang   dicapai   oleh   algoritma   tersebut.   Hal   ini   penting   terutama   pada   algoritma   untuk   menyelesaikan

masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik

harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
1
Ketiga   adalah   efisiensi   algoritma.   Efisiensi   algoritma   dapat   ditinjau   dari   2   hal   yaitu   efisiensi

waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika

kita harus menunggu berjam­jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan

dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar

memori yang terpakai maka semakin buruklah algoritma tersebut.

Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan

suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan

keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam

program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman.

Beberapa pakar memberi formula bahwa:

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma

yang   baik   tanpa   pemilihan   struktur   data   yang   tepat   akan   membuat   program   menjadi   kurang   baik,

demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya

penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya. 

2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. 

3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. 

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

1. Teks   algoritma   berisi   deskripsi   langkah­langkah   penyelesaian   masalah.   Deskripsi   tersebut   dapat

ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. 

2. Tidak   ada   notasi   yang   baku   dalam   penulisan   teks   algoritma   seperti   notasi   bahasa   pemrograman.

Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. 

3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks

algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke

dalam   notasi   bahasa   pemrograman   tertentu,   maka   sebaiknya   notasi   algoritmik   tersebut

berkorespondensi dengan notasi bahasa pemrograman secara umum. 

4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik

2
tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi

algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih.

Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan

spesifikasi mesin yang menjalannya. 

5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan

ke dalam bahasa pemrograman. 

6. Algoritma   merupakan   hasil   pemikiran   konseptual,   supaya   dapat   dilaksanakan   oleh   komputer,

algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus

diperhatikan pada translasi tersebut, yaitu: 

a. Pendeklarasian variabel 

Untuk   mengetahui   dibutuhkannya   pendeklarasian   variabel   dalam   penggunaan   bahasa

pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. 

b. Pemilihan tipe data 

Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka

perlu hal ini dipertimbangkan pada saat pemilihan tipe data. 

c. Pemakaian instruksi­instruksi 

Beberapa instruksi mempunyai kegunaan yang sama tetapi masingmasing memiliki kelebihan dan 

kekurangan yang berbeda.

d. Aturan sintaksis 

Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman

yang akan digunakan. 

e. Tampilan hasil 

Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal­hal

teknis ini diperhatikan ketika mengkonversikannya menjadi program. 

f. Cara pengoperasian compiler atau interpreter. 

Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. 

1.3. Algoritma Merupakan Jantung Ilmu Informatika

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang

mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan

ilmu komputer saja. Dalam kehidupan sehari­hari pun banyak terdapat proses yang dinyatakan dalam

suatu algoritma. Cara­cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat

3
disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah­langkah membuat masakan. Bila

langkah­langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu­ibu yang mencoba

suatu resep masakan akan membaca satu per satu langkah­langkah pembuatannya lalu ia mengerjakan

proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses

(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat­alat elektronik lainnya.

Pemroses   melakukan   suatu   proses   dengan   melaksanakan   atau   “mengeksekusi”   algoritm   a   yang

menjabarkan proses tersebut.

Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu

aksi­aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi­aksi

tersebut   dapat   kerjakan   sehingga   dapat   menyebabkan   kejadian.   Melaksanakan   algoritma   berarti

mengerjakan langkah­langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan

algoritma   yang   diberikan   kepadanya.   Juru   masak   membuat   kue   berdasarkan   resep   yang   diberikan

kepadanya,   pianis   memainkan   lagu   berdasarkan   papan   not   balok.   Karena   itu   suatu   algoritma   harus

dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:

1. Mengerti setiap langkah dalam algoritma. 

2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut. 

Contoh : Algoritma membuat secangkir kopi. 

1. Siapkan Gelas, Kopi, Gula, sendok  dan Air  Panas 

2. Masukan kopi, gula kedalam gelas 

3. Tuangkan Air Panas kedalam gelas 

4. Aduk kopi, gula, dan air panas dengan sendok sampai larut 

5. Kopi siap dinikmati 

1.4. Mekanisme Pelaksanaan Algoritma oleh Pemroses

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus

ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan

atau   implementasi   teknis   algoritma   yang   ditulis   dalam   bahasa   pemrograman   tertentu   sehingga   dapat

dilaksanakan   oleh   komputer.   Kata   “algoritma”   dan   “program”   seringkal   i   dipertukarkan   dalam

penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan

algoritma  selection   sort”.   Atau   pertanyaan   seperti   ini:   “bagaimana   algoritma   dan   program

menggambarkan   g   rafik   tersebut?”.   Jika   Anda   sudah   memahami   pengertian   algoritma   yang   s   udah

disebutkan sebelum ini, Anda dapat membedakan  arti kata algoritma dan program. Algoritma adalah

4
langkah­langkah   penyelesaikan   masalah,   sedangkan   program   adalah   realisasi   algoritma   dalam   bahasa

pemrograman.

Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut

pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap­

tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan

instruksi.   Bila   suatu   instruksi   dilaksanakan,   maka   operasioperasi   yang   bersesuaian   dengan   instruksi

tersebut dikerjakan komputer.

Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti

keluaran, unit pemroses utama, dan memori. Unit

pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan

operasi­operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi

menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat. Yang disimpan di

dalam  memori  adalah program (berisi operasioperasi  yang akan dikerjakan  oleh CPU) dan data  atau

informasi (sesuatu yang diolah oleh operasi­operasi). Piranti masukan dan keluaran (I/O devices) adalah

alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk

mengkomunikasikan   hasil­hasil   aktivitasnya.   Contoh   piranti   masukan   antara   lain,   papan   kunci

(keyboard),   pemindai   (scanner),   dan   cakram   (disk).  Contoh   piranti   keluaran   adalah,   layar   peraga

(monitor), pencetak (printer), dan cakram.

Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula­mula program

dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang

telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasi operasi yang bersesuaian

dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan

di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan

keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke

piranti keluaran (misalnya dengan menampilkannya di layar monitor).

5
PERTEMUAN 2

STRUKTUR DASAR ALGORITMA DAN PROGRAM FLOWCHART

2.1. Struktur Penulisan Algoritma

Struktur dasar penulisan algoritma terdiri dari tiga bagian yaitu :

1. Judul 

Digunakan untuk menulis komentar mengenai algoritma seperti : cara kerja program kondisi awal dan

kondisi akhir algoritma. 

2. Kamus 

Digunakan  untuk   mendefinisikan  nama  konstanta,  nama   type,  nama  variable,   nama   prosedur  dan

nama fungsi yang digunakan dalam algoritma. 

3. Algoritma 

Digunakan untuk menuliskan algoritma dalam menyelesaikan masalah secara terstruktur. 

Ketiga bagian algoritma diatas dapat dituliskan dengan struktur :

Algoritma NamaAlgoritma Deklarasi

[ Const

NamaKonstatnta = Nilai ]

[ Type

NamaType = Type Baru

End]

[ Var

Namavariabel : Typedata]

[ Procedure/Function NamaModul [(Parameter)] [var

Namavar : Type]

Begin

End ] Algoritma :

. Input

6
. Proses

. Output

2.2. Constanta, Variabel dan Type Data

Constanta adalah data yang nilainya tidak dapat berubah walaupun ada operasi selama proses 

eksekusi.

Variabel adalah data yang nilainya dapat berubah karena ada operasi selama proses eksekusi.

Aturan penamaan variabel dan constanta :

- Diawali dengan huruf 

- Diikuti huruf, angka 

- Diantara character tidak dapat menggunakan Spesial character kecuali under score (_)

Contoh :

A, A1, A2b, A_B, Pi

Type Data digunakan untuk menentukan nilai data yang terkandung dalam variabel. Seperti : 

Char, string, Numerik, date, time, boolean

Char  : huruf, angka, tanda baca dan simbol. 

String  : gabungan dua atau lebih character.

Numerik : digit angka 0­9 untuk bilangan desimal data numeric dibagi dua : Numerik bulat  : 

byte, integer, word, longint

Numerik pecahan : real, single, double 

Date  : data tanggal dd/mm/yyyy

Time : data waktu hh:mm:ss 

Boolean : data logika true dan false

Tabel Type Data Numerik Bulat

7
Tabel Type Data Numerik Pecahan

Tabel Translasi dari Algoritma ke bahasa C++


Kelompok Algoritma C++
1. Tipe Dasar boolean Typedef enum {false=0,
true=1} Boolean
Integer unsigned char
signed char
unsigned int
int
short int
long int
Real float
double
long double
Char char
String char[n]
String
Record struct
< field1 : type, { type field1;
field2 : type, type field2;
… …
fieldN : type type fieldN;
> }
2. Operator
a. Aritemetik + +
­ ­
* *
/ /
8
Div /
Mod %
b. Perbandingan < <
<= <=
> >
>= >=
= ==
<> !=
c. Logika Not !
And &&
Or ||
Xor Tidak ada
3. Komentar { komentar } /* komentar */
4. Lain­lain const Const
type typedef
true dapat diganti 1
false dapat diganti 0

2.3. Statement Input – Output

Statement Input – Output digunakan untuk menerima data masukan dan menampilkan hasil ke media

keluaran.

Statement Input : Read(Namavar) Contoh : 

Read(A) Dalam bahasa C++ : scanf atau 

cin

Statement Output :

Write ([Literal,] Namavar)

Literal dapat berbentuk keterangan yang penulisannya diapit tanda petik tunggal atau petik ganda.

Contoh :

Write(A) Write(‘Nilai A = ‘, A) Dalam bahasa

C++ : printf atau cout.

2.4. Proses dan Operasi

Proses digunakan untuk melakukan pengolahan data dengan menggunakan notasi asignment (  ).

Contoh : A  B+C Dalam bahasa C++ : =

Contoh : A = B + C

Operasi digunakan untuk melakukan proses pengoperasian data terdiri dari : Operasi Aritmatika :

^, *, /, \, +, ­, mod Operasi Relasional : <, 

>, =, <=, >=, <> Operasi Logika : And, Or,
9
Not, Xor 1 : True

0 : False Tabel kebenaran Operasi Logika :

Input Output
1 2 AND OR XOR
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
Tabel kebenaran Operasi Logika NOT :
INPUT 1 OUTPUT NOT
0 1
1 0

2.5. Struktur Dasar Algoritma

Algoritma berisi langkah­langkah penyelesaian suatu masalah. Langkah­langkah tersebut dapat

berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi

dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:

1. Struktur Runtunan 

Digunakan untuk program yang pernyataannya sequential atau urutan. 

2. Struktur Pemilihan 

Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. 

3. Struktur Perulangan 

Digunakan untuk program yang pernyataannya akan dieksekusi berulang­ulang.

2.6. Tahapan Pembuatan Algoritma / Program

Langkah­langkah   yang   dilakukan   dalam   menyelesaikan   masalah   dalam

pemrograman dengan komputer adalah:

1. Definisikan Masalah 

Berikut   adalah   hal­hal   yang   harus   diketahui   dalam   analisis   masalah   supaya   kita   mengetahui

bagaimana permasalahan tersebut: 

a. Kondisi awal, yaitu input yang tersedia. 

b. Kondisi akhir, yaitu output yang diinginkan. 

c. Data lain yang tersedia. 

d. Operator yang tersedia. 

e. Syarat atau kendala yang harus dipenuhi. 
10
Contoh kasus:

Menghitung biaya  percakapan  telepon  di  wartel.  Proses  yang  perlu

diperhatikan adalah:

a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara. 

b. Output yang diinginkan adalah biaya percakapan. 

c. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa. 

d. Operator yang tersedia adalah pengurangan (­), penambahan (+), dan perkalian (*). 

e. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu. 

2. Buat Algoritma dan Struktur Cara Penyelesaian 

Jika   masalahnya   kompleks,   maka   dibagi   ke   dalam   modul­modul.   Tahap   penyusunan   algoritma

seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global ini diperhalus sampai

menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat dalam pembuatan

algoritma   untuk   masalah   yang   kompleks.   Penghalusan   langkah   dengan   cara   memecah   langkah

menjadi   beberapa   langkah.   Setiap   langkah   diuraikan   lagi   menjadi   beberapa   langkah   yang   lebih

sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci dan

tepat untuk dilaksanakan oleh pemroses. 

3. Menulis Program 

Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program. Perlu

diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan program memiliki untuk kerja

yang kurang baik. Program yang baik memiliki standar penilaian:

a. Standar teknik pemecahan masalah

 ­ Teknik Top­Down

Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah suatu masalah yang

kompleks dibagi­bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari masalah yang

kecil tersebut dilakukan analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi

subbagiansubbagian dan setelah itu mulai disusun langkah­langkah penyelesaian yang lebih detail.

­ Teknik Bottom­Up

Prinsip   teknik  bottom   up  adalah   pemecahan   masalah   yang   kompleks   dilakukan   dengan

menggabungkan prosedur­prosedur yang ada menjadi satu kesatuan program sebagai penyelesaian

masalah tersebut.

b. Standar penyusunan program

11
- Kebenaran logika dan penulisan. 

- Waktu minimum untuk penulisan program. 

- Kecepatan maksimum eksekusi program. 

- Ekspresi penggunaan memori. 

- Kemudahan merawat dan mengembangkan program. 

- User Friendly. 

- Portability. 

- Pemrograman modular. 4. Mencari 

Kesalahan 

a. Kesalahan sintaks (penulisan program). 

b. Kesalahan pelaksanaan: semantik, logika, dan ketelitian. 

5. Uji dan Verifikasi Program 

Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat dijalankan 

maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan, maka harus diuji 

dengan menggunakan data­data yang biasa yaitu data yang diharapkan oleh sistem. Contoh data 

ekstrem, misalnya, program menghendaki masukan jumlah data tetapi user mengisikan bilangan  

negatif.  Program  sebaiknya  diuji  menggunakan  data  yang  relatif banyak.

6. Dokumentasi Program 

Dokumentasi   program   ada   dua   macam   yaitu   dokumentasi   internal   dan   dokumentasi   eksternal.

Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu setiap kita menuliskan

baris   program   sebaiknya   diberi   komentar   atau   keterangan   supaya   mempermudah   kita   untuk

mengingat logika yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat ketika suatu saat

program tersebut akan dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan

dari   luar   program   yaitu   membuat  user  guide  atau   buku   petunjuk   aturan   atau   cara   menjalankan

program tersebut. 

7. Pemeliharaan Program 

a. Memperbaiki kekurangan yang ditemukan kemudian. 

b. Memodifikasi, karena perubahan spesifikasi. 

2.6. Program Flowchat

Urutan logis   pengambilan   kepututusan   untuk   pemecahan   masalah menggunakan simbol.

12
Contoh : Buat Algoritma untuk menghitung luas persegi panjang :

Algoritma Hitungluaspp

{ membaca data panjang dan lebar persegi panjang, menghitung luas persegi panjang dan mencetak

luas persegi panjang ke piranti keluaran } 

Deklarasi

P, L, Luas : integer 

Algoritma :

Read(P, L) atau

P  10

L  5 Luas  P*L

write(‘luas persegi panjang ‘, luas)
Mulai

P,L,Luas : integer

Read (P,L)

Luas ← P*L

Write (Luas)

Selesai
13
Translasi dalam bahasa C++

// Program Menghitung Luas Persegi Panjang #include <iostream.h>

#include <conio.h> void main ()

int P,L, Luas;

cout <<”Panjang = “; cin >> P;

cout <<”Lebar = “; cin >> L;

Luas = P * L;

cout << "Luas Persegi Panjang = " << Luas; getch();

Tambahkan library #include <conio.h> diawal dan

Tambahkan statement getch(); sebelum akhir blok main } untuk menghentikan proses sementara 

sebelum keluar program

Tabel Penentu Format dalam bahasa C++


Type data Penentu format
Int %d
unsigned int %d
Long int %ld
long unsigned int %lu
Float %f
Double %lf
Char %c
char[n] ( String ) %s

// Program Menghitung Luas Persegi Panjang #include <stdio.h>

void main ()

int P,L, Luas; printf("Panjang = "); 

scanf("%d",&P); printf("Lebar = "); 

scanf("%d",&L); Luas = P * L;

printf("Luas Persegi Panjang  = %d", Luas);

Output program :

14
Pertemuan 3

Struktur Kontrol If Else

3.1. Struktur Kontrol If  Kondisi Tunggal

Digunakan   untuk   melakukan   penyeleksian   kondisi   tunggal   yang   dapat   menghasilkan   dua

keputuasn, keputusan kondisi benar dan keputusan kondisi salah.

Syntak penulisan algoritma If kondisi tunggal : If (kondisi) then

Statement1

Else

Statement

Endif

Syntak penulisan If kondisi tunggal dalam C++ : if (kondisi)

{ Statement1; 

else 

{ Statement2; 

Keterangan :

Apabila   kondisi   benar   maka   statement1   dikerjakan   dan   apabila   kondisi   salah   maka   statement   2

dikerjakan. Apabila digambarkan dalam program flowchart maka struktur kondisi dapat digambarkan :

True
Kondisi Statement1

False

15
Statement2

Contoh :

Buatlah algoritma dan program C++ untuk memasukan data dua bilangan a dan b dan tentukan apakah 

a>b atau sebaliknya.

Algoritma If tunggal

Deklarasi

a,b: integer ket : string

Algoritma : Read(a,b) if a>b then

ket  ‘a lebih besar b’

else

ket  ‘a lebih kecil b’

endif

write(ket)

Algoritma diatas dapat diimplementasikan dalam struktur program flowchart :

Mulai

A,b : integer
Ket : string

Read(a,b)

TRUE
“a lebih besar
a>b Ket b”

FALSE

“a lebih kecil
Ket b”

16
Write(ket)

Selesai

Masih banyak kasus­kasus yang terdapat  dalam aktifitas  kita yang dapat diselesaikan  dengan kondisi

tunggal   menghasilkan   dua   buah   keputusan.   Carilah   kasus   tersebut   dan   implementasikan   dengan

algoritma.

Pertemuan 4

Struktur Kontrol If Majemuk

4.1.  Struktur Kontrol If Majemuk

Digunakan untuk melakukan penyeleksian terhadap N kondisi dengan keputusan sebanyak N+1.

Syntak penulisan algoritma If kondisi majemuk : If (kondisi1) then

Statement1

Else

If (kondisi2) then Statement2

Else

If (kondisiN) then

StatementN

Else

Statement N+1

Endif

Endif
Endif
Syntak penulisan If kondisi majemuk dalam bahasa C++ :
if (kondisi1)
{ Statement1;
}
else
if (kondisi2)

17
{ Statement2;

else

if (kondisiN)

{ StatementN;

else

{ Statement N+1;

Apabila kondisi1 benar maka statement1 dikerjakan, apabila kondisi2 benar maka statement 2 dikerjakan 

dan seterusnya.

Contoh:
Buatlah algoritma untuk menentukan nama hari berdasarkan nomor hari dgn ketentuan sebagai berikut :
No. hari Nama Hari
1 Senin
2 Selasa
3 Rabu
4 Kamis
5 Jumat
6 Sabtu
7 Minggu

Algoritma Seleksihari

Deklarasi

Nh : integer

Nmh : String

Algoritma :

Read(nh)

if nh=1 then

nmh ’Senin’

else

if nh=2 then
18
nmh ’Selasa’

else

if nh=3 then nmh ’Rabu’

else

if nh=4 then

nmh ’Kamis’

else

if nh=5 then

nmh ’Jum’at’

else

if nh=6 then

nmh ’Sabtu’

else

nmh ’Minggu’

Endif

Endif

Endif

Endif

Endif

Endif

Write(‘nama hari : ‘,nmh)

Pertemuan 5

Struktur Kontrol Case Of

Struktur control ini digunakan untuk menyeleksi expresi (ungkapan yang akan diseleksi) yang

mempunyai nilai expresi majemuk. Expresi dapat berbentuk data numurik bulat atau character.

Syntax penulisan algoritma case : case expression of

Nexp1 :  statement1

...

NexpN: statementN otherwise

statementN+1 endcase
19
Syntax penulisan case dalam C++ : switch (expression)

case Nexp1 : statement1; break;

case NexpN : statementN; break;

default : statementN+1;

Apabila Nexp1 sama dengan Expression maka stattemen1 dikerjakan

Apabila Nexp2 sama dengan Expression maka stattemen2 dikerjakan dan seterusnya sampai NexpN. Jika

tidak ada yang benar maka statementN+1 dikerjakan.

Contoh :

Buat Algoritma untuk menentukan bobot nilai berdasarkan mutu ynag diperoleh mahasiswa Jika A maka 

4, B 3, C 2, D 1 dan E 0.

Algoritma ContohCase

Deklarasi

mt : char bn : integer

Algoritma : Read(mt) case mt

'A' : bn← 4 'B' : bn← 3 'C' : bn← 2

'D' : bn← 1

otherwise

bn ← 0 endcase write(bn)

Pertemuan 6

Struktur Kontrol Pengulangan While do

Struktur pengulangan digunakan untuk mengurangi penulisan algoritma/program yang sama agar

tidak dituliskan sebanyak proses yang akan terjadi dengan tujuan untuk efisiensi struktur penulisan agar

hemat dalam pemakaian memori komputer.

Terdapat 3 struktur iterasi yang dapat digunakan dalam algoritma yaitu :

1. While … Do 

2. Repeat … Until 

3. For … Do 
20
6.1. Struktur While do

Adalah struktur pengulangan yang dapat digunakan untuk mengulang statement apabila kondisi

pengulangan bernilai benar dan dihentikan apabila struktur pengulangan bernilai salah.

Syntax penulisan while adalah : While (Kondisi) do

­ Statement

EndWhile

Digunakan untuk pengulangan data numerik dan Non Numerik. Syarat Pengulangan 

While … Do

1. Variabel yang akan dijadikan kondisi pengu­langan harus diinisialisasi 

2. Pengulangan dilakukan selama kondisi bernilai benar dan dihentikan jika kondisi bernilai salah. 

3. Perlu ada operasi untuk merubah kondisi 

4. Pengulangan dapat dilaksanakan minimal Nol kali. 

Syntax penulisan while dalam C++ :

while (Kondisi)

­ Statement;

Contoh :

Buatlah algoritma untuk mencetak ”STIKOM POLTEK CIREBON”  sebanyak 10

kali pencetakan !

Algoritma Pengulangan1
Deklarasi
c : integer
Algoritma :
c  1 1
While c <= 10 do 2

Write (“STIKOM POLTEK CIREBON” )

21
c  c + 1 3
EndWhile

Algoritma diatas dapat diterapkan kedalam program C++ :

// Program struktur control pengulangan while #include <stdio.h>

void main ()

int c; c = 1;

while (c <= 10)

printf (“STIKOM POLTEK CIREBON \n” ); c = c + 1;

Latihan :

Buatlah algoritma dan program untuk menampilkan 10 bilangan asli dan hitung berapa jumlah total 10 

bilangan tersebut !

Output : 1 2 3

10

Total 10 Bilangan = ….

Pertemuan 7

Studi Kasus Algoritma

1. Buatlah   algoritma   untuk   menentukan   nilai   mutu   dan   bobot   nilai   yang   diperoleh   mahasiswa

berdasarkan nilai yang diperolah dengan ketentuan : 

Nilai Mutu Bobot Nilai


0­49 E 0
50­59 D 1
60­69 C 2
70­84 B 3
85­100 A 4

22
2. Buatlah algoritma untuk membuat calculator sederhana dengan memasukan data dua buah bilangan

dan operatornya (+,­,*,/) dan hitunglah berapa hasil operasi berdasarkan bilangan yang sudah saudara

masukan. Algoritma dapat berulang dengan menekan huruf S. 

Pertemuan 8

Struktur Kontrol Pengulangan Repeat Until

8.1. Struktur Repeat Until

Adalah struktur pengulangan yang dapat digunakan untuk mengulang statement apabila kondisi

pengulangan bernilai salah dan dihentikan apabila struktur pengulangan bernilai benar.

Syntax penulisan Repeat Until adalah :

Repeat

­ Statement

Until (Kondisi)

Digunakan untuk pengulangan data numerik dan Non Numerik. Syarat Pengulangan 

Repeat Until

1. Variabel yang akan dijadikan kondisi pengu­langan tidak harus diinisialisasi 

2. Pengulangan dilakukan selama kondisi bernilai salah dan dihentikan jika kondisi bernilai benar. 

3. Perlu ada operasi untuk merubah kondisi. 

4. Pengulangan dapat dilaksanakan minimal satu kali. 

Syntax penulisan dalam C++ : do

­ Statement;

} while (Kondisi);

Contoh :

Buatlah algoritma untuk menampilkan 10 bilangan asli dan hitung berapa jumlah

total 10 bilangan tersebut !

23
Output :

10

Total 10 Bilangan = ….

Algoritma Pengulangan2

Deklarasi
Bil, Total : integer
Algoritma :
Bil  1 1
Total  0
Repeat

Write(Bil)
Total  Total +Bil

Bil  Bil + 1 3
Until Bil > 10 2
Write(Total)
End

Penerapan kedalam bahasa C++ :

/ Program struktur control pengulangan do while #include <stdio.h>

void main ()

int Bil,Total; Bil = 1; Total = 0; do

{
printf (“%d “,Bil,”\n” ); Total = Total + Bil; Bil 

= Bil + 1;

} while (Bil <= 10);

Printf(“Total 10 Bilangan = %d“,Total);

24
}

Latihan :

1. Buatlah algoritma untuk menampilkan bilangan ganjil dari 1­20 ! 

2. Buatlah algoritma untuk menampilkan bilangan genap dari 1­20 ! 

Pertemuan 9

Struktur Kontrol Pengulangan For do

9.1. Struktur For do

Adalah struktur pengulangan Numerik yang dapat digunakan untuk mengulang statement dari N 

Sampai N1.

Syntax penulisan For do adalah :

For varcounter = N  To/DownTo  N1  [Step N] Do

­ Statement

EndFor

Syntax penulisan for dalam C++ : for 

(varcounter=N;Kondisi;counter)

­ Statement;

Digunakan untuk pengulangan data numerik .

Syarat Pengulangan For do

1. Inisialisasi varcounter dapat langsung ditentukan pada N dan N1 (dapat naik atau turun) 

2. Pengulangan dilakukan dari N sampai dengan N1. 

3. Tidak perlu ada operasi untuk merubah kondisi karena setiap terjadi pengulangan nilai varcounter 

otomatis bertambah atau berkurang 1 atau step.

Contoh :

Buatlah algoritma untuk menampilkan 10 bilangan asli dan hitung berapa jumlah
25
total 10 bilangan tersebut !

Output :

10

Total 10 Bilangan = ….

Algoritma  Pengulangan3

Deklarasi

Bil, Total : integer

Algoritma :

Total  0

For Bil = 1 to 10 do

Write(Bil)

Total  Total + Bil

Endfor

Writeln(‘Total 10 Bilangan = ‘,Total)

Penerapan kedalam bahasa C++ :

/ Program struktur control pengulangan for #include <stdio.h>

void main ()

int Bil,Total; Total = 0;

for (Bil=1;Bil<=10;Bil++)

{
printf (“%d “,Bil,”\n” ); Total = Total + Bil;

Printf(“Total 10 Bilangan = %d“,Total);

26
Latihan :

1. Buat program untuk menampilkan deret : 1,2,4,8,16,25,36,49,64 

2. Buat program untuk menampilkan deret : 10,9,7,4,0 

Pertemuan 10

Struktur Kontrol Pengulangan Bersarang

Struktur  ini digunakan  untuk  melakukan  pengulangan  bersarang atau  loop  dalam  loop. Untuk

menyelesaikan masalah yang tidak dapat diselesaikan dalam loop tunggal. Pengulangan bersarang ini

dapat   dua,   tiga   atau   lebih   disesuaikan   dengan   solusi   penyelesaian   masalah   algoritma   yang   akan

digunakan. Penerapan struktur ini dapat seragam atau digabung dengan sintak penulisan sebagai berikut :

Struktur 1 :

While (Kondisi 1)

While (Kondisi 2)

­ Statement

endwhile

Endwhile

Struktur 2 :

Repeat

Repeat

­Statement

Until (Kondisi2)

Until (Kondisi1)

Struktur 3 :
27
For varcounter1 = N  To/DownTo  N1  [Step N] Do

For varcounter2 = N  To/DownTo  N1  [Step N] Do

­ Statement

EndFor

EndFor

Menentukan Loop dalam dan Loop luar

Ditentukan berdasarkan pergerakan :

Loop bergerak pertama adalah loop dalam

Loop bergerak berikutnya adalah loop luar

Contoh :

1  2  3  4  5

1  2  3  4  5

1  2  3  4  5

1  2  3  4  5

Loop bergerak pertama adalah k, dan loop bergerak kedua adalah b. maka k adalah loop dalam dan b

adalah loop luar. Apabila diimplementasikan ke algoritma adalah :

Algoritma NLoop

Deklarasi

b,k: Integer Algoritma :

b=1

28
While b <=4 do

For k = 1 to 5 do write( k)

endfor

writeln

b=b+1

Endwhile

Apabila algoritma diatas diimplementasikan kedalam program C++ :

/ Program struktur control pengulangan Nested Loop #include <stdio.h>

void main ()

int b,k; b = 1;

while (b<=4)

for (k=1;k<=5;k++)

printf (“%d “,k );

b++;

Printf(“\n”);

Latihan :

Buat Algoritma untuk menampilkan deret dibawah ini :

1 2

1 2 3

1 2 3 4  dan

1 2 3 4 5

1 2 3 4

1 2 3

1 2

29
1

Pertemuan 11

Modul Program Procedure

Modul digunakan untuk membagi algoritma/program yang besar menjadi potongan program yang

lebih kecil sehingga program yang besar dapat diselesaikan oleh beberapa orang secara terpisah ( team

work ) dengan tujuan untuk mempercepat pembuatan algoritma/program.

Modul dibagi dua yaitu :

Procedure

Adalah modul program yang dapat digunakan untuk membawa suatu nilai yang dapat dipakai

untuk modul itu sendiri, modul yang lain atau program utama.

Beberapa aturan Translasi Notasi algoritma prosedur ke dalam Notasi bahasa C++ :

1. Pendefinisian   prosedur   ditulis   di  luar   blok   program   utama   (main).  Kecuali   jika   direalisasikan

sebagai  file include.  Prosedur umumnya diletakkan  sesudah blok main(). Sedangkan  deklarasi

prosedur ditulis sebelum blok main() sebagai purwarupa saja ( purwarupa prosedur hanya berupa

header dari prosedur tersebut ), maka pendeklarasian purwarupa prosedur tidak diperlukan lagi. 

2. Dalam bahasa C, tidak dikenal istilah prosedur. Semua modul program adalah fungsi. Prosedur adalah

fungsi yang tidak mengembalikan nilai apapun. Karena itu, return value untuk prosedur adalah void,

(yang artinya ‘kosong’). 

3. Dalam bahasa C, bila prosedur tidak mempunyai  parameter,  maka tanda kurung ‘(‘ dan ‘)’ tetap

ditulis setelah setelah nama prosedur tersebut. 

4. Semua parameter dalam bahasa C adalah parameter masukan. 

Oleh   karena   itu,   semua   argument   parameter   actual   dilewatkan   sebagai   “  by  value”.   Ini   artinya   nilai

parameter actual disalin ke parameter f ormal yang bersesuaian. 

Suatu cara untuk memperoleh efek parameter keluaran maupun efek parameter masukan / keluaran adalah

melewatkan  pointer  terhadap   parameter   actual   dengan   menambahkan   karakter   “&”   di   awal   nama

parameter actual ya ng berjenis parameter keluaran atau masukan / keluaran. 

Tanda “&” menyatakan alamat dari peubah. 

Sedangkan   parameter   formal   yang   berjenis   keluaran   atau   masukan   /   keluaran   ditambahkan   dengan

karakter “*” didepannya. 

30
Tanda “*” menyatakan operator  indirect. 

procedure NamaProsedur(deklarasi parameter,jika ada)

{spesifikasi prosedur,berisi penjelasan tentang apa yang dilakukan oleh prosedur ini. K.Awal : keadaan 

sebelum prosedur dilaksanakan.

K.Akhir : kedaan setelah prosedur dilaksanakan. }

DEKLARASI

{ semua nama yang dipakai didalam prosedur dan hanya berlaku local didalam prosedur 

didefinisikan disini }

DESKRIPSI :

{ badan prosedur, barisi urutan instruksi}

· Cara memanggil prosedur : 

NamaProsedur

Jika prosedur tidak mempunyai parameter,

· atau 

NamaProsedur(parameter actual)

Jika prosedur mengandung parameter.

BAHASA C++

void NamaProsedur(deklarasi parameter,jika ada)

/* Spesifikasi prosedur, berisi penjelasan tentang apa yang dila kukan oleh prosedur ini. 

*/

/* K.Awal : keadaan sebelum prosedur dilaksanakan. */ /* K.Akhir : keadaan 

setelah prosedur dilaksanakan. */

/* DEKLARASI */

/* semua nama yang dipakai dalam prosedur dan hanya berlaku lok al di dalam prosedur 

didefinisikan di sini */

/* DESKRIPSI */

/* badan prosedur, berisi kumpulan instruksi */

· Cara memanggil prosedur : 

NamaProsedur( );

31
Jika prosedur tidak mempunyai parameter,

· atau 

NamaProsedur(parameter actual);

Jika prosedur mengandung parameter.

Contoh translasi prosedur tanpa parameter

ALGORITMA

Prosedur :
procedure HitungLuasSegitiga

{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 } { K.Awal : sembarang } 

{ K.Akhir : luas segitiga tercetak. } 

DEKLARASI

alas : riil { panjang alas segitiga, dalam cm } tinggi : riil { tinggi segitiga, 

dalam cm }
2
luas : riil { luas segitiga, dalam cm  }

DESKRIPSI read(alas,tinggi)

luas (alas * tinggi)/2 write(luas)

Program utama :

Algoritma Segitiga

{ Menghitung luas N buah segitiga. }

DEKLARASI i, N : integer

procedure HitungLuasSegitiga

{ Menghitung luas segitiga dengan rumus L =(alas x tinggi)/2 }

DESKRIPSI:

read(N) { tentukan banyaknya segitiga } for i 1 to N do

HitungLuasSegitiga

endfor

Contoh Program berdasarkan Algoritma di atas

/* Program Segitiga */

/* Menghitung luas N buah segitiga. */

#include <iostream.h>

/* Deklarasi purwarupa prosedur yang digunakan */ void 

HitungLuasSegitiga();

32
void main()

{ /* DEKLARASI */ int i, N;

/* PROGRAM UTAMA */

cout << "banyaknya segitiga? "; cin >> N;

for(i=1;i<=N;i++)

HitungLuasSegitiga();

/*endfor*/

void HitungLuasSegitiga()

/* Menghitung luas segitiga dengan rumus L=(alas x tinggi)/2 */ /* K.Awal : sembarang 

*/

/* K.Akhir : luas segitiga tercetak. */ { /*DEKLARASI*/

float alas; /* panjang alas segitiga, dalam cm */ float tinggi; /* tinggi 

segitiga, dalam cm */

float luas; /* luas segitiga, dalam cm2 */ /*DESKRIPSI*/

cout << "\nPanjang alas segitiga? "; cin >> alas ;

cout << "Tinggi segitiga? "; cin >> tinggi;

luas = (alas * tinggi)/2.0;

cout << "Luas = " << luas << endl;

Latihan :

Buatlah algoritma untuk menghitung beberapa luas bangun dengan menggunakan procedure yang dapat 

diimplementasikan dengan menu.

Pertemuan 12

Modul Program Functin

Function

Modul program   yang   dapat   digunakan   untuk   menghitung   dan mengembalikan suatu nilai

yang dapat digunakan untuk modul itu sendiri, modul yang lain atau program utama.

Translasi Notasi Algoritma untuk fungsi ke dalam Notasi bahasa C++. ALGORITMA

Function NamaFungsi(deklarasi parameter,jika ada) tipe

33
{spesifikasi fungsi,menjelaskan apa yang dilakukan dan yang dikembalikan oleh fungsi.}

DEKLARASI

{semua nama yang dipakai didalam fungsi dan hanya berlaku local didalam prosedur didefinisikan disini

DESKRIPSI

{badan fungsi,berisi instruksi–instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi }

return ekspresi { pengembalian nilai yang dihasilkan fungsi }

Bahasa C++ :

tipe NamaFungsi (deklarasi parameter,jika ada);

/* spesifikasifungsi,menjelaskan apa yang dilakukan dan yang dikembalikan oleh fungsi

/* DEKLARASI

semua nama yang dipakai didalam fungsi dan hanya berlaku local didalam 

prosedur didefinisikan disini*/

DESKRIPSI

badan fungsi,berisi instruksi­instruksi untuk menghasilkan nilai yang akan 

dikembalikan oleh fungsi */

return ekspresi;   /*pengembalian nilai yang dihasilkan fungsi*/

Catatan :

1. Dalam bahasa C++, fungsi dapat mengembalikan nilai bertipe sederhana ( integer, riil, Boolean, char,

dan string ) maupun bertipe bentukan. 

2. Apabila fungsi tidak memiliki daftar parameter formal, maka tanda “(” dan “)” tetap harus ditulis. Hal

yang sama juga berlaku pada waktu pemanggilannya. 

3. Sebagaimana halnya pada prosedur, fungsi di­definisi­kan di luar blok main(), dan purwarupa fungsi

dideklarasikan sebelum blok main(). 

Beberapa Contoh translasi :
2
1.  Fungsi F(x) = 2x  + 5x – 8  dan program pemanggilnya.

ALGORITMA

Fungsi :

34
function F(input x: riil)­>riil
2
{ mengembalikan nilai F(x)=2x +5x­8, x € R }

DEKLARASI

{ tidak ada }

DESKRIPSI

Return 2*x*x + 5*x ­ 8

Program utama :

Algoritma TabelFungsi
{program utama yang memperagakan cara pemanggilan fungsi F.Program ini menampilkan table nilai­nilai x dan f(x) 

didalam selang[10,15]dengan ∆x = 0.2 }

DEKLARASI x : riil

function F(input x: riil)   riil
2
{ mengembalikan nilai F(x)=2x +5x­8, x R }

DESKRIPSI:
{ buat header table }

write(‘­­­­­­­­­­­­­­­­­­­­­­­­ ’)
write(‘  x f(x) ’)
write(‘­­­­­­­­­­­­­­­­­­­­­­­­ ’)
x10.0
while x ≤ 15.0 do
write(x,’ ‘,F(x))
xx + 0.2
endwhile
{ buat garis penutup table }

write(‘­­­­­­­­­­­­­­­­­­­­­­­­’)

Dalam Bahasa C++

/* Program TabelFungsi */

/* Prog.utama yang memperagakan cara pemanggilan fungsi F.Prog.ini menampilkan table nilai­nilai x dan 

f(x) didalam selang [10,15] dengan ∆x = 0.2 */

#include <iostream.h> #include <iomanip.h>

/* purwarupa fungsi */ float F(float x);

/* mengembalikan nilai F(x)=2x2+5x­8, x bertipe riil */ void main()

{ /* DEKLARASI */ float x;

/* DESKRIPSI */
35
/* buat header table */
cout <<"---------------------\n"; cout <<" x f(x) \n";
cout <<"­­­­­­­­­­­­­­­­­­­­­ \n";
x = 10.0;
while (x <= 15.0)
{
cout << x << setw(15) << F(x) << endl;
x = x + 0.2;
} /*endwhile*/
/* buat garis penutup table */
cout <<"­­­­­­­­­­­­­­­­­­­­­ \n";
}

float F(float x)

/* mengembalikan nilai F(x)=2x2+5x­8, x bertipe riil */ { /*DEKLARASI*/

/* tidak ada */ /*DESKRIPSI*/

return 2*x*x + 5*x ­ 8;

Latihan :

Buatlah algoritma dan program untuk menghitung fungsi :
2
Fx = x  + 4x + c

Pertemuan 13

Parameter Dalam Modul Program

Adalah  variabel  yang  digunakan  untuk  mengirim  nilai  argumen  untuk

proses komunikasi data didalam suatu algoritma/program.

Terdapat dua buah parameter dalam suatu program yaitu :

1. By Reference 

Yaitu parameter yang dapat merubah nilai variabel global yang digunakan sebagai argumen. Cirinya 

didepan deklarasi parameter terdapat statement var. Contoh: 

Procedure cetak(var A: integer) 

2. By Value 

Yaitu parameter yang tidak dapat merubah nilai variabel global yang digunakan sebagai argumen.

Cirinya didepan deklarasi parameter tidak 

terdapat statement var.
36
Contoh: Procedure cetak(A: integer)

Algoritma Parameter

Deklarasi

A,B : Numerik

Procedure CetakData(var C : integer, D : integer )

Begin

CC+100; DD+100

Write(‘Nilai C : ‘,C) //C=200

Write(‘Nilai D : ‘,D) //D=200

End

Begin

A  100

B  100

CetakData(A,B)

Write(‘Nilai A : ‘,A) //A=200

Write(‘Nilai B : ‘,B) // B=100

End

Contoh translasi prosedur dengan parameter masukan ALGORITMA :

Prosedur :

procedure HitungLuasSegitiga(input alas, tinggi : riil)

{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 } { K.Awal : alas dan

tinggi sudah terdefinisi nilainya } 

{ K.Akhir : luas segitiga tercetak. } 

DEKLARASI
2
luas : riil { luas segitiga, dalam cm  }

DESKRIPSI

luas (alas * tinggi)/2 write(luas)

Program utama :

Algoritma Segitiga

{ Menghitung luas N buah segitiga. }

37
DEKLARASI i, N : integer a, t : riil

procedure HitungLuasSegitiga(input alas, tinggi : riil)

{ Menghitung luas segitiga dengan rumus L =(alas x tinggi)/2 }

DESKRIPSI:

read(N) { tentukan banyaknya segitiga } for i 1 to N do

read(a,t) HitungLuasSegitiga(a,t)

endfor

Contoh Program berdasarkan Algoritma di atas

/* Program Segitiga */

/* Menghitung luas N buah segitiga. */

#include <iostream.h>

/* Deklarasi purwarupa prosedur yang digunakan */ void 

HitungLuasSegitiga(float a, float t);

void main()

{ /* DEKLARASI */ int i, N;

float a, t;

/* PROGRAM UTAMA */

cout << "banyaknya segitiga? "; cin >> N;

for(i=1;i<=N;i++)

cout << "\nPanjang alas segitiga? "; cin >> a;

cout << "Tinggi segitiga? "; cin >> t; 

HitungLuasSegitiga(a,t);

void HitungLuasSegitiga(float alas, float tinggi)

/* Menghitung luas segitiga dengan rumus L=(alas x tinggi)/2 */ /* K.Awal : alas dan 

tinggi sedah terdefinisi nilainya */

/* K.Akhir : luas segitiga tercetak. */ { /*DEKLARASI*/

float luas; /* luas segitiga, dalam cm2 */ /*DESKRIPSI*/

luas = ( alas * tinggi )/2.0;

cout << "Luas=" << luas << endl;

38
Modul Rekursif

Adalah   modul   yang   memanggil   dirinya   sendiri.   Modul   ini   banyak   digunakan   untuk   proses

pemanggilan   modul   secara   berulang.   Misalnya   untuk   menghitung   nilai   sebuah   bilangan   yang

difaktorialkan maka dapat diselesaikan dengan system rekursif.

Contoh :

5! = 5*4!=4*3!=3*2!=2*1!=1*1

Algoritma_Name Rekursif

Var

A : Numerik

Function Faktorial (N:Numerik):Numerik

If  N= 1 Then

Faktorial  1

Else

Faktorial  N*(Faktorial(N­1)

Endif

End

Begin

A  5

Write(‘Nilai Faktorial : ‘,Faktorial(A))

End

Pertemuan 14

Studi Kasus Algoritma

Amatilah sebuah system yang ada di sekeliling saudara. Setelah saudara amati maka :
1. catatlah prosedur yang ada dalam system tersebut ! 
2. catatlah fungsi yang ada dalam system tersebut ! 
3. berdasarkan prosedur dan fungsi yang telah saudara dapat maka : susunlah algoritmanya. 
4. berdasarkan algoritma saudara buatlah hierarchi proses modul atau buat menu. 
5. implementasikan kedalam program algoritma modular yang telah saudara buat ! 

39

Anda mungkin juga menyukai