SlideShare a Scribd company logo
ALGORITMA PEMROGRAMAN
Bambang Wahyudi, SKom., MMSI
PROGRAM KOMPUTER
Program komputer adalah rangkaian kata perintah yang telah dimengerti
oleh komputer untuk dikerjakannya. Kata-kata perintah tersebut membentuk
suatu bahasa yang disebut dengan bahasa pemrograman. Sebagaimana
bahasa pada manusia, bahasa pemrograman juga terdiri atas banyak macam
bahasa, dan memiliki aturannya masing-masing.
Sulitnya, komputer saat ini belum diberi hak inisiatif, sehingga jika ada sedikit
saja kesalahan penulisan perintah oleh pemrogram, ia tidak mau memaklumi-
nya atau berusaha memperbaiki sendiri kesalahan tersebut. Serta merta ia
“ngambek” dan tidak mau mengerjakan perintah-perintah lainnya. Komputer
diciptakan melalui logika manusia, karenanya, ia bekerja secara logis, tanpa
campur-tangan “perasaan.”
ALGORITMA PEMROGRAMAN
Orang yang telah terbiasa “bergaul” dengan komputer menggunakan satu
bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan
kertas coret-coretan untuk membuat suatu program komputer. Namun bagi
pemula, pembelajar, atau yang belum mahir, diperlukan kertas coret-coretan
tersebut.
Kertas coret-coretan itu akan digunakan untuk menyusun algoritma
(langkah-langkah penyelesaian masalah), flowcharting (alur logika perintah,
yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai
dengan kaidah dari bahasa pemrograman yang akan digunakannya.
Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu
menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan.
Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri,
yaitu input-proses-output.
Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat
diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang
dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat
diproses untuk menghasilkan output.
PERLUNYA PERINTAH BAHASA PEMROGRAMAN DI DALAM ALGORITMA
Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita
tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak,
namun, untuk penulisan algoritma yang lebih efisien dan efektif, maka
penggunaan sebagian perintah yang ada di dalam bahasa pemrograman
perlu dilakukan juga.
Adapun perintah bahasa pemrograman yang paling sering digunakan untuk
menyusun algoritma adalah bahasa pemrogrman yang terstrukutur, seperti
Pascal, C, SNOBOL, PL/1, dan sebagainya.
Misalkan saja, untuk contoh berikut ini :
Langkah 1 : Beri nilai 10 ke variabel S
Maka, akan lebih mudah jika ditulis sebagai :
Langkah 1 : S := 10;
Belum lagi jika algoritma yang ditulis harus melakukan perulangan langkah
ke langkah-langkah sebelumnya (looping).
10 Mulai I:= 1;
11 Lakukan perbandingan data ke I dengan data ke I+1
12 Jika data ke I+1 lebih kecil, maka tukar tempat keduanya
13 Tambahkan I dengan 1
14 Lakukan langkah 11 hingga langkah 13 selama nilai I < 10
15 selesai
Tentu akan lebih ringkas jika kita tulis (perintah BASIC) :
10 For I= 1 to 10
20 If A(i) > A(I+1) then SWAP A(i), A(j)
30 next
40 end
Jadi terlihat, jika algoritma tersebut sederhana, maka penyusunan algoritma
akan sama dengan penyusunan sebuah program (karena semua perintahnya
sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya).
Apakah semuanya akan demikian ?. Tentu saja tidak, misalkan, kita diminta
untuk menentukan bilangan terkecil dari seratus buah bilangan yang akan
dimasukkan ke komputer, ini masih dapat langsung dibuatkan programnya.
Algoritma (program)nya bisa kita susun sebagai berikut :
1 DIM A(100)
2 FOR M = 1 TO 100
3 INPUT A(M) : NEXT : KECIL = A(1)
4 FOR M = 2 TO 100
5 IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X
6 NEXT : PRINT KECIL : END
Tetapi, misalkan jika kita diminta untuk mengalihkan notasi infix menjadi
postfix melalui stack, hal itu sulit untuk dilakukan.
Algoritmanya bisa menggunakan gabungan kalimat dengan bahasa
pemrograman, berikut contoh penggalannya.
Contoh :
1. Asumsi : deretan notasi infix dimasukkan ke dalam sebuah variabel array
bernilai string, nama variabelnya D
2. S adalah variabel string untuk menyimpan susunan data di dalam stack
3. H adalah variabel string untuk menyimpan hasil
4. P = banyaknya elemen array
5. For I = 1 to p
If top(s) = empty then {top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
Else
S = S + D(i)
Top(s) = D(i)
Endif
Else
If D(i) = operator then
If derajat D(i) > derajat Top(s) then
. . .
. . .
. . .
. . .
Jadi, terdapat beberapa kata yang tidak dapat dijabarkan langsung ke
dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator,
dan derajat.
PERLUNYA PROSEDUR
Toh akhirnya, kita tidak akan mungkin hanya membuat algoritmanya saja
melainkan dilanjutkan ke pembuatan programnya. Karenanya, algoritma
sebaiknya dibuat sedemikian rupa agar setiap perintah yang ada di dalamnya
dapat diaplikasikan langsung ke dalam bahasa pemrograman.
Itulah perlunya prosedur. Misalkan kata “operand” di algoritma di atas yang
tidak dapat langsung diaplikasikan di dalam bahasa pemrogramannya, kita
buat saja prosedur dari algoritma tersebut yang mendefinisikan apa itu
“operand.”
Misalkan :
1 Procedure OPERAND
2 IF ASC(D(I)) > 64 AND ASC(D(I)) < 91 THEN OP = .T. ELSE OP = .F.
3 RETURN
Sehingga, di algoritma utamanya bisa diubah dari :
If top(s) = empty then {top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
menjadi :
If top(s) = empty then {top(s) adalah posisi atas stack)
Do Procedure OPERAND
IF op = .t.
H = D(i)
PERLUNYA STANDAR PENGGUNAAN PERINTAH BAHASA PEMROGRAMAN
Sulit memang membuat standardisasi penggunaan perintah bahasa
pemrograman di sebuah algoritma. Sulit karena ada yang hanya memahami
satu bahasa pemrogrman saja sehingga ia tak mau menggunakan perintah di
bahasa pemrograman lain.
Namun, itu sebatas cara penulisan saja, misalkan di BASIC A = 10, di Pascal
berlaku A := 10, namun untuk perintah looping, umumnya memiliki alur logika
yang sama, yaitu dalam penggunaan FOR-NEXT, REPEAT-UNTIL, DO WHILE-
ENDDO, WHILE-WEND, dan sebagainya.
Jadi, meskipun tidak ada standar yang pasti, paling-paling hanya berbeda
cara penulisannya saja, namun sama dalam alur logikanya. Jadi, ternyata,
standardisasi semacam ini tidak diperlukan.
LATIHAN SOAL ALGORITMA
1. Alihkan notasi infix menjadi prefix
2. Buat suatu pohon biner, tentukan algoritma perjalanan preorder;
3. Alihkan notasi infix menjadi postfix melalui operasi stack;
4. Jadikan seratus angka yang sudah dimasukkan ke komputer secara acak
menjadi urut (sort) dari kecil ke besar (ascending)
5. Cari nilai tengah dari seratus angka yang sudah dimasukkan ke komputer
secara acak.

More Related Content

What's hot

Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
Devi Apriansyah
 
4.untai logika178
4.untai logika1784.untai logika178
4.untai logika178
Teguh Edogawa
 
Pengantar Organisasi Dan Arsitektur Komputer
Pengantar Organisasi Dan Arsitektur KomputerPengantar Organisasi Dan Arsitektur Komputer
Pengantar Organisasi Dan Arsitektur Komputer
aldylidyansyah
 
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
2   struktur dasar algoritma dan notasi algoritmik pseudo-code2   struktur dasar algoritma dan notasi algoritmik pseudo-code
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
Anand Reverse
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
ahmad haidaroh
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna DewiAlgoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Fitri Ratna Dewi
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritmaRohwiyanto Oi
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
Tresya Fachlevie
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
ahmad haidaroh
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
adekurnia solihin
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
Shofura Kamal
 
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
Maryanto Sumringah SMA 9 Tebo
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6
ahmad haidaroh
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Azka Mutia
 
Laporan praktikum modul iv
Laporan praktikum modul ivLaporan praktikum modul iv
Laporan praktikum modul iv
Devi Apriansyah
 
3.algoritma dasar
3.algoritma dasar3.algoritma dasar
3.algoritma dasar
Putri Damayanti
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritmarisal07
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Ishardi Nassogi
 

What's hot (20)

Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
4.untai logika178
4.untai logika1784.untai logika178
4.untai logika178
 
Pengantar Organisasi Dan Arsitektur Komputer
Pengantar Organisasi Dan Arsitektur KomputerPengantar Organisasi Dan Arsitektur Komputer
Pengantar Organisasi Dan Arsitektur Komputer
 
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
2   struktur dasar algoritma dan notasi algoritmik pseudo-code2   struktur dasar algoritma dan notasi algoritmik pseudo-code
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna DewiAlgoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritma
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
 
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
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
Laporan praktikum modul iv
Laporan praktikum modul ivLaporan praktikum modul iv
Laporan praktikum modul iv
 
3.algoritma dasar
3.algoritma dasar3.algoritma dasar
3.algoritma dasar
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritma
 
Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++Langkah Dasar Pemrograman pada Aplikasi Dev C++
Langkah Dasar Pemrograman pada Aplikasi Dev C++
 

Similar to Algoritma pemrograman

for end.pdf
for end.pdffor end.pdf
for end.pdf
deaarum2
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascal
qwerty127
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
arstwn
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
Universitas Merdeka Pasuruan
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping Algoritma
Firdaus1212
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascalHary Purwoko
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
Ifan Ok
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
Ilham marduantha
 
Part 41 perulangan for do
Part 41 perulangan for doPart 41 perulangan for do
Part 41 perulangan for do
Syaiful Ahdan
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
Fikri ngeblues
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
stephan EL'wiin Shaarawy
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
Walid_1234
 
Modul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdfModul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdf
SitiNurazizah994765
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
Dendy Maulana Septiyadi
 
Modul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rplModul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rpl
SMK - Statens Museum for Kunst
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
givaro igfar
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksi
ratna46
 
Tugas perulangan
Tugas perulanganTugas perulangan
Tugas perulangan
robetsaputra
 

Similar to Algoritma pemrograman (20)

for end.pdf
for end.pdffor end.pdf
for end.pdf
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascal
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping Algoritma
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
 
Part 41 perulangan for do
Part 41 perulangan for doPart 41 perulangan for do
Part 41 perulangan for do
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
Modul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdfModul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdf
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Modul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rplModul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rpl
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksi
 
Tugas perulangan
Tugas perulanganTugas perulangan
Tugas perulangan
 

Recently uploaded

Laporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docxLaporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docx
RUBEN Mbiliyora
 
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
budimoko2
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Kanaidi ken
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
MashudiMashudi12
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Sosdiklihparmassdm
 
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata anginMedia Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
margagurifma2023
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
ananda238570
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Yayasan Pusat Kajian dan Perlindungan Anak
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
ahyani72
 
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdfPanduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
MildayantiMildayanti
 
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
mukminbdk
 
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
NirmalaJane
 
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdfMODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
YuristaAndriyani1
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
Annisa Syahfitri
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
fadlurrahman260903
 
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOKPENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
GusniartiGusniarti5
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
YongYongYong1
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
JALANJALANKENYANG
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
HendraSagita2
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
ahyani72
 

Recently uploaded (20)

Laporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docxLaporan Pembina Pramuka sd format doc.docx
Laporan Pembina Pramuka sd format doc.docx
 
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
 
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul AjarPowerpoint Materi Menyusun dan Merencanakan Modul Ajar
Powerpoint Materi Menyusun dan Merencanakan Modul Ajar
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
 
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata anginMedia Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
 
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdfPanduan Penggunaan Rekomendasi Buku Sastra.pdf
Panduan Penggunaan Rekomendasi Buku Sastra.pdf
 
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
 
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptxNovel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
Novel - PERISTIWA YANG MEMBERIKAN TELADAN.pptx
 
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdfMODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
MODUL P5 FASE B KELAS 4 MEMBUAT COBRICK.pdf
 
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPALANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
ANALISIS PENCEMARAN UDARA AKIBAT PABRIK ASPAL
 
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdfPpt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdf
 
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOKPENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
PENDAMPINGAN INDIVIDU 2 CGP ANGKATAN 10 KOTA DEPOK
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
 

Algoritma pemrograman

  • 1. ALGORITMA PEMROGRAMAN Bambang Wahyudi, SKom., MMSI PROGRAM KOMPUTER Program komputer adalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya. Kata-kata perintah tersebut membentuk suatu bahasa yang disebut dengan bahasa pemrograman. Sebagaimana bahasa pada manusia, bahasa pemrograman juga terdiri atas banyak macam bahasa, dan memiliki aturannya masing-masing. Sulitnya, komputer saat ini belum diberi hak inisiatif, sehingga jika ada sedikit saja kesalahan penulisan perintah oleh pemrogram, ia tidak mau memaklumi- nya atau berusaha memperbaiki sendiri kesalahan tersebut. Serta merta ia “ngambek” dan tidak mau mengerjakan perintah-perintah lainnya. Komputer diciptakan melalui logika manusia, karenanya, ia bekerja secara logis, tanpa campur-tangan “perasaan.” ALGORITMA PEMROGRAMAN Orang yang telah terbiasa “bergaul” dengan komputer menggunakan satu bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan kertas coret-coretan untuk membuat suatu program komputer. Namun bagi pemula, pembelajar, atau yang belum mahir, diperlukan kertas coret-coretan tersebut. Kertas coret-coretan itu akan digunakan untuk menyusun algoritma (langkah-langkah penyelesaian masalah), flowcharting (alur logika perintah, yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai dengan kaidah dari bahasa pemrograman yang akan digunakannya. Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri, yaitu input-proses-output. Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat diproses untuk menghasilkan output. PERLUNYA PERINTAH BAHASA PEMROGRAMAN DI DALAM ALGORITMA Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak, namun, untuk penulisan algoritma yang lebih efisien dan efektif, maka penggunaan sebagian perintah yang ada di dalam bahasa pemrograman perlu dilakukan juga. Adapun perintah bahasa pemrograman yang paling sering digunakan untuk menyusun algoritma adalah bahasa pemrogrman yang terstrukutur, seperti Pascal, C, SNOBOL, PL/1, dan sebagainya.
  • 2. Misalkan saja, untuk contoh berikut ini : Langkah 1 : Beri nilai 10 ke variabel S Maka, akan lebih mudah jika ditulis sebagai : Langkah 1 : S := 10; Belum lagi jika algoritma yang ditulis harus melakukan perulangan langkah ke langkah-langkah sebelumnya (looping). 10 Mulai I:= 1; 11 Lakukan perbandingan data ke I dengan data ke I+1 12 Jika data ke I+1 lebih kecil, maka tukar tempat keduanya 13 Tambahkan I dengan 1 14 Lakukan langkah 11 hingga langkah 13 selama nilai I < 10 15 selesai Tentu akan lebih ringkas jika kita tulis (perintah BASIC) : 10 For I= 1 to 10 20 If A(i) > A(I+1) then SWAP A(i), A(j) 30 next 40 end Jadi terlihat, jika algoritma tersebut sederhana, maka penyusunan algoritma akan sama dengan penyusunan sebuah program (karena semua perintahnya sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya). Apakah semuanya akan demikian ?. Tentu saja tidak, misalkan, kita diminta untuk menentukan bilangan terkecil dari seratus buah bilangan yang akan dimasukkan ke komputer, ini masih dapat langsung dibuatkan programnya. Algoritma (program)nya bisa kita susun sebagai berikut : 1 DIM A(100) 2 FOR M = 1 TO 100 3 INPUT A(M) : NEXT : KECIL = A(1) 4 FOR M = 2 TO 100 5 IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X 6 NEXT : PRINT KECIL : END Tetapi, misalkan jika kita diminta untuk mengalihkan notasi infix menjadi postfix melalui stack, hal itu sulit untuk dilakukan. Algoritmanya bisa menggunakan gabungan kalimat dengan bahasa pemrograman, berikut contoh penggalannya.
  • 3. Contoh : 1. Asumsi : deretan notasi infix dimasukkan ke dalam sebuah variabel array bernilai string, nama variabelnya D 2. S adalah variabel string untuk menyimpan susunan data di dalam stack 3. H adalah variabel string untuk menyimpan hasil 4. P = banyaknya elemen array 5. For I = 1 to p If top(s) = empty then {top(s) adalah posisi atas stack) if D(i) = operand then H = D(i) Else S = S + D(i) Top(s) = D(i) Endif Else If D(i) = operator then If derajat D(i) > derajat Top(s) then . . . . . . . . . . . . Jadi, terdapat beberapa kata yang tidak dapat dijabarkan langsung ke dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator, dan derajat. PERLUNYA PROSEDUR Toh akhirnya, kita tidak akan mungkin hanya membuat algoritmanya saja melainkan dilanjutkan ke pembuatan programnya. Karenanya, algoritma sebaiknya dibuat sedemikian rupa agar setiap perintah yang ada di dalamnya dapat diaplikasikan langsung ke dalam bahasa pemrograman. Itulah perlunya prosedur. Misalkan kata “operand” di algoritma di atas yang tidak dapat langsung diaplikasikan di dalam bahasa pemrogramannya, kita buat saja prosedur dari algoritma tersebut yang mendefinisikan apa itu “operand.” Misalkan : 1 Procedure OPERAND 2 IF ASC(D(I)) > 64 AND ASC(D(I)) < 91 THEN OP = .T. ELSE OP = .F. 3 RETURN Sehingga, di algoritma utamanya bisa diubah dari :
  • 4. If top(s) = empty then {top(s) adalah posisi atas stack) if D(i) = operand then H = D(i) menjadi : If top(s) = empty then {top(s) adalah posisi atas stack) Do Procedure OPERAND IF op = .t. H = D(i) PERLUNYA STANDAR PENGGUNAAN PERINTAH BAHASA PEMROGRAMAN Sulit memang membuat standardisasi penggunaan perintah bahasa pemrograman di sebuah algoritma. Sulit karena ada yang hanya memahami satu bahasa pemrogrman saja sehingga ia tak mau menggunakan perintah di bahasa pemrograman lain. Namun, itu sebatas cara penulisan saja, misalkan di BASIC A = 10, di Pascal berlaku A := 10, namun untuk perintah looping, umumnya memiliki alur logika yang sama, yaitu dalam penggunaan FOR-NEXT, REPEAT-UNTIL, DO WHILE- ENDDO, WHILE-WEND, dan sebagainya. Jadi, meskipun tidak ada standar yang pasti, paling-paling hanya berbeda cara penulisannya saja, namun sama dalam alur logikanya. Jadi, ternyata, standardisasi semacam ini tidak diperlukan. LATIHAN SOAL ALGORITMA 1. Alihkan notasi infix menjadi prefix 2. Buat suatu pohon biner, tentukan algoritma perjalanan preorder; 3. Alihkan notasi infix menjadi postfix melalui operasi stack; 4. Jadikan seratus angka yang sudah dimasukkan ke komputer secara acak menjadi urut (sort) dari kecil ke besar (ascending) 5. Cari nilai tengah dari seratus angka yang sudah dimasukkan ke komputer secara acak.