ALGORITMA DAN PEMROGRAMAN
ULIL AMRI, S.Kom., M.Kom
SEJARAH ALGORITMA
• Berasal dari risalah Abu Abdallah Muhammad ibn
Musa Al-Khwarizmi (ilmuan persia) yang membahas
tentang kalkulasi dengan angka hindu-arab (tahun
825 M)
• diterjemahkan kedalam bahasa
algoritmi de numero indorum
• Algoritmi= Al- Khwarizmi
latin
menjadi
KONSEP DASAR ALGORITMA
• Algoritma dapat diartikan sebagai urutan atau langkah-langkah yang sistematis untuk
menyelesaikan sebuah masalah dimana algoritma sendiri berarti solusi.
• Algoritma dan pemrograman adalah dua hal yang berhubungan erat, program komputer
pada dasarnya mengimplementasikan sebuah algoritma.
• Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan
sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman.
Wirth (1997) menyatakan dalam bukunya bahwa :
Algoritma + Struktur Data = Program
Contoh Algoritma dalam kehidupan seharihari
Contoh Algoritma dalam kehidupan seharihari
Algoritma memasak mie instan
1. Rebus air hingga mendidih.
2. Masukkan mie instan ke dalam air mendidih
tersebut.
3. Tunggu beberapa waktu hingga mie terlihat matang.
4. Jika mie sudah dirasa matang, angkat dan tiriskan.
5. Campurkan bumbu-bumbu, dan aduk hingga rata.
6. Mie siap disajikan/dimakan
CIRI-CIRI ALGORITMA
• Ada masukan (input)
• Ada proses
• Ada keluaran (output).
• Memiliki perintah yang jelas dan tidak
(ambigu).
• Harus mempunyai tanda akhir (stopping role)
membingungkan
SIFAT ALGORITMA
• Tidak
menggunakan
simbol
ataupun
sintaks
dari
bahasa
pemrograman
• Penulisannya tidak tergantung dengan bahasa pemrograman
• notasinya dapat dipergunakan untuk semua bahasa pemrograman
STRUKTUR DASAR ALGORITMA
1
Algoritma Sekuensial
Algoritma ini (sequential)
adalah jenis yang paling
sering
digunakan.
Algoritma
ini
menggunakan tahapan atau sequential
yang dilakukan berurutan sesuai urutan
dari penulisannya.
=> Contoh dari algoritma ini adalah
menanak nasi, mengisi bensin, membuat
kopi, dan sebagainya.
STRUKTUR DASAR ALGORITMA
2
Algoritma seleksi (Selection)/ percabangan
(Branching)
Struktur seleksi merupakan
instruksi atau pemilihan
langkah yang dikerjakan berdasarkan kondisi
tertentu (pengambilan keputusan). Struktur ini
biasanya digunakan dalam suatu kondisi dimana
ketika itu ada satu atau beberapa aksi dengan
pilihan yang lebih dari satu atau banyak.
Contoh :ketika kamu hendak berbelanja online tapi
saldo dalam e-wallet habis. Ketika ini kamu punya
dua kemungkinan yakni mengganti metode
pembayaran atau melakukan top-up e-wallet.
STRUKTUR DASAR ALGORITMA
3
Struktur pengulangan
(Repetition)
Algoritma
ini
melakukan
hal
yang
berulang.Struktur ini memberikan suatu perintah
atau tindakan yang dilakukan beberapa kali.
=> Contoh : ketika menyikat gigi. Ketika menyikat
gigi kita melakukan gerakan perulangan menyikat
di seluruh permukaan gigi. Algoritma perulangan
disini berperan untuk memastikan jika gigi
dibersihkan dengan baik.
SUSUNAN TEKS ALGORITMA
1.Kepala /Judul Algoritma
:
Nama algoritma sebaiknya singkat. Untuk memisahkan antara kata dalam
judul algoritma menggunakan tanda “_” bukanlah suatu keharusan. Anda
dapat menuliskan LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya
anda tidak menggunakan spasi “ “ untuk memisahkan antara kata di dalam
nama algoritma.
Contoh:
{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi
awal dan kondisi akhir dari algoritma }
SUSUNAN TEKS ALGORITMA
2.Deklaras
Bagiani untuk mendefenisikan semua nama yang dipakai dalam
algoritma. Nama dapat berupa nama tetapan, nama peubah, nama
tipe, nama prosedur dan nama fungsi.
3.
Deskripsibagian inti dari suatu algoritma. Bagian ini bersis uraian langkah-langkah
Merupakan
penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang akan
dijelaskan pada Bab berikutnya. Misalnya notasi “read” untuk menyatakan membaca
data, notasi “write” untuk menyatakan menulis data dan sebagainya.
PENULISAN ALGORITMA
1
2
Bahasa Natural
• Bahasa formal yang dipergunakan
manusia
• Bersifat terstruktur
- SE : Structured English
- BIT: Bahasa Indonesia Terstruktrur
3
Psuedocode
2• Psuedo: mirip, menyerupai, seolaholah
• Code: baris program
• Psuedocode: Instruksi yang
menyerupai baris program
Flowchart
• Suatu bentuk diagram yang
memiliki aliran satu ataau dua arah
secara sekuensial
Simbol Flowchart
CONTOH
Menghitung Luas Segitiga
Luas sebuah segitiga didapatkan dengan mengalikan
panjang alas dengan tingginya kemudian hasilnya
dibagi 2
BIT - Bahasa Indonesia Terstruktur
1. Masukkan nilai alas
2.Masukkan nilai tinggi
3.Hitung luas dengan alas kali tinggi kemudian
dibagi 2
4.Tampilkan hasil perhitungan luas
5.Selesai
Pseudocode
Algoritma Perhitungan Luas Segitiga
Input : Alas, Tinggi
Output : Luas Segitiga
Alas ← Baca a
Tinggi ← Baca t
Luas ← (Alas x Tinggi)/ 2
Tampilkan Luas
Flowchart
BAHASA PEMROGRAMAN
• Program merupakan implementasi algoritma yang ditulis dalam
bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh
komputer
• Contoh bahasa pemrograman antara lain, yaitu Bahasa C, C++, C#,
Java, Phyton, R, Arduino, PHP, Algol, Pascal, Basic, Cobol, dan masih
banyak lainnya
Bahasa pemrograman dikelompokkan menjadi dua kategori:
1. General puspose programming language
Pada kategori dapat digunakan untuk berbagai aplikasi dan bahasa yang
biasa digunakan adalah bahasa pascal, basic, java, C, C++, dan sebagainya
2. Spesific purpose programming language
Pada kategori dapat digunakan untuk beberapa jenis aplikasi misalnya
Cobol digunakan untuk terapan administrasi dan bisnis, assembly
digunakan untuk aplikasi pemrograman mesin, prolog digunakan untuk
aplikasi kecerdasan buatan.
TUGAS
Individu
Berikan 2 contoh penggunaan
algoritma dalam kehidupan seharihari, buatkan bahasa natural/
Bahasa Indonesia Terstruktur,
Pseudokode dan Flowchartnya
(Tulis dikertas selembar)
Kelompok
1.C
2.C++
3.C#
4.Java
5.Phyton
6.R
7.Arduino
8.PHP
9. Algol
10.Pascal
11.Basic