Anda di halaman 1dari 30

Agustiyar

2019 M.Kom.
Universitas Dian Nuswantoro Semarang
S.Kom.
2007
STMIK Sinar Nusantara Surakarta
SMA
2002
SMKN 2 Surakarta
SMP
1999
SLTPN 2 Simo
agustiyar001@gmail.com SD
1996
SDN Blagung
085293376814

Gunungpati, Kota Semarang Hobi: Tenis, Renang

   

Agustiyar
1
Rencana Pembelajaran

Algoritma dan Web


Pemrograman Development
Dasar Dasar Mampu
Membuat
Website
Database Web Dinamis
Dasar Development
Lanjut

Agustiyar
2
Algoritma
dan
Pemrograman Dasar
Konsep Dasar Algoritma dan Pemrograman

3
Penemu Algoritma

• Mohammed Ibn Musa Al-Khowarizmi


• Dunia Barat menyebutnya: Al Goritmi, Al
Gorismi, Al Cowarizmi
• Lahir di Khawarizm (Kota Khiva,
Uzbekistan), 780M

Agustiyar
4
Pengertian Algortima

• Urutan langkah-langkah yang sistematis untuk


menyelesaikan masalah;
• Sistematis: teratur menurut sistem
Algoris
• Prosedur sistematis untuk memecahkan masalah
Algoritm matematis dalam langkah-langkah terbatas;
a
• Urutan logis pengambilan keputusan untuk
Ritmis menyelesaikan masalah.
• Logis: sesuai dengan logika; benar menurut
penalaran; masuk akal

Agustiyar
5
Karakteristik Algoritma

1. Finiteness 1. Finiteness(terbatas): Proses dalam algoritma harus


memiliki akhir dan jumlah langkahnya terbatas

2. Definiteness(tidak ambigu): Tiap langkah dalam


algoritma harus didefinisikan dengan jelas
4.
Karakteristi
Effectivenes 2. Definiteness
s
k Algoritma 3. Input Output: Algoritma boleh tidak memiliki input
atau memiliki input tetapi harus memiliki minimal satu
output

3. Input Output 4. Effectiveness(efektif): Langkah-langkah dalam


algoritma harus efektif dan sesederhana mungkin

Agustiyar
6
Langkah pada Algoritma Harus Logis

• Contoh: Terdapat dua buah gelas, gelas 1


dan gelas 2. Gelas 1 berisi jeli kuning,
gelas 2 berisi jeli coklat, Kita ingin
menukarkan isi kedua gelas tersebut,
sehingga gelas 1 berisi jeli coklat
sedangkan gelas 2 berisi jeli kuning.

Agustiyar
7
Langkah pada Algoritma Harus Logis

a. Algoritma Tukari_Isi_Gelas
1. Tuangkan jeli dari gelas 1 ke gelas 2; Awal
2. Tuangkan jeli dari gelas 2 ke gelas 1.

Langkah 1

Langkah 2 = Hasil Akhir

Agustiyar
8
Langkah pada Algoritma Harus Logis

Awal
b. Algoritma Tukari_Isi_Gelas
1. Tuangkan jeli dari gelas 1 ke gelas 3;
Langkah 1
2. Tuangkan jeli dari gelas 2 ke gelas 1;
3. Tuangkan jeli dari gelas 3 ke gelas 2.
Langkah 2

*Berikan contoh algoritma dalam kehidupan sehari-hari?

Langkah 3 = Hasil akhir

Agustiyar
9
Format Penulisan Algoritma

Deskriptif
• Algoritma bersifat independen
terhadap bahasa pemrograman tertentu,
Format
artinya algoritma dapat diterapkan
Penulisan Pseudocode pada semua bahasa pemrograman,
Algoritma algoritma tidak boleh hanya dapat
diterapkan pada bahasa pemrograman
Flowchart tertentu.

Agustiyar
10
Format Deskriptif

• Ditulis dalam bahasa manusia sehari-hari; • 5,6,7


• Dalam bentuk kalimat. • 6,5,7
• Contoh:
• 7,6,5
Algoritma Menentukan_bilangan_terkecil
1. Mulai;
2. Meminta input 3 bilangan, misal bilangan a, b, c;
3. Cek apakah a lebih kecil dari b dan c, jika ya maka a bilangan
terkecil, jika tidak maka langkah 4;
4. Cek bilangan b apakah lebih kecil dari c, jika ya maka b
bilangan terkecil, jika tidak maka c bilangan terkecil;
5. Selesai.

Agustiyar
11
Format Pseudocode

• Pseudo: imitasi, code: kode (kode


• PROGRAM Menentukan_bilangan_terkecil
bahasa pemrograman), Pseudocode:
tiruan dari kode bahasa pemrograman. • DEKLARASI:
• int $a, $b, $c, $terkecil
• Tidak terikat pada aturan penulisan • ALGORITMA:
(syntax) • read($a, $b, $c)
• if ($a<$b) and ($a<$c) then $terbesar=$a
• Struktur penulisan pseudocode: • else if $b<$c then $terbesar=$b
• Judul/ Kepala • else $terbesar=$c
• endif
• Deklarasi • endif
• Isi/ Deskripsi • write $terbesar

Agustiyar
12
Struktur Penulisan Pseudocode

1. Bagian Judul: diawali dengan kata • ALGORITMA Menentukan_bilangan_terkecil


“PROGRAM” diikuti nama
program atu diawali dengan kata • DEKLARASI:
• int $a, $b, $c, $terkecil
“ALGORITMA” diikuti nama • DESKRIPSI:
algoritma • read($a, $b, $c)
• if ($a<$b) and ($a<$c) then $terbesar=$a
2. Bagian Deklarasi: bagian untuk • else if $b<$c then $terbesar=$b
mendeklarasikan variabel • else $terbesar=$c
• endif
3. Bagian Isi/Deskripsi: bagian utama • endif
jalannya algoritma • write $terbesar

Agustiyar
13
Komentar(Comment) Algoritma

• Komentar berisi penjelasan, catatan • // Komentar PHP


• Komentar bukan bagian utama • # Komentar PHP
algoritma • /* Komentar PHP */
• <!-- Komentar HTML -->

Agustiyar
14
Penamaan pada Algoritma

Contoh Penamaan pada Aturan Penamaan Pada Algoritma:


Algoritma: 1. Hanya boleh terdiri dari angka, huruf, atau garis
bawah;
• Luas_Segitiga (valid) 2. Tidak boleh dimulai dengan angka;
• LuasSegitiga (valid) 3. Tidak membedakan huruf besar maupun kecil
(non case-sensitive);
• Luas_Segitiga_2 (valid)
4. Unik, tidak boleh ada nama sama untuk hal yang
• Luas_2_Segitiga (valid) berbeda;
• 2_Luas_Segitiga (tidak valid) 5. Panjang tidak dibatasi;
6. Hendaknya mencerminkan kegunaan.

Agustiyar
15
Format Flowchart

Mulai

• Flowchart atau bagan alur: diagram input a, b, c

yang menampilkan langkah-


langkah dan keputusan untuk (a<b) yes
and Terkecil=a
melakukan sebuah proses dari suatu (a<c)?

program. No Selesai

yes
(b<c)? Terkecil=b

No
Terkecil=c

Agustiyar
16
Simbol Flowchart Program

Terminal: awal atau akhir


Pedoman membuat flowchart:
Input/ Output: operasi masukan/ keluaran 1. Dibuat dari atas ke bawah dimulai dari
Proses: proses pengolahan data bagian kiri halaman;

Keputusan: pilihan dengan kondisi tertentu 2. Kegiatan harus ditunjukkan dengan jelas;
3. Posisi mulai dan selesai harus jelas;
Persiapan: memberi nilai awal variabel
4. Memakai kata yang mewakili pekerjaan;
Proses Identifikasi: proses yang detailnya
dijelaskan terpisah 5. Kegiatan sesuai dengan urutannya;
Penghubung ke halaman lain
6. Kegiatan terpotong dihubungkan dengan
Penghubung ke halaman yang sama simbol penghubung;
Arah alir: arah aliran proses 7. Simbolnya standar.

Agustiyar
17
Struktur Dasar Algoritma

no yes yes

no

Urutan (Sequential) Pilihan (Selection) Perulangan (Looping)

Agustiyar
18
Struktur Dasar Algoritma

p=5; l=6

L=p x l • Setiap langkah/baris program dikerjakan


secara berurutan dari atas ke bawah sesuai
30
urutan penulisannya

Urutan (Sequential)

Agustiyar
19
Struktur Dasar Algoritma

a=80

• Tidak semua langkah/baris program


dijalankan; no
a>70?
yes

• Hanya langkah/baris program yang memenuhi Hasil=Tidak


Lulus
Hasil=Lulus

syarat yang dikerjakan


Tidak Lulus
Lulus

Pilihan (Selection)

Agustiyar
20
Struktur Dasar Algoritma

1. While … do ...
no=1
• Ketika kondisi terpenuhi, ulangi instruksi
yes
no>10 no=x+1 2. Repeat … until
• Ulangi instruksi sampai kondisi terpenuhi
no
cetak no
3. For …
• Ulangi instruksi dari nilai awal sampai nilai
akhir
Perulangan (Looping)

Agustiyar
21
Bahasa Pemrograman

• Bahasa Pemrograman: Sebuah


instruksi standar untuk memerintah
komputer agar dapat menjalankan
fungsi tertentu.
• Bahasa pemrograman mempermudah
komunikasi manusia dengan
komputer.

Agustiyar
22
Generasi Bahasa Pemrograman

Pertama 1. Pertama, Bahasa Mesin (Machine Language)


Bahasa asli komputer terdiri dari 0 dan 1
Kedua 2. Kedua, Bahasa Assembly (Assembly Language)
menggunakan kode mnemonic
Generasi Bahasa
Pemrograman
Ketiga 3. Ketiga, Procedural Language: Fortran, Pascal
4. Keempat (4GL), Fourth-Generation Language:
Keempat (4GL)
SQL (Structured Query Language)
5. Kelima: Programming Language Based Object
Kelima
Oriented and Web Development

Agustiyar
23
Tingkatan Bahasa Pemrograman

Rendah
1. Rendah: Bahasa Mesin
2. Menengah: Bahasa Assembly Menengah
3. Tinggi: C++, Pascal, Visual Basic, PHP Tingkat Bahasa
Pemrograman
4. Objek: JAVA, JSP, ASP Tinggi

Objek

Agustiyar
24
Proses Pembuatan Program

• Menulis kode pada sebuah editor


• Mengubah menjadi bahasa mesin
Kompilasi
yang bisa dieksekusi oleh komputer
• Proses pengubahan bahasa sumber
Menulis kode Interpretasi Proses CPU mejadi bahasa mesin ada 3
(Kompilasi, Interpretasi, Kompilasi
Kompilasi sekaligus interpretasi)
Interpretasi

Agustiyar
25
Compiler

• Compiler berasal dari to


compile: menyusun
• Compiler: Penerjemah dari
Output: File
natural language ke machine Source Code Compiler
executable
language
• Menghasilkan file
executable (.exe, .app) Error
Message
• Contoh: C, C++

Agustiyar
26
Interpreter

• Interpreter berasal dari to


interpret: menerjemahkan
• Interpreter: Penerjemah
instruksi demi instruksi
Output
Source Code Interpreter (Pesan Error program saat eksekusi program
atau Berhasil)
• Tidak menghasilkan file
executable
• Contoh: JavaScript, Python,
Ruby, PHP

Agustiyar
27
Compiler vs Interpreter

halo.c Compiler halo.exe Halo!

Halo!

halo.php Interpreter Halo!

Agustiyar
28
Kompilasi Interpretasi

• Menggabungkan teknik kompilasi Java


halo.java halo.class
dan interpretasi sekaligus dalam Compiler
menerjemahkan bahas sumber ka
bahasa mesin
Java
• Contoh: Java Halo! Interpreter

Agustiyar
29
Latihan

1. Tahukah kamu tentang algoritma?


2. Sebutkan dan jelaskan apa saja karakteristik algoritma!
3. Setiap langkah dalam algoritma harus logis, apa maksudnya?
4. Sebutkan dan jelaskan format penulisan algoritma!
5. Buatlah satu contoh flowchart kegiatan yang pernah kamu lakukan!

Agustiyar
30

Anda mungkin juga menyukai