Anda di halaman 1dari 23

TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006

LA102 TANGGAL BERLAKU : 09 September 2006


LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

LOGIKA &
ALGORTIMA

MUCHAMAD GOZALI, S.Kom

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 1 - 23 1

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

PENYAJIAN ALGORITMA

Algoritma dapat disajikan dalam dua bentuk, yaitu :


tulisan dan gambar/simbol.

Penyajian algoritma dalam bentuk tulisan biasanya


menggunakan metode :
- English Structure (SE),
- Structure Indonesia (SI) dan
- Pseudocose.

Panyajian dalam bentuk gambar biasanya


menggunakan metode :
- Flowchart,
- HIPO, dan lain-lain.

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 2 - 23 2

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

FLOWCHART

Tujuan utama dari penggunaan flowchart


adalah untuk menggambarkan suatu
tahapan penyelesaian masalah secara
sederhana, terurai, rapi dan jelas dengan
menggunakan simbol-simbol standart.

Flowchart Program
Merupakan bagan alir yang menggambar-
kan urutan logika dari suatu prosedur
pemecahan masalah
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 3 - 23 3

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Simbol Flowchart Program

(terminal symbol), menunjukkan awal


dan akhir dari program
(preparation symbol), memberikan niai
awal pada suatu variabel
atau counter
(processing symbol), menunjukkan
pengolahan aritmatika dan
pemindahan data
(input/output symbol), menunjukkan
proses input atau output

(decision symbol), untuk mewakili


operasi perbandingan logika, atau
untuk proses seleksi (adanya syarat)

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 4 - 23 4

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

(predefined process symbol), proses


yang ditulis sebagai sub
program, yaitu prosedur/ fungsi

(connector symbol), penghubung pada


halaman yang sama

(off page connector symbol),


penghubung pada halaman yang
berbeda.
Arah proses

Contoh :
1. Flowchart untuk menentukan
keputusan Anda pada saat akan pergi, jika
hari hujan.

MULAI

Anda saat akan pergi

Ya
Hujan ?
Edisi: 01 Naik bis/angkot
08/ 5 - 23 5
Rev: 0 Copyright Perguruan Tinggi Raharja

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Tdk
Naik motor

SELESAI

2. Flowchart untuk menjumlahkan dua buah


data.

START

Edisi: 01
Jumlah = 0
Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 6 - 23 6

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Input
Data1, Data2

Jumlah = Data1 + Data2

Output
Jumlah

END

3. Menentukan apakah suatu bilangan termasuk


bilangan positif, negatif atau nol!

MULAI
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 7 - 23 7

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Baca Bil

True
Bil = 0
Cetak Nol

False
True
Bil < 0
Cetak Negatip

False

Cetak Positip

SELESAI

SOAL LATIHAN :
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 8 - 23 8

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

1. Buatlah flowchart untuk menentukan


keputusan Anda pada saat lampu merah di
jalan raya.

2. Buatlah flowchart untuk menghitung luas


persegi panjang. Luas = panjang x lebar,
Dimana panjang dan lebar sebelumnya di
baca.

3. Buatlah flowchart untuk menentukan nilai


terbesar dari 2 buah bilangan yang
sebelumnya di baca.

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 08/ 9 - 23 9

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

PSEUDOCODE

_Pseudo berarti imitasi atau mirip atau


menyerupai.
_Code menunjukkan kode dari program,

_Pseudocode adalah kode yang mirip dengan


instruksi kode program yang sebenarnya.

_ Pseudocode berbasis pada bahasa


pemrograman yang sesungguhnya sepertin
COBOL, FORTRAN, Pascal atau Basic,
sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan
dikomunikasikan kepada Programmer.

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 10


08/ 10 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Aturan Penulisan Algoritma Pseudocode


Agar notasi algoritma mudah ditranslasi ke dalam
notasi bahasa pemrograman, maka sebaiknya notasi
algoritma tersebut berkorespnden dengan notasi
bahasa pemrograman secara umum.

Aturan Penulisan Algoritma


Setiap Algoritma akan selalu terdiri dari 3 bagian
yaitu :
Judul (Header)
Kamus (Deklarasi)
Deskripsi
1. Judul (Header)
Judul digunakan sebagai tempat mendefinisikan
nama algoritma, dengan menentukan apakah teks
tersebut adalah program, prosedur, fungsi.

Setelah judul disarankan untuk menuliskan


spesifikasi singkat dari teks algoritma tersebut.
Algoritma Luas_Kubus { Judul Algoritma }
{
Contoh :
Spesifikasi Algoritma :
Menghitung
Edisi: 01 luas
Rev: kubus
0 Copyright untuk Tinggi
Perguruan ukuran sisi yang
Raharja 11
08/ 11 - 23

dibaca
Get The Betterdari
Futurepiranti masukan
By Computer Science lalu mencetak
hasilnya kepiranti keluaran
}
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Teks yang diapit simbol { } menunjukkan


keterangan.

2. Deklarasi
Deklarasi adalah bagian teks algoritma sebagai
tempat untuk mendefinisikan :
Nama konstanta
Nama variabel
Deklarasi
Nama type
{Nama konstanta, harus menyebutkan type dan nilai }
Nama fungsi
constant phi : real = 3,14159
Nama prosedur
const nama : string = Alex
const benar : boolean = true
Semua nama tersebut baru dapat dipakai di dalam
algoritma jika telah didefinisikan terlebih dahulu
{Nama Informasi/variabel, menyebutkan type}
didalam kamus.
x,y : integer {suatu nilai yang bertype bilangan
bulat} :
Contoh
NMax : real {nilai maksimum yang bertype bil.
real}
Nama : string {suatu nilai yang merup. kumpulan
character}
Cari : Boolean {suatu nilai logika}
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 12
08/ 12 - 23

Get The Better Future By Computer Science


{Nama fungsi }
function LuasLingk (x,y:real); { menghitung luas
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

3. Deskripsi
Algoritma adalah bagian inti dari suatu algoritma.
Komponen teks algoritma dalam pemrograman
procedural dapat berupa :
Instruksi dasar seperti input/output,
assignment
Sequence (runtutan)
Analisa kasus
Perulangan

Setiap langkah algoritma dibaca dari atas ke


bawah. Urutan deskripsi penulisan menentuan
urutan langkah pelaksanaan perintah.

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 13


08/ 13 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Contoh Penyelesaian Masalah Oleh Algoritma


Mencetak String Selamat Belajar Algoritma dan
Pemrograman ke piranti Keluaran.

Contoh 1 :
Mencetak string Selamat Belajar Algoritma dan
Pemrograman ke piranti keluaran.

Algoritma Cetak_string
{mencetak string Selamat Belajar Algoritma dan
Pemrograman ke piranti keluaran}
Deklarasi
{tidak ada}
Deskripsi
Algoritma Nilai_Maksimal
Output (Selamat Belajar Algoritma dan
{Menentukan nilai tertinggi yang dibaca dari piranti
Pemrograman)
masukan dan hasilnya dicetak ke piranti keluaran}

Deklarasi
Var hasil, x, y : integer { hasil merupakan variabel
Contoh 2 : untuk menampung nilai
Menentukan nilai terbesar dari bilangan
keluaran } bulat
yang dibaca dari piranti masukan danvariabel
{ x,y adalah menuliskan
untuk
hasilnya ke piranti keluaran.menampung nilai masukan }
Deskripsi
input (x,y) { membaca nilai x dan y dari piranti
masukan }
if x < y then { operasi kondisional }
hasil x { hasil di assignment oleh nila terbesar }
else
Edisi: 01
hasil Rev:y 0 Copyright Perguruan Tinggi Raharja 14
08/ 14 - 23

output (hasil) { nilai didalam variabel hasil dicetak ke


Get The Better Future By Computer Science

piranti keluaran }
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Contoh:
Algoritma Lingkaran {menghitung luas dan keliling
lingkaran }
Contoh 3 :
Deklarasi
Menghitung luas dan keliling lingkaran.
var Jari, Keliling, Luas : real
const phi = 3.14
Deskripsi
Input (Jari)
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 15
08/ 15 - 23
Keliling = 2 * phi * jari
Get The Better Future By Computer Science
Luas = phi * jari * jari
Print (Keliling, Luas)
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

LANGUAGE STRUCTUE
(english structure Indonesia)
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 16
08/ 16 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Bentuk penyajian algortima ini berdasarkan struktur


bahasa yang dipakai dalam sehari-hari tanpa melihat
aturan-aturan yang berlaku di algortima.

Contoh : Algortima memasak telor dadar


1. Mulai
2. Siapkan bahan : telor, minyak goring, garam
3. Siapkan alat : kompor, wajan dll
4. Panaskan minyak
5. Goreng telor
6. Kalau telor sudah matang kelangkah 7, kalau
belum kelangkah 5
7. Angkat telor
8. Letakan dipiring
9. Selesai

Contoh :
Algoritma Kelulusan_mhs, diberikan nama dan nilai
mahasiswa, jika nilai tersebut lebih besar atau sama
dengan 60 maka mahasiswa tersebut dinyatakan lulus,
jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
1. baca nama dan nilai mahasiswa.
2. jika nilai >= 60 maka
keterangan = lulus
tetapi jika tidak
keterangan = tidak lulus.
3. tulis
Edisi: 01 namaRev:dan keterangan
0 Copyright Perguruan Tinggi Raharja 17
08/ 17 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

SOAL LATIHAN :
1. Buatlah algoritma dengan cara diatas, yaitu :
flowchart, pseudocode dan language structure,
untuk soal dibawah ini :

a) Untuk menghitung :
Fahrenheit = 9/5 x ( C + 32)
Reamur = 4/5 x ( C + 32)

temperatur derajat Celsius dibaca, hitung


konversi suhu diatas, kemudian cetak
Celsius, Fahrenheit, Reamur.

b)Untuk membaca harga K dan B, Jika K=5


maka hitunglah X = K + B, kemudian cetak
K, B dan X.

c) Untuk menghitung komisi yang diterima


salesman berdasarkan jumlah penjualan
yang dicapainya. Salesman itu mendapat
komisi 10% dari hasil penjualannya. Cetak
nama salesman dan besar komisi yang
diperolehnya.

2. Ubahlah algoritma diatas kedalam program


bahasa Pascal.

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 18


08/ 18 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Jawaban No.1 :

Flowchart :

Pseudocode : Language Structure :


Algoritma Konversi_Suhu
{ Menghitung Fahrenheit dan Menghitung Fahrenheit dan
Reamur } Reamur
Deklarasi 1. Baca Celsius
Celsius, Fahrenheit, Reamur : real 2. Fahrenheit = 5/9 * (Celsius +32)
Deskripsi 3. Reamur = 4/5 * (Celsius +32)
Input (Celsius) 4. Cetak Celsius, Fahrenheit,
Fahrenheit = 5/9 * (Celsius
Edisi: 01 +32) Perguruan
Rev: 0 Copyright Reamur
Tinggi Raharja 19
08/ 19 - 23

ReamurGet= The
4/5Better
* (Celsius
Future By +32)
Computer Science
Print Celsius, Fahrenheit,
Reamur
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Jawaban No.2 :

Flowchart :

Pseudocode : Language Structure :


Algoritma Hitung_X
{ Menghitung harga X=K+B, Menghitung harga X dari data
dimana K dan B dari input } input K dan B
Deklarasi 1. Mulai
X,K,B : integer 2. Baca K, B
Deskripsi 2. Jika (K=5) maka
Input K, B X=K+B
If (K=5)
Edisi:then
01 Print
Rev: 0 Copyright Perguruan TinggiK, B, X 08/ 20 - 2320
Raharja

X=
Get The KBetter
+ B Future By Computer Science3. Selesai
Print K, B, X
End.
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Mengubah algoritma kedalam program Pascal :

Program Konversi_Suhu;
{ Menghitung Fahrenheit dan Reamur }
uses Crt;

{ Deklarasi }
var Celsius, Fahrenheit, Reamur : real; { Menyiapkan
variable Celsius, Fahrenheit, Reamur sbg real }

{ Deskripsi }
begin
clrscr;
write(Harga Celsius : ');
readln(Celsius);
Fahrenheit = 5/9 * (Celsius +32);
Reamur = 4/5 * (Celsius +32);
writeLn('Harga Celsius : ', Celsius);
Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 21
08/ 21 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

writeLn('Harga Fahrenheit : ', Fahrenheit)


writeLn('Harga Reamur : ', Reamur)
readln;
end.

To be continue . . . . . . . .

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 22


08/ 22 - 23

Get The Better Future By Computer Science


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-
008

Edisi: 01 Rev: 0 Copyright Perguruan Tinggi Raharja 23


08/ 23 - 23

Get The Better Future By Computer Science

Anda mungkin juga menyukai