33
STRUKTUR DASAR ALGORITMA Algoritma berisi langkah2 proses penyelesaian mslh Langkah2 proses penyelesaian masalah tersebut dpt membentk konstruksi suatu algoritma, langkah2 tersbt adalah : 1. runtunan aksi 2. pemilihan aksi 3. pengulangan aksi

Dasar Dasar Algoritma

  • Upload
    formatik

  • View
    12.132

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dasar Dasar Algoritma

STRUKTUR DASAR ALGORITMA Algoritma berisi langkah2 proses

penyelesaian mslh Langkah2 proses penyelesaian masalah

tersebut dpt membentk konstruksi suatu algoritma, langkah2 tersbt adalah :

1. runtunan aksi

2. pemilihan aksi

3. pengulangan aksi

Page 2: Dasar Dasar Algoritma

1. RUNTUNAN AKSI

Sebuah runtunan terdpt satu atau lebih pernytaan,setiap pernyataan dikerjakan secara berurutan sesuai penulisannya

Sebuah instruksi dikerjakan setelah instruksi sebelumnya telah dilaksanakan

Urutan instruksi menentukan keadaan akhir suatu algoritma

Bila urutan algoritma dirubah,maka hasil akhir mungkin juga berubah

Runtunan yg mempunyai satu/lebih pernyaaan disbt penytaan gabungan

Page 3: Dasar Dasar Algoritma

Contoh:

Program tukar_isiDiberikan 2 buah ember A & B berisi air berwarna merah, ember B berisi air berwarna biru.pertukarkan kedua isi ember tersbt shg ember A berisi air berwrna biru & ember B berisi air berwana merah

Algoritma :

1. Tuangkan air dari ember A kedlm ember C

2. Tuangkan air dari ember B kedlm ember A

3. Tuangkan air dari ember C kedlm ember B

Page 4: Dasar Dasar Algoritma

Algoritma tukar_isi menjadi inspirasi untuk mempertukarkan nilai dr 2 buah nilai dr 2 peubah

Misal A=8 dan B=5, pertukarkan nilai A & B, sehingga A=5 dan B=8,maka algoritmanya : isikan nilai A ke dlm Bisikan nilai B ke dlm Amaka hasilnya:A=8 & B=8, maka algoritma pertkarannya salah.Agar algirtmanya benar,maka perlu digunakan peubah bantu,misal C, sehinggga algoritmanya adalah:

Page 5: Dasar Dasar Algoritma

Isikan nilai A ke dlm C

Isikan nilai B ke dlm A

Isikan nilai C ke dlm B

Page 6: Dasar Dasar Algoritma

2. PEMILIHAN

Adaklanya sebuah aksi dikerjakan jika kondisi dipenuhi

Misal:jika lampu traffic light berwarna merah,maka kendaraan harus berhenti,maka pernyataan adalah: jika lampu traffic light berwarna merah,maka

berhenti

Pernytn tersbt disbt penyt.pemilihan (selection-stantement)atau perny.kondisional

Page 7: Dasar Dasar Algoritma

Bentuk umum selection statement:

Kondisi:pernsyartn yg dpt bernilai benar-salah,aksi setelah then dilakukan hanya jika kondisi benar

If & then ad/ kaca kunci (keyword) u/ struktur pemilihan

Contoh :

if x habis dibagi 2 then

tulis x ad/ bilangan genap

If kondisi then aksi

Page 8: Dasar Dasar Algoritma

Bentuk lain statent condisional

a.

else “kalau tdk”. Bila kondisi benar,maka aksi1 yg dikerjakan,kalau tdk aksi2 dikerjakan.contoh:

if lampu A nyala then

tekan tombol merah

else

tekan tombol biru

if kondisi then aksi1Else aksi2

Page 9: Dasar Dasar Algoritma

b.nested-if =pemilihan bersarang ad/ apabila pemilihan aksi yg dilakukan lebih dr 2 buah,maka struktur pemilihanya menjdi rumit.

if kondisi1 then aksi1Else if kondisi2 then aksi2 else aksi3

Page 10: Dasar Dasar Algoritma

Contoh :

if lampu traffic light berwarna merah then

berhenti

else

if lampu traffic light berwarna kuning then

jalan hati-hati

else

jalan terus

Dlm state.kondisi dikenal adanya ‘indentasi’ yaitu: pengg.rongga kosong yg membuat algoritma menjd mudah dibaca.

Page 11: Dasar Dasar Algoritma

Contoh:tanpa indentasiif lampu traffic light berwarna merah then

berhenti

Else if lampu traffic light berwarna kuning then

jalan hati-hati else

jalan terus

Penulisan algoritma sangat dianjurkan u/ membuat indentasi,agar algoritma mudah dbaca.

Kelebihan struktur pemilihan terltk pd kemampuannya yg memungkinkan pemroses mengikuti jalur aksi yg berbeda berdsrkan kondisi yg ada.

Page 12: Dasar Dasar Algoritma

3.PENGULANGANSalah kelebihan komputer ad/ kemampuannya u/ melakukan perkerjaan secara berulang-ulangContoh:program menulis_kalimat_500_kalimenuliskan kalimat ‘algoritma adalah langkah logis penyelesaian masalah’ sebanyak 500 kali

Algoritma:1. tulis ‘algoritma adalah langkah logis penyelesaian masalah’2. tulis ‘algoritma adalah langkah logis penyelesaian masalah3. tulis ‘algoritma adalah langkah logis penyelesaian masalah...500

Page 13: Dasar Dasar Algoritma

u/ mengtasi hal tersbt dpt digunakan stukrutr pengulangan for-do, sehingga algoritmya:

program menulis_kalimat_500_kali

menuliskan kalimat ‘algoritma adalah langkah logis penyelesaian masalah’ sebanyak 500 kali

Algoritma:

for i dari 1 sampai 50 do

tulis ‘algoritma adalah langkah logis penyelesaian masalah’

i ad/ pencacah pengulangan yg mencacah 1 s/d 500

Page 14: Dasar Dasar Algoritma

Bentuk2 pengulangan:

1. For pencacah pengulangan dr 1 s/d N doaksi

repeat-until=ulangi-sampai: proses pengulanganakan berhenti jika kondisi terpenuhi

3 While-do=selama-lakukan= prose pengulangan akan berhenti jika kondisi salah

RepeatAksiUntil kondisi

While kondisi doAksi

Page 15: Dasar Dasar Algoritma

STRUKTUR TEKS ALGORITMA

Ada 3 bagian struktur suatu algoritma, yaitu :

1. Bagian Judul (header)

2. Bagian Deklarasi

3. Bagian Algoritma

Page 16: Dasar Dasar Algoritma

Struktur teks Agoritma :

PROGRAM nama_program

{penjelasan tentang algoritma yg beisi uraian singkat mengenai

masalah yg akan diselesaikan}

DEKLARASI

{Semua nama yg dipakai, nama tipe,konstanta,var,prosedur,dan

fungsi diumumkan disini}

ALGORITMA

{Semua langkah/aksi algoritma dituliskan disini}

Page 17: Dasar Dasar Algoritma

Contoh:PROGRAM luas_lingkaran{menghitung luas lingkaran apabila jari-jari lingkaran sudah diberikan}

DEKLARASI{Nama Konstanta}

const N =10

const phi=3.14 {nilai phi}

{Nama variabel}

jari_jari, luas:real

ALGORITMA:READ (jari_jari)

LUAS Phi *jari_jari*jari_jari

Write (luas)

Page 18: Dasar Dasar Algoritma

1. Bagian judul / header Memuat nama program dan

penjelasan(spesifkasi) tentang program Nama program ditulis singkat,tetapi hrs

menggambarkan apa yg dilakukan algoritma Algoritma yg dibuat harus sesuai dgn

spesifikasi masalah yang diberikanContoh:PROGRAM helloWord{program untuk mencetak “hello word”}PROGRAM luas_lingkaran{program untuk menghitung luas lingkaran”}

Page 19: Dasar Dasar Algoritma

2. Bagian Deklarasi

Mengumumkan semua nama yg akan dipakai, termasuk nama tipenya

Nama tersbut berupa:konstanta,variabel,tipe, prosedur dan fungsi

Semua nama tersbt harus dideklarasikan sebelum digunakan

Page 20: Dasar Dasar Algoritma

Contoh: DEKLARASI

{nama konstanta}const N=10 {jumlah data}

const phi=3.14 {nilai phi}

{nama variabel}jari_jari,luas:real

{nama tipe}type titik:record {koord.titik dibidang kartesian}

< x:integer, {absis}

y:integer> {ordinat}

Page 21: Dasar Dasar Algoritma

FUNCTION apakah_A(input c:char) boolean

{mengembalikan nilai true bila c adalah karakter ‘A’ atau false bila sebaliknya}

PROSEDURE tukar(input/output A:integer, input/output B:integer)

{ mempertukarkan nilai A & B,parameter A & B sudah terdefinisi nilainya.setelah pertukaran A berisi nilai B semula, B berisi nilai A semula}

Page 22: Dasar Dasar Algoritma

Aturan pemberian ‘nama’ dalam notasi algoritmik:

1. tidak boleh mengandung spasi, tanda baca dan operasi matematika

2. Karakter garis bawah (“_”) dpt digunakan untuk menggantikan spasi

3. Tidak membedakan huruf kecil dan huruf besar

(bahasa pemrograman case sensitif seperti bahasa C menganggap huruf kecil dan besar adalah 2 karakter yang berbeda)

Page 23: Dasar Dasar Algoritma

3. Bagian Algortima Bagian ini merupakan inti dari suatu program Berisi deskripsi langkah2 penyelesain

masalah berupa pernyataan, yg ditulis dalam suatu notasi

Misal write untuk mencetak data/informasi, read untuk membaca data,dsb

Setiap pernyataan dlm algoritma dibaca dari atas ke bawah

Algoritma dieksekusi berdasarkan urutan pernyataan

Page 24: Dasar Dasar Algoritma

Contoh :

Algoritma :

Read (panjang,lebar)

Luas ←panjang*lebar

Write (luas)

Page 25: Dasar Dasar Algoritma

Translasi teks algoritma kedlm teks program pascal & C Teks algoritma merupakan hasil pemikiran

konseptual, agar dpt dilaksanakan o/komputer maka harus ditranslasi kedlm bahasa bahasa pemrograman apapun

Bahasa pascal merupakan bahasa pendidikan krn paling banyak digunakan dilingkungan universitas

Bahasa C krn memiliki lingkungan yg luas dlm industri perangkat lunak

Page 26: Dasar Dasar Algoritma

Contoh2 translasiAlgoritmikProgram luas_segiempat{ membaca panjang & lebar yg berbentuk empat persegi panjang,

menghitung luasnya, lalu mencetak luas tersebut ke piranti keluaran}

DEKLARASI{nama variabel}

panjang :real {panjang segiempat dlm cm}lebar :real {lebar segiempat dlm cm}luas :real {luas segiempat dlm cm}

ALGORITMA:Read (panjang,lebar)luas←panjang*lebarWrite (luas)

Page 27: Dasar Dasar Algoritma

Translasi dlm bahasa pascal

Program luas_segiempat;

Uses wincrt;

Var

panjang,lebar,luas:real;

Begin

write (panjang=‘);readln (panjang);

write (lebar =‘);readln (lebar);

luas:=panjang*lebar;

writeln (luas segiempat=‘,luas:5:2);

End.

Page 28: Dasar Dasar Algoritma

Translasi dlm bahasa C/* program luas_segiempat */

/* program untuk menghitung luas segiempat */# include <stdio.h>Main (){/* deklarasi*/Float panjang; {panjang segiempat dlm cm}

Float lebar; {lebar segiempat dlm cm}

Float luas; {luas segiempat dlm cm}

/*algoritma*/Printf (“panjang =“);scanf (“%f”, &panjang);Printf (“lebar =“);scanf (“%f”, &lebar);Luas=panjang*lebar;Printf (“luas segi empat=“ %f \n “,luas);}

Page 29: Dasar Dasar Algoritma

Contoh1: menghitung komisi salesman

Tulislah agoritma untuk menghitung komisi yg diterima salesman berdasarkan nilai penjualan yg dicapainya. Salesman mendapat komisi 5% dari hasil pejualannya.algoritma menerima data nama salesman dan nila penjualan yg dicapainya. Menghitung komisi lalu mencetak nama dan besar komisi yg diperolehnya

Page 30: Dasar Dasar Algoritma

penyelesain

Program komisi{menghitung komisi yg diterima salesman berdasarkan nilai penjualan yg

dicapainya. Salesman mendapat komisi 5% dari hasil pejualannya}

Deklarasinama_salesman : string

nilai_penjualan : real

komisi : real

Algoritma:Read(nama_salesman,nilai_penjualan)

komisi←0.05 *nilai_penjualan

Write (nama_salemsman,komisi)

Page 31: Dasar Dasar Algoritma

Program komisi_salesman;

Uses wincrt;

Var

nama_salesman :string;

nilai_penjualan :real;

komisi :real;

Beginwrite (‘nama salesman:‘);readln (nama_salesman);

write (‘nilai penjualan :‘);readln (nilai_penjualan);

komisi :=0.05 * nilai_penjualan;

writeln (‘komisi penjualan =‘,komisi:7:2);

End.

Page 32: Dasar Dasar Algoritma

/* program komisi_salesman */

/* program untuk menghitung komisi salesman */

# include <stdio.h>

Main ()

{

/* deklarasi*/

String nama_saleman;

Float nilai_penjualan;

Float komisi;

\*algoritma*/

Printf (“nama salesman =“);scanf (“%s”, &nama_salesman);

Printf (“nilai penjualan =“);scanf (“%f”’, &nilai_penjualan);

Komisi=0.05 * nilai_penjualan;

Printf (“komisi penjualan=“ %f \n “,komisi);

}

Page 33: Dasar Dasar Algoritma

TUGAS 2 :Tulislah algoritma yg membaca nama karyawan dan gaji pokok bulanannya serta menghitung gaji bersihnya. Gaji bersih yg diterima pegawai adalah :

gaji bersih = gaji pokok + tunjangan-pajak

tunjangan karyawan dihitung 20% dari gaji pokok, sedangkan pajak adalah 15%dari gaji pokok ditambah tunjangan.nama karyawan dan gaji bersihnya dicetak kepiranti keluaran