TRANSPARANSI KULIAH
LA102
LOGIKA DAN ALGORITMA
TANGGALREVISI
TANGGAL BERLAKU
KODE DOKUMEN
:
:
:
09 September 2006
09 September 2006
DM-RHJ-005-005-008
START
Input
Celsius
Fahrenheit = 9/5 x ( C + 32)
Output
Celsius, Fahrenheit,
Reamur
END
Reamur = 4/5 x ( C + 32)
MUCHAMAD GOZALI, S.Kom
PENYAJIAN ALGORITMA
MULAI
Baca K, B
K = 5
Cetak K, B,
X
SELESAI
T
F
X = K + B
FLOWCHART
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)
(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.
2. Flowchart untuk menjumlahkan dua buah
data.
3. Menentukan apakah suatu bilangan termasuk
bilangan positif, negatif atau nol!
SOAL LATIHAN :
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.
PSEUDOCODE
Aturan Penulisan Algoritma Pseudocode
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.
Contoh :
Teks yang diapit simbol { } menunjukkan keterangan.
2. Deklarasi
Deklarasi adalah bagian teks algoritma sebagai tempat untuk
mendefinisikan :
• Nama konstanta
• Nama variabel
• Nama type
• Nama fungsi
• Nama prosedur
Semua nama tersebut baru dapat dipakai di dalam algoritma jika
telah didefinisikan terlebih dahulu didalam kamus.
Contoh :
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.
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.
Contoh 2 :
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari
piranti masukan dan menuliskan hasilnya ke piranti keluaran.
Contoh 3 :
Menghitung luas dan keliling lingkaran.
LANGUAGE STRUCTUE
(english structure – Indonesia)
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.
Jawaban No.1 :
Jawaban No.2 :
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);
writeLn('Harga Fahrenheit : ', Fahrenheit)
writeLn('Harga Reamur : ', Reamur)
readln;
end.
To be continue . . . . . . . .
LOGIKA & ALGORTIMA
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.
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
Algoritma Nilai_Maksimal
{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan
hasilnya dicetak ke piranti keluaran}
Deklarasi
Var hasil, x, y : integer { hasil merupakan variabel
untuk menampung nilai
keluaran }
{ x,y adalah variabel untuk
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
hasil ← y
output (hasil) { nilai didalam variabel hasil dicetak ke
piranti keluaran }
START
Input
Data1, Data2
Jumlah = Data1 + Data2
Output
Jumlah
END
Jumlah = 0
MULAI
Baca Bil
Bil = 0
Bil < 0
Cetak “Nol”
Cetak “Negatip”
Cetak “Positip”
SELESAI
True
True
False
False
_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.
Contoh:
Algoritma Lingkaran {menghitung luas dan keliling lingkaran
}
Deklarasi
var Jari, Keliling, Luas : real
const phi = 3.14
Deskripsi
Input (Jari)
Keliling = 2 * phi * jari
Luas = phi * jari * jari
Print (Keliling, Luas)
MULAI
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 nama dan keterangan
Algoritma Cetak_string
{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke
piranti keluaran}
Deklarasi
{tidak ada}
Deskripsi
Output (‘Selamat Belajar Algoritma dan Pemrograman’)
Language Structure :
Menghitung Fahrenheit dan Reamur
1. Baca Celsius
2. Fahrenheit = 5/9 * (Celsius +32)
3. Reamur = 4/5 * (Celsius +32)
4. Cetak Celsius, Fahrenheit,
Reamur
Pseudocode :
Algoritma Konversi_Suhu
{ Menghitung Fahrenheit dan Reamur }
Deklarasi
Celsius, Fahrenheit, Reamur : real
Deskripsi
Input (Celsius)
Fahrenheit = 5/9 * (Celsius +32)
Reamur = 4/5 * (Celsius +32)
Print Celsius, Fahrenheit, Reamur
Flowchart :
�
Deklarasi
{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
const nama : string = ‘Alex’
const benar : boolean = true
{Nama Informasi/variabel, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bil. real}
Nama : string {suatu nilai yang merup. kumpulan character}
Cari : Boolean {suatu nilai logika}
{Nama fungsi }
function LuasLingk (x,y:real); { menghitung luas
lingkaran }
{Nama prosedur }
Procedure judul (input jdl : string); { mencetak judul }
Algoritma Luas_Kubus { Judul Algoritma }
{
Spesifikasi Algoritma :
Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti
masukan lalu mencetak hasilnya kepiranti keluaran
}
Language Structure :
Menghitung harga X dari data input K dan B
1. Mulai
2. Baca K, B
2. Jika (K=5) maka
X = K + B
Print K, B, X
3. Selesai
Flowchart :
�
Pseudocode :
Algoritma Hitung_X
{ Menghitung harga X=K+B, dimana K dan B dari input }
Deklarasi
X,K,B : integer
Deskripsi
Input K, B
If (K=5) then
X = K + B
Print K, B, X
End.
Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa
pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden
dengan notasi bahasa pemrograman secara umum.
Anda saat akan pergi
Hujan ?
Tdk
Ya
Naik bis/angkot
Naik motor
SELESAI
PAGE
1
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja08/ 1 -
23
Get The Better Future By Computer Science