30
TRANSPARANSI KULIAH LA102 LOGIKA DAN ALGORITMA TANGGALREVISI TANGGAL BERLAKU KODE DOKUMEN : : : 09 September 2006 09 September 2006 DM-RHJ-005-005-008 MUCHAMAD GOZALI, S.Kom Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 08/ 1 - 30 Get The Better Future By Computer Science 1 LOGIKA & ALGORTIMA

WordPress.com · Web viewAlgoritma adalah bagian inti dari suatu algoritma. Komponen teks algoritma dalam pemrograman procedural dapat berupa : • Instruksi dasar seperti input/output,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

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