SlideShare a Scribd company logo
dasar-dasar algoritma
 Kata Algoritma diambil dari nama
ilmuwan muslim yaitu Abu Ja’far
Muhammad bin Musa Al-Khwarizmi
(780 – 846 M) yang berasal dari
Uzbekistan, yang banyak menghasilkan
karya dalam bidang matematika,
disamping karya-karya dalam bidang
lainnya seperti geografi dan musik.
 Al-Khwarizmi menyatakan bahwa
algoritma adalah suatu metode khusus
untuk menyelesaikan suatu persoalan
 Beberapa definisi Algoritma:
1. Menurut Rinaldi Munir (2002), algoritma adalah
urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis
2. Menurut Kamus Besar Bahasa Indonesia (1998),
algoritma adalah urutan logis pengambilan
keputusan untuk pemecahan masalah.
3. Menurut Team Gunadarma (1988), algoritma adalah
suatu himpunan hingga dari instruksi-instruksi
yang secara jelas memperinci langkah-langkah
proses pelaksanaan, dalam pemecahan suatu
masalah tertentu, atau suatu kelas masalah
tertentu, dengan dituntut pula bahwa himpunan
instruksi itu tersebut dapat dilaksanakan secara
mekanik.
 Contoh 1: algoritma dalam kehidupan sehari-
hari (menulis surat):
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena
atau pensil
3. Mulai menulis
4. Memasukkan kertas ke dalam amplop
5. Pergi ke kantor pos untuk mengeposkan
surat.
 Contoh 2: algoritma untuk menghitung luas
lingkaran. (Rumus luas lingkaran, L = πR2):
1. Masukkan R.
2. Pi 3.14
3. L Pi * R * R
4. Tulis L
 Tanda pada baris kedua dan ketiga berarti
nilai di sebelah kanan diberikan pada operan
di sebelah kiri.
 Masalah Algoritma Terjemahkan
ke Dalam Bahasa Pemrograman Hasil/Solusi
 Proses dari masalah hingga menjadi suatu
algoritma disebut “Tahap Pemecahan
Masalah”
 Sedangkan dari Algoritma hingga menjadi
Solusi/Hasil disebut tahap Tahap
Implementasi. Hasil/Solusi yang dimaksud
adalah suatu program yang merupakan
implementasi dari algoritma yang disusun.
1. Uraian Deskriptif, yaitu menggunakan bahasa
sehari-hari.
2. Pseudocode, yaitu kode yang mirip dengan
kode pemrograman sebenarnya seperti Pascal
atau C.
3. Flowchart (Diagram Alir), yaitu gambar atau
diagram yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya.
Gambar ini dinyatakan secara simbol, dan tiap
simbol menggambarkan proses tertentu.
Sedangkan antara proses digambarkan dengan
garis penghubung.
 Bagan-bagan yang mempunyai
arus yang menggambarkan
langkah-langkah penyelesaian
suatu masalah.
 Merupakan salah satu cara
penyajian dari suatu algoritma.
 Ada 2 macam Flowchart :
– System Flowchart, yaitu urutan proses
dalam system dengan menunjukkan alat
media input, output serta jenis media
penyimpanan dalam proses pengolahan
data.
– Program Flowchart, yaitu urutan instruksi
yang digambarkan dengan simbol tertentu
untuk memecahkan masalah dalam suatu
program.
 Simbol – simbol yang digunakan
dalam flowchart, yaitu
- Flow Direction Symbols (Simbol
penghubung alur)
- Processing Symbols (Simbol
proses).
- Input-output Symbols (Simbol
input-output)
 Simbol – simbol flowchart
 Simbol – simbol flowchart
 Pembuatan flowchart
- Sebuah flowchart diawali dari satu titik START dan
diakhiri dengan END.
- Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit sehingga jalannya proses
menjadi singkat.
- Jalannya proses digambarkan dari atas ke bawah
dan diberikan tanda panah untuk memperjelas.
- Masing – masing simbol sebaiknya menggunakan
suatu kata yang mewakili suatu pekerjaan
- Jika flowchart terpotong yang dikarenakan
keterbatasan tempat maka gunakan simbol
penghubung yang tepat.
 Dalam pemrograman, algoritma
digunakan untuk tiga struktur dasar,
yaitu:
1. Struktur Urut (sequence structure),
2. Struktur Keputusan (decision
structure),
3. Struktur perulangan (looping
structure).
1. Struktur Urut (sequence structure), terdiri
dari pernyataan atau beberapa pernyataan
yang tidak mempunyai perulangan atau
keputusan di dalamnya.
Contoh: algoritma untuk menghitung luas
dan volume suatu balok.
Rumus Luas Balok,
L = (2*p*l) + (2*p*t) + (2*l*t)
Rumus Volume Balok,
V = p*l*t
 Algoritma dari permasalahan di atas adalah:
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*p*l)+(2*p*t)+(2*l*t)
5. Volume = p*l*t
6. Tampilkan Luas
7. Tampilkan Volume
Keterangan dari algoritma di atas:
Pada baris pertama, kedua & ketiga diminta untuk memasukkan
input yang berkaitan dengan balok yaitu panjang, lebar dan
tinggi. Panjang balok disimpan pada variabel panjang, lebar
balok disimpan pada variabel lebar dan tinggi balok disimpan
pada variabel tinggi.
Pada baris keempat dan kelima, diminta memasukkan rumus
untuk mencari luas dan volume balok, yaitu Luas =
(2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), dan
Volume = panjang*lebar*tinggi.
Luas balok disimpan pada variabel luas dan Volume balok
disimpan pada variabel volume. Baris keenam dan ketujuh
merupakan hasil dari proses input dan proses perhitungan dari
variabel input yang dimasukkan dan nantinya akan ditampilkan
Luas dan Volume balok.
Flowchart dari algoritma Struktur Urut di atas adalah:
Contoh memecahkan masalah dalam algoritma Struktur Urut.
Program untuk menghitung luas dan volume suatu balok.
/* ----------------------------------------------------------------------
Program ADP_3_struktur_dasar_algoritma_urut.cpp
Contoh Struktur Dasar Algoritma
---------------------------------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
int panjang, lebar, tinggi, luas, volume;
printf("Contoh Struktur Dasar Algoritma Urutn");
printf("Menghitung Luas & Volume Balokn");
printf(“______________________________n");
printf("n");
printf("Masukkan panjang: "); scanf("%d",&panjang);
printf("Masukkan lebar: "); scanf("%d",&lebar);
printf("Masukkan tinggi: "); scanf("%d",&tinggi);
luas=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi);
volume=panjang*lebar*tinggi;
printf("Jadi Luasnya adalah: %dn",luas);
printf("Jadi Volumenya adalah: %dn",volume);
system("Pause");
}
• Hasil eksekusi program
2. Struktur Keputusan (decision
structure), digunakan untuk
memilih salah satu alternatif
jawaban yang tepat dari pilihan
yang ada. C++ menyediakan
dua perintah pengambilan
keputusan yaitu perintah IF dan
SWITCH.
Contoh: algoritma untuk menghitung
total pembayaran dari pembelian
seorang pelanggan toko, dengan
ketentuan apabila pembelian pelanggan
tersebut sama dengan atau melebihi
100000, maka pelanggan tersebut
mendapat discount 10%, jika tidak
pelanggan tersebut hanya mendapat
discount 5%.
Algoritma dari permasalahan tersebut adalah:
1. Masukkan pembelian
2. Jika pembelian >= 100000, discount =10% *
pembelian
3. Total pembayaran = pembelian – discount
4. Jika pembelian < 100000, discount = 5% *
pembelian
5. Total pembayaran = pembelian – discount
6. Tampilkan pembelian
7. Tampilkan discount
8. Tampilkan total pembayaran
Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk memasukkan input yang
berkaitan dengan permasalahan di atas yaitu pembelian. Pembelian
tersebut disimpan pada variabel beli.
Pada baris kedua, akan dilakukan pengujian dan pengecekan
pembelian yang dimasukkan yaitu apabila pembelian pelanggan
tersebut sama dengan atau melebihi 100000 atau tidak.
Jika jawabannya ya, maka pelanggan tersebut mendapat discount
10%, dan total pembayarannya = pembelian-dicount. Discount
disimpan dalam variabel disc dan total pembayaran disimpan dalam
variabel total. Kemudian ke baris keenam sampai kedelapan.
Jika jawabannya tidak, maka kerjakan baris keempat dan kelima
yaitu discount hanya 5% dan total pembayaran = pembelian-
discount.
Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan
discount dan total pembayaran.
Flowchart dari algoritma Struktur Keputusan di atas adalah:
// ------------------------------------------------------------------------------
// Program ADP_4_struktur_dasar_algoritma_keputusan.cpp
// Contoh Struktur Dasar Algoritma
// ------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
long int beli,disc,total;
printf("Contoh Struktur Dasar Algoritma Keputusann")
printf("Program untuk menghitung Pembelian");
printf(" dengan discountn");
printf("___________________________________");
printf("________________n");
printf("n");
printf("Masukkan nilai pembelian: Rp. "); scanf("%d",&beli);
printf("n");
if (beli>=100000)
{
disc=0.1*beli;
total=beli-disc;
}
else
{
disc=0.05*beli;
total=beli-disc;
}
printf("Jadi pembelian adalah Rp. %dn",beli);
printf("dengan discount Rp. %dn",disc);
printf("dan total pembayaran sebesar Rp. %dn",total);
printf("n");
system("Pause");
}
Contoh memecahkan masalah dalam algoritma Struktur Keputusan.
Program untuk menghitung total pembayaran dari pembelian dengan discount
• Hasil eksekusi program
3. Struktur Perulangan (looping
structure), digunakan untuk
melakukan suatu proses secara
berulang-ulang, jika suatu kondisi
dipenuhi atau sebaliknya. Biasa
dipergunakan untuk mengulang
proses pemasukan data,
mengulang proses perhitungan,
dan mengulang proses penampilan
hasil pengolahan data.
Contoh: algoritma untuk menampilkan
bilangan dari 10 sampai 1 secara
menurun, yaitu 10,9,8,7,6,5,4,3,2,1.
Algoritma dari permasalahan tersebut:
1. Tentukan nilai awal, batas, dan
penurunan nilai
2. Lakukan perulangan sampai batas
terpenuhi
3. Tampilkan bilangan
Keterangan dari algoritma di atas:
Pada baris pertama, diminta untuk mendefinisikan variabel
bilangan dalam hal ini disimpan dalam variabel n. Adapun
nilai awal n adalah 10, batas dari bilangan adalah n>0.
Karena yang akan ditampilkan bilangan secara menurun,
maka bilangan awal dikurangi satu persatu. Dalam C++
penulisannya adalah n--.
Pada baris kedua, proses perulangan dimulai, n dimulai dari
10, karena 10>0, maka perulangan dilakukan serta proses
penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan
dilakukan sampai n=0.
Apabila nilai n=0, maka proses perulangan dihentikan dan
langkah selanjutnya akan turun ke baris ketiga yaitu
menampilkan semua bilangan dalam perulangan tersebut.
Flowchart dari algoritma Struktur Perulangan di atas adalah:
Contoh memecahkan masalah dalam algoritma Struktur
Perulangan.
Program untuk menampilkan bilangan dari 10 sampai 1 secara
menurun
// -------------------------------------------------
// Program ADP_5_struktur_dasar_algoritma_perulangan.cpp
// Contoh Struktur Dasar Algoritma
// -------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
main()
{
int n;
printf("Contoh Struktur Dasar Algoritma Perulangann");
printf("Program untuk menampilkan nilai 10 s.d. 1n");
printf("__________________________________________n");
printf("nt");
for (n=10; n>0; n--)
{
printf("%dnt",n);
}
printf("n");
system ("Pause");
}
dasar-dasar algoritma
Sejauh ini tidak ada standarisasi tentang
bagaimana menyusun algoritma. Secara
prinsip, setiap orang mempunyai kebebasan
untuk menyusun bentuk suatu algoritma. Tiap
orang dapat menggunakan kata-kata dalam
bahasa manusia, pseudocode, atau bahkan
diagram alir untuk mewujudkan suatu
algoritma. Tiap orang juga dapat menggunakan
cara-caranya sendiri untuk menuliskan suatu
algoritma dengan memegang teguh
konsistensi.
Namun demikian ada beberapa hal yang perlu diperhatikan dalam
menyusun suatu algoritma.
Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima
ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu:
1. Finitness, menyatakan bahwa suatu algoritma harus berakhir untuk
semua kondisi setelah memproses sejumlah langkah.
2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan
dengan jelas (tidak rancu atau memiliki dua arti).
3. Masukan, setiap algoritma dapat tidak memiliki masukan atau
mempunyai satu atau beberapa masukan. Masukan merupakan suatu
besaran yang diberikan di awal sebelum algoritma diproses.
4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah
keluaran atau banyak keluaran. Keluaran merupakan besaran yang
mempunyai kaitan atau hubungan dengan masukan.
5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti
semua operasi yang dilaksanakan oleh algoritma harus sederhana dan
dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap
instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya
menggunakan kertas dan pensil.
 Memiliki logika perhitungan / metode yang tepat
dalam memecahkan masalah
 Menghasilkan output yang tepat dan benar dalam
waktu yang singkat.
 Ditulis dengan bahasa yang standart secara
sistematis dan rapi sehingga tidak menimbulkan arti
ganda
 Ditulis dengan format yang mudah dipahami, dan
diimplementasikan ke dalam bahasa pemograman
 Semua Operasi yang dibutuhkan terdefinisi dengan
jelas
 Semua proses harus selalu berakhir setelah sejumlah
langkah dilakukan.
 Agar komputer mengerti instruksi yang dibacanya, maka
instruksi tersebut harus ditulis dalam bahasa yang
dipahami oleh komputer. Jadi algoritma harus ditulis
dalam bahasa khusus yang disebut Bahasa Komputer.
 Algoritma yang ditulis dalam bahasa komputer dinamakan
Program.
 Bahasa komputer yang digunakan untuk menulis program
dinamakan Bahasa Pemrograman (programming
language).
 Orang yang menulis program komputer dinamakan
Pemrogram (programmer).
 Kegiatan mulai dari mendesain hingga menulis program
dinamakan Pemrograman (programming).
 Teks program dalam bahasa pemrograman sering
dinamakan Kode Program (source code), sehingga menulis
kode program sering dinamakan Coding.
 “Belajar Pemrograman tidak sama dengan belajar
Bahasa Pemrograman!!!”
 Belajar Pemrogaman berarti memperalajari
metodologi pemecahan masalah, kemudian
menuliskan algortima pemecahan masalah dalam
notasi tertentu.
 Sedangkan belajar Bahasa Pemrograman berarti
belajar memakai suatu bahasa komputer, aturan
tata bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan
instruksi-instruksi tersebut untuk membuat
program yang ditulis hanya dalam bahasa
pemrograman itu saja.
 Ada dua pesan penting tentang Algoritma.
 Pertama, sebuah algoritma harus benar.
 Kedua, algoritma harus berhenti, dan setelah
berhenti, algoritma memberikan hasil yang
benar.
 Menukarkan isi dari dua ember air yang
berbeda warna.
 Memperoleh 4L air dari dua ember dengan
ukuran berbeda, yang satu berukuran 5L dan
yang lain 3L.
 Menyeberangkan Kangkung, Kambing, dan
Serigala oleh Tukang Sampan tanpa
menyebabkan Kangkung dimakan Kambing
atau Kambing dimakan Serigala.
 Algoritma Euclidian untuk mencari Greates
Common Divisor.
 Menyusun tumpukan kartu bernomor yang
acak menjadi terurut dengan nomor terkecil
berada di atas.
 Mencari calon mahasiswa dengan nilai
tertentu dari senarai (list atautable) hasil ujian
masuk.
 Menghitung luas ukuran tanah.
 Resep membuat masakan
 Panduan praktikum
 Pengisian pulsa kartu prabayar
 Untuk menulis dan mengirimkan surat
 Memasak mie instan
1. Bagaimana menampilkan deretan bilangan
genap
2. Bagaimana menampilkan deretan bilangan
ganjil
3. Bagaimana menandai bilangan genap atau
ganjil.
Jelaskan mengikuti langkah 1 s.d. 4 dari 7
langkah Pemrograman.
Kumpulkan dokumentasi dalam file .doc dan
source code dalam bentuk .pas

More Related Content

PPT
Aplikasi Perkantoran ppt kel 1
PPTX
Berpikir Komputasional.pptx
PPTX
06.1 Berpikir Komputasional.pptx
DOCX
Modul-Ajar_Informatika_X_Berpikir-Komputasional-dan-LKPD
PPT
TEORI KUTUB PERTUMBUHAN.ppt
PDF
[PBO] Pertemuan 5 - Polymorphism
PPT
Bab 2 perhitungan galat
PPTX
Fracture management -Basic
Aplikasi Perkantoran ppt kel 1
Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx
Modul-Ajar_Informatika_X_Berpikir-Komputasional-dan-LKPD
TEORI KUTUB PERTUMBUHAN.ppt
[PBO] Pertemuan 5 - Polymorphism
Bab 2 perhitungan galat
Fracture management -Basic

What's hot (20)

DOC
Materi Kuliah : Dasar pemrograman 1
PPTX
Ragam Dialog :: Interaksi Manusia dan Komputer
PPTX
Pertemuan 6 & 7 ars. gerbang logika
PDF
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
DOCX
Himpunan matematika diskrit
PPTX
Metode enkripsi caesar cipher
PDF
Bab 01 logika mtk diskrit
PPTX
dasar-dasar pemrograman
PPT
Algoritma penjadwalan proses
PPTX
Struktur dasar algoritma
PPTX
Algoritma & Pemrograman
PDF
Modul algoritma pemrograman-dasar x rpl
DOC
Makalah array
DOC
Makalah sistem-operasi
PDF
Matematika Diskrit - 09 graf - 07
DOCX
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
PDF
Metode penulisan
PDF
Contoh peyelesaian logika fuzzy
PPT
Tugas IMK : Ragam Dialog
DOCX
Laporan Basis Data (DDL)
Materi Kuliah : Dasar pemrograman 1
Ragam Dialog :: Interaksi Manusia dan Komputer
Pertemuan 6 & 7 ars. gerbang logika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Himpunan matematika diskrit
Metode enkripsi caesar cipher
Bab 01 logika mtk diskrit
dasar-dasar pemrograman
Algoritma penjadwalan proses
Struktur dasar algoritma
Algoritma & Pemrograman
Modul algoritma pemrograman-dasar x rpl
Makalah array
Makalah sistem-operasi
Matematika Diskrit - 09 graf - 07
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Metode penulisan
Contoh peyelesaian logika fuzzy
Tugas IMK : Ragam Dialog
Laporan Basis Data (DDL)
Ad

Similar to dasar-dasar algoritma (20)

PPT
materi-ii-pengertian-algoritma-dan-flowchart.ppt
PPT
materi-ii-pengertian-algoritma-dan-flowchart.ppt
PPT
Struktur dan notasi algoritma dengan flowchart
PPT
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
PPTX
Algoritma Pemrograman
PDF
Diktat penuntun praktikum fortran
PPTX
Flowchart.pptx
PPTX
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
PDF
Flowchart
PDF
Prog komp - history&algorithm
DOCX
Lampiran materi simkomdig 3.1 4.1
PDF
Analisi sistem informasi Pedoman Membuat sistem Informasi
PDF
Diktat MatLab
PPT
Algoritma dan flowchart
DOC
Intruksi Fundamental
PPTX
Notasi Algoritma pada bahsa pemograman .pptx
DOC
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PDF
Flowchart
PPTX
Flowchart
materi-ii-pengertian-algoritma-dan-flowchart.ppt
materi-ii-pengertian-algoritma-dan-flowchart.ppt
Struktur dan notasi algoritma dengan flowchart
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
Algoritma Pemrograman
Diktat penuntun praktikum fortran
Flowchart.pptx
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Flowchart
Prog komp - history&algorithm
Lampiran materi simkomdig 3.1 4.1
Analisi sistem informasi Pedoman Membuat sistem Informasi
Diktat MatLab
Algoritma dan flowchart
Intruksi Fundamental
Notasi Algoritma pada bahsa pemograman .pptx
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Flowchart
Flowchart
Ad

More from Reza Optoriter (15)

PPTX
penyajian algoritma
DOCX
PENGGUNAAN FITUR SITASI DAN BIBLIOGRAFI PADA MICROSOFT OFFICE WORD 2013
DOCX
PENGGUNAAN FITUR NUMBER DAN STYLE PADA MICROSOFT OFFICE EXCELL 2013
DOCX
PENGGUNAAN FITUR SHAPES DAN SMARTART PADA MICROSOFT OFFICE WORD 2013
DOCX
PENGGUNAAN FITUR CLIPBOARD, FONT, DAN PARAGRAPH PADA MICROSOFT OFFICE WORD 2013
DOCX
Modul 10
DOCX
DOCX
DOCX
DOCX
DOCX
DOCX
DOCX
DOCX
DOCX
penyajian algoritma
PENGGUNAAN FITUR SITASI DAN BIBLIOGRAFI PADA MICROSOFT OFFICE WORD 2013
PENGGUNAAN FITUR NUMBER DAN STYLE PADA MICROSOFT OFFICE EXCELL 2013
PENGGUNAAN FITUR SHAPES DAN SMARTART PADA MICROSOFT OFFICE WORD 2013
PENGGUNAAN FITUR CLIPBOARD, FONT, DAN PARAGRAPH PADA MICROSOFT OFFICE WORD 2013
Modul 10

Recently uploaded (20)

PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas XII Terbaru 2025
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PDF
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
PPTX
Bahan Presentasi Persamaan Elips .pptx
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
PPTX
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
DOCX
Lembar Kerja Mahasiswa Information System
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PDF
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
PPTX
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
PDF
Pengenalan Undang-undang pengakap laut.pdf
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas XII Terbaru 2025
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
Bahan Presentasi Persamaan Elips .pptx
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Lembar Kerja Mahasiswa Information System
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
Pengenalan Undang-undang pengakap laut.pdf
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PPT Resources Seminar AITalks: AI dan Konseling GPT

dasar-dasar algoritma

  • 2.  Kata Algoritma diambil dari nama ilmuwan muslim yaitu Abu Ja’far Muhammad bin Musa Al-Khwarizmi (780 – 846 M) yang berasal dari Uzbekistan, yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karya dalam bidang lainnya seperti geografi dan musik.  Al-Khwarizmi menyatakan bahwa algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan
  • 3.  Beberapa definisi Algoritma: 1. Menurut Rinaldi Munir (2002), algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis 2. Menurut Kamus Besar Bahasa Indonesia (1998), algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. 3. Menurut Team Gunadarma (1988), algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi itu tersebut dapat dilaksanakan secara mekanik.
  • 4.  Contoh 1: algoritma dalam kehidupan sehari- hari (menulis surat): 1. Mempersiapkan kertas dan amplop. 2. Mempersiapkan alat tulis, seperti pena atau pensil 3. Mulai menulis 4. Memasukkan kertas ke dalam amplop 5. Pergi ke kantor pos untuk mengeposkan surat.
  • 5.  Contoh 2: algoritma untuk menghitung luas lingkaran. (Rumus luas lingkaran, L = πR2): 1. Masukkan R. 2. Pi 3.14 3. L Pi * R * R 4. Tulis L  Tanda pada baris kedua dan ketiga berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri.
  • 6.  Masalah Algoritma Terjemahkan ke Dalam Bahasa Pemrograman Hasil/Solusi  Proses dari masalah hingga menjadi suatu algoritma disebut “Tahap Pemecahan Masalah”  Sedangkan dari Algoritma hingga menjadi Solusi/Hasil disebut tahap Tahap Implementasi. Hasil/Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
  • 7. 1. Uraian Deskriptif, yaitu menggunakan bahasa sehari-hari. 2. Pseudocode, yaitu kode yang mirip dengan kode pemrograman sebenarnya seperti Pascal atau C. 3. Flowchart (Diagram Alir), yaitu gambar atau diagram yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambar ini dinyatakan secara simbol, dan tiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
  • 8.  Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.  Merupakan salah satu cara penyajian dari suatu algoritma.
  • 9.  Ada 2 macam Flowchart : – System Flowchart, yaitu urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart, yaitu urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.
  • 10.  Simbol – simbol yang digunakan dalam flowchart, yaitu - Flow Direction Symbols (Simbol penghubung alur) - Processing Symbols (Simbol proses). - Input-output Symbols (Simbol input-output)
  • 11.  Simbol – simbol flowchart
  • 12.  Simbol – simbol flowchart
  • 13.  Pembuatan flowchart - Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. - Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. - Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. - Masing – masing simbol sebaiknya menggunakan suatu kata yang mewakili suatu pekerjaan - Jika flowchart terpotong yang dikarenakan keterbatasan tempat maka gunakan simbol penghubung yang tepat.
  • 14.  Dalam pemrograman, algoritma digunakan untuk tiga struktur dasar, yaitu: 1. Struktur Urut (sequence structure), 2. Struktur Keputusan (decision structure), 3. Struktur perulangan (looping structure).
  • 15. 1. Struktur Urut (sequence structure), terdiri dari pernyataan atau beberapa pernyataan yang tidak mempunyai perulangan atau keputusan di dalamnya. Contoh: algoritma untuk menghitung luas dan volume suatu balok. Rumus Luas Balok, L = (2*p*l) + (2*p*t) + (2*l*t) Rumus Volume Balok, V = p*l*t
  • 16.  Algoritma dari permasalahan di atas adalah: 1. Masukkan panjang 2. Masukkan lebar 3. Masukkan tinggi 4. Luas = (2*p*l)+(2*p*t)+(2*l*t) 5. Volume = p*l*t 6. Tampilkan Luas 7. Tampilkan Volume
  • 17. Keterangan dari algoritma di atas: Pada baris pertama, kedua & ketiga diminta untuk memasukkan input yang berkaitan dengan balok yaitu panjang, lebar dan tinggi. Panjang balok disimpan pada variabel panjang, lebar balok disimpan pada variabel lebar dan tinggi balok disimpan pada variabel tinggi. Pada baris keempat dan kelima, diminta memasukkan rumus untuk mencari luas dan volume balok, yaitu Luas = (2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi), dan Volume = panjang*lebar*tinggi. Luas balok disimpan pada variabel luas dan Volume balok disimpan pada variabel volume. Baris keenam dan ketujuh merupakan hasil dari proses input dan proses perhitungan dari variabel input yang dimasukkan dan nantinya akan ditampilkan Luas dan Volume balok.
  • 18. Flowchart dari algoritma Struktur Urut di atas adalah:
  • 19. Contoh memecahkan masalah dalam algoritma Struktur Urut. Program untuk menghitung luas dan volume suatu balok. /* ---------------------------------------------------------------------- Program ADP_3_struktur_dasar_algoritma_urut.cpp Contoh Struktur Dasar Algoritma ---------------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int panjang, lebar, tinggi, luas, volume; printf("Contoh Struktur Dasar Algoritma Urutn"); printf("Menghitung Luas & Volume Balokn"); printf(“______________________________n"); printf("n"); printf("Masukkan panjang: "); scanf("%d",&panjang); printf("Masukkan lebar: "); scanf("%d",&lebar); printf("Masukkan tinggi: "); scanf("%d",&tinggi); luas=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi); volume=panjang*lebar*tinggi; printf("Jadi Luasnya adalah: %dn",luas); printf("Jadi Volumenya adalah: %dn",volume); system("Pause"); }
  • 21. 2. Struktur Keputusan (decision structure), digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. C++ menyediakan dua perintah pengambilan keputusan yaitu perintah IF dan SWITCH.
  • 22. Contoh: algoritma untuk menghitung total pembayaran dari pembelian seorang pelanggan toko, dengan ketentuan apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000, maka pelanggan tersebut mendapat discount 10%, jika tidak pelanggan tersebut hanya mendapat discount 5%.
  • 23. Algoritma dari permasalahan tersebut adalah: 1. Masukkan pembelian 2. Jika pembelian >= 100000, discount =10% * pembelian 3. Total pembayaran = pembelian – discount 4. Jika pembelian < 100000, discount = 5% * pembelian 5. Total pembayaran = pembelian – discount 6. Tampilkan pembelian 7. Tampilkan discount 8. Tampilkan total pembayaran
  • 24. Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk memasukkan input yang berkaitan dengan permasalahan di atas yaitu pembelian. Pembelian tersebut disimpan pada variabel beli. Pada baris kedua, akan dilakukan pengujian dan pengecekan pembelian yang dimasukkan yaitu apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000 atau tidak. Jika jawabannya ya, maka pelanggan tersebut mendapat discount 10%, dan total pembayarannya = pembelian-dicount. Discount disimpan dalam variabel disc dan total pembayaran disimpan dalam variabel total. Kemudian ke baris keenam sampai kedelapan. Jika jawabannya tidak, maka kerjakan baris keempat dan kelima yaitu discount hanya 5% dan total pembayaran = pembelian- discount. Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan discount dan total pembayaran.
  • 25. Flowchart dari algoritma Struktur Keputusan di atas adalah:
  • 26. // ------------------------------------------------------------------------------ // Program ADP_4_struktur_dasar_algoritma_keputusan.cpp // Contoh Struktur Dasar Algoritma // ------------------------------------------------------------------------------ #include <stdio.h> #include <stdlib.h> main() { long int beli,disc,total; printf("Contoh Struktur Dasar Algoritma Keputusann") printf("Program untuk menghitung Pembelian"); printf(" dengan discountn"); printf("___________________________________"); printf("________________n"); printf("n"); printf("Masukkan nilai pembelian: Rp. "); scanf("%d",&beli); printf("n"); if (beli>=100000) { disc=0.1*beli; total=beli-disc; } else { disc=0.05*beli; total=beli-disc; } printf("Jadi pembelian adalah Rp. %dn",beli); printf("dengan discount Rp. %dn",disc); printf("dan total pembayaran sebesar Rp. %dn",total); printf("n"); system("Pause"); } Contoh memecahkan masalah dalam algoritma Struktur Keputusan. Program untuk menghitung total pembayaran dari pembelian dengan discount
  • 28. 3. Struktur Perulangan (looping structure), digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Biasa dipergunakan untuk mengulang proses pemasukan data, mengulang proses perhitungan, dan mengulang proses penampilan hasil pengolahan data.
  • 29. Contoh: algoritma untuk menampilkan bilangan dari 10 sampai 1 secara menurun, yaitu 10,9,8,7,6,5,4,3,2,1. Algoritma dari permasalahan tersebut: 1. Tentukan nilai awal, batas, dan penurunan nilai 2. Lakukan perulangan sampai batas terpenuhi 3. Tampilkan bilangan
  • 30. Keterangan dari algoritma di atas: Pada baris pertama, diminta untuk mendefinisikan variabel bilangan dalam hal ini disimpan dalam variabel n. Adapun nilai awal n adalah 10, batas dari bilangan adalah n>0. Karena yang akan ditampilkan bilangan secara menurun, maka bilangan awal dikurangi satu persatu. Dalam C++ penulisannya adalah n--. Pada baris kedua, proses perulangan dimulai, n dimulai dari 10, karena 10>0, maka perulangan dilakukan serta proses penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan dilakukan sampai n=0. Apabila nilai n=0, maka proses perulangan dihentikan dan langkah selanjutnya akan turun ke baris ketiga yaitu menampilkan semua bilangan dalam perulangan tersebut.
  • 31. Flowchart dari algoritma Struktur Perulangan di atas adalah:
  • 32. Contoh memecahkan masalah dalam algoritma Struktur Perulangan. Program untuk menampilkan bilangan dari 10 sampai 1 secara menurun // ------------------------------------------------- // Program ADP_5_struktur_dasar_algoritma_perulangan.cpp // Contoh Struktur Dasar Algoritma // ------------------------------------------------- #include <stdio.h> #include <stdlib.h> main() { int n; printf("Contoh Struktur Dasar Algoritma Perulangann"); printf("Program untuk menampilkan nilai 10 s.d. 1n"); printf("__________________________________________n"); printf("nt"); for (n=10; n>0; n--) { printf("%dnt",n); } printf("n"); system ("Pause"); }
  • 34. Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip, setiap orang mempunyai kebebasan untuk menyusun bentuk suatu algoritma. Tiap orang dapat menggunakan kata-kata dalam bahasa manusia, pseudocode, atau bahkan diagram alir untuk mewujudkan suatu algoritma. Tiap orang juga dapat menggunakan cara-caranya sendiri untuk menuliskan suatu algoritma dengan memegang teguh konsistensi.
  • 35. Namun demikian ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma. Menurut Knuth ( 1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu: 1. Finitness, menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah. 2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu atau memiliki dua arti). 3. Masukan, setiap algoritma dapat tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan di awal sebelum algoritma diproses. 4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan. 5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan pensil.
  • 36.  Memiliki logika perhitungan / metode yang tepat dalam memecahkan masalah  Menghasilkan output yang tepat dan benar dalam waktu yang singkat.  Ditulis dengan bahasa yang standart secara sistematis dan rapi sehingga tidak menimbulkan arti ganda  Ditulis dengan format yang mudah dipahami, dan diimplementasikan ke dalam bahasa pemograman  Semua Operasi yang dibutuhkan terdefinisi dengan jelas  Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan.
  • 37.  Agar komputer mengerti instruksi yang dibacanya, maka instruksi tersebut harus ditulis dalam bahasa yang dipahami oleh komputer. Jadi algoritma harus ditulis dalam bahasa khusus yang disebut Bahasa Komputer.  Algoritma yang ditulis dalam bahasa komputer dinamakan Program.  Bahasa komputer yang digunakan untuk menulis program dinamakan Bahasa Pemrograman (programming language).  Orang yang menulis program komputer dinamakan Pemrogram (programmer).  Kegiatan mulai dari mendesain hingga menulis program dinamakan Pemrograman (programming).  Teks program dalam bahasa pemrograman sering dinamakan Kode Program (source code), sehingga menulis kode program sering dinamakan Coding.
  • 38.  “Belajar Pemrograman tidak sama dengan belajar Bahasa Pemrograman!!!”  Belajar Pemrogaman berarti memperalajari metodologi pemecahan masalah, kemudian menuliskan algortima pemecahan masalah dalam notasi tertentu.  Sedangkan belajar Bahasa Pemrograman berarti belajar memakai suatu bahasa komputer, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa pemrograman itu saja.
  • 39.  Ada dua pesan penting tentang Algoritma.  Pertama, sebuah algoritma harus benar.  Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.
  • 40.  Menukarkan isi dari dua ember air yang berbeda warna.  Memperoleh 4L air dari dua ember dengan ukuran berbeda, yang satu berukuran 5L dan yang lain 3L.  Menyeberangkan Kangkung, Kambing, dan Serigala oleh Tukang Sampan tanpa menyebabkan Kangkung dimakan Kambing atau Kambing dimakan Serigala.  Algoritma Euclidian untuk mencari Greates Common Divisor.
  • 41.  Menyusun tumpukan kartu bernomor yang acak menjadi terurut dengan nomor terkecil berada di atas.  Mencari calon mahasiswa dengan nilai tertentu dari senarai (list atautable) hasil ujian masuk.  Menghitung luas ukuran tanah.
  • 42.  Resep membuat masakan  Panduan praktikum  Pengisian pulsa kartu prabayar  Untuk menulis dan mengirimkan surat  Memasak mie instan
  • 43. 1. Bagaimana menampilkan deretan bilangan genap 2. Bagaimana menampilkan deretan bilangan ganjil 3. Bagaimana menandai bilangan genap atau ganjil. Jelaskan mengikuti langkah 1 s.d. 4 dari 7 langkah Pemrograman. Kumpulkan dokumentasi dalam file .doc dan source code dalam bentuk .pas