Anda di halaman 1dari 15

Dasar Pemrograman

Dasar Komputer & Pemrograman Kartika Firdausy - UAD

Algoritma
urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Contoh :
Algoritma mencari akar persamaan kuadrat dari persamaan kuadrat ax2 + bx + c = 0 cari nilai akar-akarnya yaitu x1 dan x2 DESKRIPSI :
1. 2.

3.

Masukkan nilai koefisien a, b, dan c Hitung x1 dan x2 dengan menggunkan rumus ABC Tampilkan nilai x1 dan x2

(* DESKRIPSI *)
1. Masukan nilai koefisien a,b, dan c 2. Hitung D
b
jika D=0 maka x = 2a

tetapi jika D > 0 maka,


x1 = ( b + D ) 2a

x2 =

( b + D ) 2a

tetapi jika D < 0 maka,

x riil =

b 2a

ximajiner =

D 2a

3. Jika D = 0 maka
tampilkan x

tetapi jika D > 0 maka


tampilkan x1 dan x2

tetapi jika D < 0 maka


tampilkan xrill dan ximajiner

Prosesor (pemroses) akan mengerjakan proses sesuai algoritma yang diberikan kepadanya. Misal : komputer Agar dapat dilaksanakan oleh komputer algoritma harus ditulis dalam notasi bahasa pemograman disebut program Jadi, program adalah implementasi algoritma

Contoh Program

belajar memprogram : metodologi pemecahan kemudian menuangkannya dalam notasi yang mudah dipahami. belajar bahasa pemrograman : memakai suatu bahasa, tata bahasa / syntax, instruksi-instruksi, cara pengoperasian compiler, memenfaatkannya untuk membuat program yang ditulis dalam bahasa tersebut.

Tipe Algoritma

ALGORITMA RUNTUNAN (SEQUENCE)

tiap instruksi dikerjakan satu persatu tiap isntruksi dilaksanakan tepat satu kali, tidak ada instruksi yang diulang urutan instruksi yang dilaksanakan prosesor sama dengan urutan aksi yang tertulis dalam teks algoritma akhir dari instruksi terakhir merupakan akhir algoritma.

Pengaruh urutan instruksi


Algoritma RUNTUNAN_1 {contoh algoritma yang menghasilkan keluaran berbeda jika urutan instruksi diubah} DEKLARASI A, B : integer DESKRIPSI A 10 A2*A BA write (B) {nilai B yang dicetak ke piranti keluaran =

Algoritma RUNTUNAN_2 {contoh algoritma yang menghasilkan keluaran berbeda jika urutan instruksi diubah} DEKLARASI A, B : integer DESKRIPSI A 10 BA A2*A Write (B) {nilai B yang dicetak ke piranti keluaran =

ALGORITMA PEMILIHAN ( SELECTION )

aksi dilakukan jika memenuhi persyaratan / kondisi tertentu

Analisis kasus dari suatu masalah : tentukan kondisi boolean (true atau false) tentukan aksi jika kondisi memenuhi. Kondisi boolean = ekspresi relasional

Contoh kondisi: x > 100 a+ b>1 str = uad aksi dapat berupa : pengisian nilai (assignment) kalkulasi baca tulis dan sebagainya.

Analisis Satu Kasus


Notasi algoritmik : IF- THEN if <kondisi> then aksi endif

Contoh :

x > 100 then x x+1 endif

if

Notasi Pascal : if x > 100 then begin x := x+1; end ;

Analisis Dua Kasus


Notasi algoritmik : IF- THEN- ELSE if <kondisi> then aksi 1 else aksi 2 endif

Contoh :

if a > 0 then write (bilangan positif) else write (bilangan bukan positif) endif

Notasi Pascal : if a > 0 then writeln (bilangan positif) else writeln (bilangan bukan positif); end ;

Analisis Tiga Kasus atau Lebih


Notasi algoritmik : IF- THEN- ELSE Tiga Kasus if <kondisi 1> then aksi 1 else if <kondisi 2> then aksi 2 else if <kondisi 3> then aksi 3 endif endif endif

Contoh :
if gol = A then upah 4000.0 else if gol = B then upah 5000.0 else if gol =C then upah 6000.0 endif endif endif

10

STRUKTUR CASE
Struktur ini untuk permasalahan dua kasus atau lebih. Struktur : case (nama) of <kondisi 1> : aksi 1 <kondisi 2> : aksi 2 <kondisi 3> : aksi 3 ........... ........... ........... <kondisi N> : aksi N [ otherwhise aksi X ] endcase

Contoh :
case (NoHari) of NoHari = 1 : write (Ahad) NoHari = 2 : write (Senin) NoHari = 3 : write (Selasa) NoHari = 4 : write (Rabu) NoHari = 5 : write (Kamis) NoHari = 6 : write (Jumat) NoHari = 7 : write (Sabtu) otherwise write (bukan nama hari yang benar) endcase

11

PASCAL
Program NAMA_ NAMA_ HARI ; {mencetak nama hari bila diberikan nomornya} ( * DEKLARASI * ) var NoHari : integer ; ( * DESKRIPSI : * ) begin write (masukkan nomor hari (1-7) :) ; readln (NoHari) ; case NoHari of 1 : writeln (Ahad) ; 2 : writeln (Senin) ; 3 : writeln (Selasa) ; 4 : writeln (Rabu) ; 5 : writeln (Kamis) ; 6 : writeln (Jumat) ; 7 : writeln (Sabtu) ; else writeln (bukan nomor hari yang benar) ; end ; d

ALGORITMA PENGULANGAN (REPETITION / LOOP)


Struktur Pengulangan : 1. kondisi pengulangan ekspresi boolean 2. badan (body) pengulangan Aksi dalam struktur pengulangan 1. inisialisasi sebelum pengulangan 2. terminasi setelah pengulangan Notasi Struktur Pengulangan 1. Struktur WHILE DO 2. Struktur REPEAT UNTIL
3.

Stuktur FOR

12

Struktur WHILE DO
while <kondisi> do aksi endwhile Contoh : Algoritma CETAK_BANYAK_HALO {mencetak HALO sebanyak 10 kali } DEKLARASI k : integer {pencacah pengulangan } DESKRIPSI k1 {inisialisasi} while k 10do write (HALO) kk+1 endwhile {terminasi : k > 10}

PROGRAM PASCAL
Program CETAK_BANYAK_HALO ; {mencetak HALO sebanyak 10 kali} ( *DEKLARASI* ) var k : integer ; ( *DESKRIPSI* ) begin k:=1; while k 10 do begin writeln (HALO) ; k:=k+1; end ; end.

13

Struktur REPEAT UNTIL


repeat aksi until <kondisi> Contoh : Algoritma CETAK_BANYAK_HALO {mencetak HALO sebanyak 10 kali} DEKLARASI k : integer DESKRIPSI k1 repeat write (HALO) kk+1 until k > 10

Struktur FOR
Struktur FOR ada dua macam : menaik (ascending) menurun (descending)

1. 2.

for peubah nilai_awal to nilai_akhir do aksi endfor for peubah nilai_awal downto nilai_awal do aksi endfor

14

Contoh :
Algoritma PELUNCURAN_ROKET {hitung mundur peluncuran roket} DEKLARASI k : integer DESKRIPSI : for k 100 downto 0 do write (k) endfor write (Go!)

{roket meluncur}

PASCAL
Program PELUNCURAN_ROKET ; {hitung mundur peluncuran roket} ( *DEKLARASI* ) var k : integer ; ( *DESKRIPSI* ) begin for k : = 100 downto 0 do writeln (k) ; writeln (Go!) ; {roket meluncur} end.

15

Anda mungkin juga menyukai