SlideShare una empresa de Scribd logo
1 de 7
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Menurut kamus besar bahasa indonesia terbitan balai pustaka tahun 1988, “algoritma
adalah urutan logis pengambilan putusan untuk pemecahan masalah”.
Menurut Microsoft Book-shelf, “algoritma adalah urutan langkah berhingga untuk
memecahkan masalah logika atau matematika”.
Berdasarkan defenisi-defenisi tersebut maka dapat disimpulkan, “algoritma adalah
urutan langkah-langkah logis yang berhingga yang digunakan untuk memecahkan
masalah”.
Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-
langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak
benar dapat memberikan hasil yang salah.
Menurut Donald E. Knuth dalam bukunya yang berjudul “the art of computer
programming”, algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah. Suatu program
yang tidak pernah berhenti adalah program yang berisi algoritma yang salah.
2. Setiap langkah harus didefenisikan dengan tepat dan tidak berarti-dua (ambigu).
3. Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang
diberikan kepada algoritma sebelum algoritma mulai bekerja.
4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran ialah besaran
yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (efektif). Setiap langkah harus sederhana sehingga dapat
dikerjakan dalam sejumlah waktu yang masuk akal.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun demikian, jangan
beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan
sehari-haripun banyak proses yang digambarkan dalam suatu algoritma.
Realisasi algoritma dalam bahasa pemrograman disebut dengan program. Sedangkan
pemrograman adalah kegiatan mengkonversi algoritma ke dalam bahasa pemrograman.
Bahasa pemrograman atau bahasa komputer adalah teknik komunikasi standar untuk
memerintah komputer. Bahasa pemrograman adalah suatu set aturan sintaks dan semantik
yang dipakai untuk mendefinisikan program komputer. Suatu bahasa memungkinkan
seorang programmer secara persis menentukan data yang mana akan diolah oleh
komputer, bagaimana data ini akan disimpan/diteruskan, dan langkah apa secara persis
yang akan diambil dalam berbagai situasi.
NOTASI ALGORITMA
Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin
membuat suatu pogram, karena dalam notasi algoritma inilah terdapat instruksi atau
langkah-langkah suatu program. Notasi algoritma bukan notasi bahasa pemrograman,
karena itu program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Notasi
algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi
algoritma yang berbeda.
Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan
dimengerti. Di bawah ini ada 3 notasi yang umum digunakan dalam penulisan algoritma,
yaitu :
1. Notasi Alami
2. Flowchart / Diagram Alur
3. Pseudocode
a. Notasi Alami
Penulisan algoritma dengan notasi alami adalah dengan cara menuliskan instruksi-
instuksi yang harus dilaksanakan untuk memecahkan masalah dalam bentuk untaian
kalimat deskriptif.
Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’,
dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’.
Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya
besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relative sukar.
Contoh:
Algoritma_Menghitung_Luas_Persegi_Panjang
Langkah 1: Baca nilai panjang.
Langkah 2: Baca nilai lebar.
Langkah 3: Kalikan nilai panjang dengan nilai lebar dan berikan nilainya ke hasil.
Langkah 4: Tampilkan nilai hasil.
b. Flowchart / Diagram Alir
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam
suatu program, yang menyatakan arah alur program tersebut. Diagram alur lebih
menggambarkan aliran instruksi di dalam program secara visual dibanding
memperlihatkan struktur program. Notasi diagram alur lebih cocok digunakan untuk
masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena
membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke
bahasa pemrograman cenderung relatif sukar.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :
SIMBOL NAMA FUNGSI
TERMINATOR Permulaan/akhir program
GARIS ALIR
(FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian harga
awal
PROSES
Proses perhitungan/proses
pengolahan data
INPUT/OUTPUT
DATA
Proses input/output data,
parameter, informasi
PREDEFINED
PROCESS
(SUB PROGRAM)
Permulaan sub program/proses
menjalankan sub program
DECISION
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk langkah
selanjutnya
ON PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada satu
halaman
OFF PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada
halaman berbeda
Contoh Flowchart:
Flowchart_Menghitung_Luas_Persegi_Panjang
c. Pseudocode
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi,
khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir
mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read,
write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan
tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang
versi Pseudocode dapat diterima asalkan perintahnya tidak membingungkan pembaca.
Keuntungan menggunakan notasi Pseudocode adalah kemudahan mentranslasi ke notasi
bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudocode dengan
notasi bahasa pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit.
Contoh notasi pseudocode adalah sebagai berikut:
Mulai
Selesai
Baca
nilai
panjang
Baca
nilai
lebar
Hasil=panjang * lebar
Tampilkan
nilai Hasil
Algoritma_Menghitung_Luas_Persegi_Panjang
DEKLARASI:
Panjang : integer
Lebar : integer
Luas : integer
DESKRIPSI:
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Aturan penulisan algoritma dalam notasi pseudocode.
Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu :
a. Judul Algoritma
Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat namun
cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.
Contoh judul algoritma:
Algoritma LUAS_PERSEGIPANJANG
{ Menghitung luas persegi panjang. Algoritma menerima masukan panjang
dan lebar, menghitung luas, lalu mencetak luas persegi panjang ke piranti
keluaran }
Keterangan:
Algoritma LUAS_PERSEGIPANJANG merupakan judul algoritma, sedangkan
yang di dalama kurung kurawal ({ }) merupakan spesifikasi atau penjelasan
singkat tentang algoritma luas persegi panjang.
b. Deklarasi
Bagian deklarasai berguna untuk mendefenisikan semua nama yang dipakai
dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah
(variable), nama tipe, nama prosedur, dan nama fungsi.
Contoh deklarasi:
DEKLARASI
{ nama peubah (variable) }
p : integer { tempat menampung data panjang }
l : integer { tempat menampung data lebar }
L : integer { tempat menampung data hasil penghitungan luas }
c. Deskripsi
Deskripsi merupakan bagian inti dari suatu algoritma. Bagian ini berisi uraian
langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dalam
notasi yang akan di jelaskan pada bab selanjutnya. Misalnya notasi write
digunakan untuk mencetak data/informasi, notasi read digunakan untuk membaca
data, dan lain sebagainya. Setiap langkah algoritma dibaca dari “atas” ke
“bawah”. Urutan penulisan menentukan urutan pelaksanaan perintah.
Contoh deskripsi:
DESKRIPSI
read (Panjang)
read (Lebar)
Luas Panjang * Lebar
write (Luas)
Keterangan:
Lambang berarti penugasan atau penginputan

Más contenido relacionado

La actualidad más candente

MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdfMODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
globalkomputer
 

La actualidad más candente (20)

Mendiagnosa pada Nelayan Menggunakan Forward Chaining & Backward Chaining
Mendiagnosa pada Nelayan Menggunakan Forward Chaining & Backward ChainingMendiagnosa pada Nelayan Menggunakan Forward Chaining & Backward Chaining
Mendiagnosa pada Nelayan Menggunakan Forward Chaining & Backward Chaining
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Linked List
Linked ListLinked List
Linked List
 
Modul pelatihan coding scratch level 1
Modul pelatihan coding scratch level 1Modul pelatihan coding scratch level 1
Modul pelatihan coding scratch level 1
 
Modul Quantum GIS 2 (Aplikasi)
Modul Quantum GIS 2 (Aplikasi) Modul Quantum GIS 2 (Aplikasi)
Modul Quantum GIS 2 (Aplikasi)
 
Arsitektur android
Arsitektur androidArsitektur android
Arsitektur android
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Operasi Dasar Komputer dan Peralatan Penyusun Komputer
Operasi Dasar Komputer dan Peralatan Penyusun KomputerOperasi Dasar Komputer dan Peralatan Penyusun Komputer
Operasi Dasar Komputer dan Peralatan Penyusun Komputer
 
Uml
UmlUml
Uml
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMK
 
Pertemuan 1 Pemrograman Dasar
Pertemuan 1 Pemrograman DasarPertemuan 1 Pemrograman Dasar
Pertemuan 1 Pemrograman Dasar
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Data Array
Data ArrayData Array
Data Array
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
 
Peranan Teknologi Informasi
Peranan Teknologi InformasiPeranan Teknologi Informasi
Peranan Teknologi Informasi
 
Program kerja tkj_2020-2021
Program kerja tkj_2020-2021Program kerja tkj_2020-2021
Program kerja tkj_2020-2021
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Makalah Jaringan Internet
Makalah Jaringan InternetMakalah Jaringan Internet
Makalah Jaringan Internet
 
MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdfMODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
MODUL-PENGENALAN-SCRATCH-PROGRAMMING.pdf
 

Destacado

MATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASARMATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASAR
ndriehs
 
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-finalSilabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
Ikatan Guru Indonesia
 
Jawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputerJawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputer
Pebrian Prestya
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Nabil Muhammad Firdaus
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
iphientcomp
 

Destacado (20)

Kata pengantar, daftar isi dan daftar gambar Makalah Algoritma dan Pemrograman
Kata pengantar, daftar isi dan daftar gambar Makalah Algoritma dan PemrogramanKata pengantar, daftar isi dan daftar gambar Makalah Algoritma dan Pemrograman
Kata pengantar, daftar isi dan daftar gambar Makalah Algoritma dan Pemrograman
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
MATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASARMATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASAR
 
Modul 6 Perulangan
Modul 6 PerulanganModul 6 Perulangan
Modul 6 Perulangan
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
 
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-finalSilabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
 
Jawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputerJawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputer
 
Kelompok viii
Kelompok viiiKelompok viii
Kelompok viii
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
Pengulangan for Algoritma
Pengulangan for AlgoritmaPengulangan for Algoritma
Pengulangan for Algoritma
 
Rpp pemrograman dasar
Rpp pemrograman dasarRpp pemrograman dasar
Rpp pemrograman dasar
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Rpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjilRpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjil
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
 
Rpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjilRpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjil
 

Similar a PENGERTIAN ALGORITMA DAN PEMROGRAMAN

Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
Arif Punk Street
 
Algoritma Pemrograman.pptx
Algoritma Pemrograman.pptxAlgoritma Pemrograman.pptx
Algoritma Pemrograman.pptx
apri38
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
Mastur Cell
 

Similar a PENGERTIAN ALGORITMA DAN PEMROGRAMAN (20)

2.sd 13.ok
2.sd 13.ok2.sd 13.ok
2.sd 13.ok
 
2.sd 13
2.sd 132.sd 13
2.sd 13
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.ppt
 
Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrograman
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
Bab II
Bab IIBab II
Bab II
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
Algoritma Pemrograman.pptx
Algoritma Pemrograman.pptxAlgoritma Pemrograman.pptx
Algoritma Pemrograman.pptx
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
Diktat MatLab
Diktat MatLabDiktat MatLab
Diktat MatLab
 
Chapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptxChapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptx
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 

Último

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 

Último (20)

Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxPPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 

PENGERTIAN ALGORITMA DAN PEMROGRAMAN

  • 1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN Menurut kamus besar bahasa indonesia terbitan balai pustaka tahun 1988, “algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah”. Menurut Microsoft Book-shelf, “algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika”. Berdasarkan defenisi-defenisi tersebut maka dapat disimpulkan, “algoritma adalah urutan langkah-langkah logis yang berhingga yang digunakan untuk memecahkan masalah”. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah- langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah. Menurut Donald E. Knuth dalam bukunya yang berjudul “the art of computer programming”, algoritma harus mempunyai lima ciri penting: 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah. Suatu program yang tidak pernah berhenti adalah program yang berisi algoritma yang salah. 2. Setiap langkah harus didefenisikan dengan tepat dan tidak berarti-dua (ambigu). 3. Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja. 4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran ialah besaran yang memiliki hubungan dengan masukan. 5. Algoritma harus sangkil (efektif). Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun demikian, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak proses yang digambarkan dalam suatu algoritma.
  • 2. Realisasi algoritma dalam bahasa pemrograman disebut dengan program. Sedangkan pemrograman adalah kegiatan mengkonversi algoritma ke dalam bahasa pemrograman. Bahasa pemrograman atau bahasa komputer adalah teknik komunikasi standar untuk memerintah komputer. Bahasa pemrograman adalah suatu set aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Suatu bahasa memungkinkan seorang programmer secara persis menentukan data yang mana akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan langkah apa secara persis yang akan diambil dalam berbagai situasi. NOTASI ALGORITMA Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat instruksi atau langkah-langkah suatu program. Notasi algoritma bukan notasi bahasa pemrograman, karena itu program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Notasi algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi algoritma yang berbeda. Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Di bawah ini ada 3 notasi yang umum digunakan dalam penulisan algoritma, yaitu : 1. Notasi Alami 2. Flowchart / Diagram Alur 3. Pseudocode a. Notasi Alami Penulisan algoritma dengan notasi alami adalah dengan cara menuliskan instruksi- instuksi yang harus dilaksanakan untuk memecahkan masalah dalam bentuk untaian kalimat deskriptif.
  • 3. Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relative sukar. Contoh: Algoritma_Menghitung_Luas_Persegi_Panjang Langkah 1: Baca nilai panjang. Langkah 2: Baca nilai lebar. Langkah 3: Kalikan nilai panjang dengan nilai lebar dan berikan nilainya ke hasil. Langkah 4: Tampilkan nilai hasil. b. Flowchart / Diagram Alir Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut. Diagram alur lebih menggambarkan aliran instruksi di dalam program secara visual dibanding memperlihatkan struktur program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sukar. Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart : SIMBOL NAMA FUNGSI TERMINATOR Permulaan/akhir program GARIS ALIR (FLOW LINE) Arah aliran program
  • 4. PREPARATION Proses inisialisasi/pemberian harga awal PROSES Proses perhitungan/proses pengolahan data INPUT/OUTPUT DATA Proses input/output data, parameter, informasi PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub program/proses menjalankan sub program DECISION Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya ON PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman OFF PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman berbeda Contoh Flowchart:
  • 5. Flowchart_Menghitung_Luas_Persegi_Panjang c. Pseudocode Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudocode dapat diterima asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudocode adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudocode dengan notasi bahasa pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit. Contoh notasi pseudocode adalah sebagai berikut: Mulai Selesai Baca nilai panjang Baca nilai lebar Hasil=panjang * lebar Tampilkan nilai Hasil
  • 6. Algoritma_Menghitung_Luas_Persegi_Panjang DEKLARASI: Panjang : integer Lebar : integer Luas : integer DESKRIPSI: read (Panjang) read (Lebar) Luas Panjang * Lebar write (Luas) Aturan penulisan algoritma dalam notasi pseudocode. Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu : a. Judul Algoritma Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut. Contoh judul algoritma: Algoritma LUAS_PERSEGIPANJANG { Menghitung luas persegi panjang. Algoritma menerima masukan panjang dan lebar, menghitung luas, lalu mencetak luas persegi panjang ke piranti keluaran } Keterangan: Algoritma LUAS_PERSEGIPANJANG merupakan judul algoritma, sedangkan yang di dalama kurung kurawal ({ }) merupakan spesifikasi atau penjelasan singkat tentang algoritma luas persegi panjang. b. Deklarasi Bagian deklarasai berguna untuk mendefenisikan semua nama yang dipakai dalam algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah (variable), nama tipe, nama prosedur, dan nama fungsi. Contoh deklarasi:
  • 7. DEKLARASI { nama peubah (variable) } p : integer { tempat menampung data panjang } l : integer { tempat menampung data lebar } L : integer { tempat menampung data hasil penghitungan luas } c. Deskripsi Deskripsi merupakan bagian inti dari suatu algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dalam notasi yang akan di jelaskan pada bab selanjutnya. Misalnya notasi write digunakan untuk mencetak data/informasi, notasi read digunakan untuk membaca data, dan lain sebagainya. Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan penulisan menentukan urutan pelaksanaan perintah. Contoh deskripsi: DESKRIPSI read (Panjang) read (Lebar) Luas Panjang * Lebar write (Luas) Keterangan: Lambang berarti penugasan atau penginputan