Anda di halaman 1dari 32

Algoritma dan

Pemrograman
Mengenal Algoritma dan
Pemrograman
Pertemuan ke 1

Oleh :
Yono Suprayitno, S.Kom
Capaian Pembelajaran
Peserta didik mampu menerapkan praktik
baik konsep pemrograman prosedural
dalam salah satu bahasa pemrograman
prosedural dan mampu mengembangkan
program yang terstruktur dalam notasi
algoritma atau notasi lain, berdasarkan
strategi algoritmik yang tepat.
Tujuan Pembelajaran
Peserta didik mampu membaca
dan menulis algoritma dengan
benar.
Apakah yang
dimaksud dengan
algoritma ???
Algoritma

Konsep dasar algoritma secara


sederhana dapat diartikan sebagai
urutan atau langkah-langkah yang
sistematis untuk menyelesaikan
sebuah masalah
Sejarah Algoritma

• Berasal dari nama penulis buku arab


yaitu Abu Ja’far Muhammad Ibnu
Musa Al-Khawarizmi
• Oleh orang barat, Al-Khawarizmi
dibaca menjadi Algorism
• Algorism mempunyai arti proses
menghitung dengan angka arab
• Al-Khawarizmi menulis buku yang
berjudul Kitab Al Jabar Wal
Muqabala (Buku pemugaran dan
pengurangan)
Dari algorism menjadi algorithm muncul
karena algorism sering dikelirukan dengan
arithmetic.
Lambat laun algorithm berangsur-angsur
dipakai sebagai metode perhitungan
(komputasi) secara umum.
Dalam bahasa Indonesia, algorithm menjadi
algoritma
No Proses Algoritma Contoh Langkah dalam Algoritma

• Contoh-contoh Algoritma

• Masukkan minyak ke dalam waj


• Masukkan telur ke dalam wajan
1 Membuat telur mata sapi Resep
• Tunggu sampai matang

2 Merakit komputer Panduan Sambungkan kabel sata dari hardd


Kasus 1
• Ada dua buah ember
• Ember A berisi air berwarna merah
• Ember B berisi air berwarna biru
• Bagaimana algoritma untuk
menukarkan air berwarna merah
dari ember A ke
• ember B dan air berwarna biru dari
ember B ke ember A ?
Kasus 1

+
Langkah-langkah Hasil
• Tambahkan 1 ember (ember • Ada 3 buah ember
C) • Ember A kosong, ember C
• Tuangkan air berwarna merah
berisi air berwarna merah
dari ember A ke ember C
• Ember A berisi air berwarna
• Tuangkan air berwarna biru
dari ember B ke ember A biru, ember B kosong
Kasus 2

• Bagaimana algoritma
untuk menghitung luas
segitiga?
Kasus 2

• Hitung alas segitiga


• Hitung tinggi segitiga
• Kalikan alas dan tinggi
dan 0.5
Tugas Diskusi
• Bagaimana algoritma untuk menyelesaikan masalah ini?
Petani membawa serigala, kambing, dan
sayur ingin menyeberang.
1 sampan hanya dapat untuk mengangkut 1
petani dan 1 bawaan. Akan tetapi..
Jika serigala hanya bersama kambing,
serigala akan memakan kambing
Jika kambing hanya bersama sayuran,
kambing akan memakan sayuran
• Struktur Algoritma
⚬Inti dari algoritma adalah menemukan solusi
dari suatu permasalahan.
⚬Untuk menyelesaikan masalah, algoritma
membutuhkan spesifikasi
■ input (masukan) sesuai yang diperlukan,
■ memprosesnya melalui serangkaian langkah-
langkah dan
■ menghasilkan output sebagai solusi dari
permasalahan.
Masalah Algoritma Solusi

Input Algoritma Output


• Secara umum struktur
Algoritma terdiri dari 3 bagian,
yaitu :
⚬Nama/judul Algoritma
⚬Bagian Deklarasi
⚬Bagian Deskripsi
• Berikut ini gambaran struktur sebuah
Algoritma
⚬Algoritma NAMA_ALGORITMA
{ Penjelasan mengenai algoritma, yang
berisi uraian singkat mengenai apa
yang dilakukan oleh algoritma }
⚬DEKLARASI
{ Semua bahan dan alat yang
dibutuhkan selama algoritma
dijalankankan, atau dalam algoritma
meliputi variabel yang dipakai, nama
tipe, konstanta, nama prosedur dan
nama fungsi didefinisikan di sini }
⚬DESKRIPSI :
{ Semua langka, proses, atau
statement algoritma dituliskan di
sini, biasanya langkah-langkah
diberikan penomoran untuk
memudahkan penelusuran dan
organisasi) }
Pembuatan algoritma mempunyai banyak
keuntungan di antaranya:
• a) Pembuatan atau penulisan algoritma tidak
tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa
pemrograman dan komputer yang melaksanakannya.
• b) Notasi algoritma dapat diterjemahkan ke dalam
berbagai bahasa pemrograman.
• c) Apapun bahasa pemrogramannya, output yang akan
dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam
membuat algoritma:

• a) Teks algoritma berisi deskripsi langkah-langkah


penyelesaian masalah.Deskripsi tersebut dapat ditulis
dalam notasi apapun asalkan mudah dimengerti dan
dipahami.
• b) Tidak ada notasi yang baku dalam penulisan teks
algoritma seperti notasi bahasa pemrograman. Notasi
yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
• c) Setiap orang dapat membuat aturan penulisan dan
notasi algoritmik sendiri. Hal ini dikarenakan teks
algoritma tidak sama dengan teks program. Namun,
supaya notasi algoritmik mudah ditranslasikan ke
dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut
berkorespondensi dengan notasi bahasa
pemrograman secara umum.
• d) Notasi algoritmik bukan notasi bahasa
pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar
dapat dijalankan oleh komputer, pseudocode dalam
notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam notasi bahasa pemrograman
yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya. Pseudocode
adalah kode yang mirip dengan instruksi kode program
sebenarnya.
• e) Algoritma sebenarnya digunakan untuk
membantu kita dalam mengkonversikan
suatu permasalahan ke dalam bahasa
pemrograman.
• f) Algoritma merupakan hasil pemikiran
konseptual, supaya dapat dilaksanakan
oleh komputer, algoritma harus
ditranslasikan ke dalam notasi bahasa
pemrograman
Perhatikan algoritma sederhana
berikut :
• Algoritma menghitung luas segitiga
• 1. Start
• 2. Baca data alas dan tinggi.
• 3. Luas adalah alas kali tinggi kali 0.5
• 4. Tampilkan Luas
• 5. Stop
Penjelasan :
• Algoritma di atas adalah algoritma yang sangat
sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun
pemilihan. Semua langkah dilakukan hanya satu
kali.
• Sekilas algoritma di atas benar, namun apabila
dicermati maka algoritma ini mengandung
kesalahan yang mendasar, yaitu tidak ada
pembatasan pada nilai data untuk alas dan tinggi.
Hasil perbaikan algoritma perhitungan
luas segitiga
• 1. Start
• 2. Baca data alas dan tinggi.
• 3. Periksa data alas dan tinggi, jika nilai
data alas dan tinggi lebih besar dari nol
maka lanjutkan ke langkah ke 4 jika tidak
maka stop
• 4. Luas adalah alas kali tinggi kali 0.5
• 5. Tampilkan Luas
• 6. Stop
Dari penjelasan di atas dapat diambil
kesimpulan pokok tentang algoritma.
• Pertama, algoritma harus benar.
• Kedua algoritma harus berhenti, dan
• Setelah berhenti, algoritma
memberikan hasil yang benar.
Contoh : Algoritma Berangkat Sekolah
• Mulai
⚬Bangun dari tempat tidur
⚬Mandi Pagi
⚬Sarapan Pagi
⚬Pergi Ke Sekolah
⚬Cari Ruang Kelas
⚬Masuk kelas untuk Belajar
• Selesai
sampai jumpa
Di Pertemuan
yang akan datang

Anda mungkin juga menyukai