SlideShare a Scribd company logo
1 of 11
BAB II
PENYAJIAN ALGORITMA
1. Tujuan pembelajaran
2. Deskripsi umum
3. Penyajian
3.1 PENYAJIAN dan Notasi ALGORITMA
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada
sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat
akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
a. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
b. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
c. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
a. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
b. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi
bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma
disebut notasi algoritmik.
c. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik
sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks
program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam
notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik
tersebut berkorespondensi dengan notasi bahasa pemrograman secara
umum.
d. Notasi algoritmik bukan notasi bahasa pemrograman, karena
itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh
komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi
algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa
pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin
yang menjalannya.
e. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
f. Algoritma merupakan hasil pemikiran konseptual, supaya dapat
dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam
notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan
pada translasi tersebut, yaitu :
 Pendeklarasian variabel, Untuk mengetahui dibutuhkannya
pendeklarasian variabel dalam penggunaan bahasa pemrograman
apabila tidak semua bahasa pemrograman membutuhkannya.
 Pemilihan tipe data, Apabila bahasa pemrograman yang akan
digunakan membutuhkan pendeklarasian variabel maka perlu hal ini
dipertimbangkan pada saat pemilihan tipe data.
 Pemakaian instruksi-instruksi, Beberapa instruksi mempunyai
kegunaan yang sama tetapi masing-masing memiliki kelebihan dan
kekurangan yang berbeda.
 Aturan sintaksis, Pada saat menuliskan program kita terikat dengan
aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
 Tampilan hasil, Pada saat membuat algoritma kita tidak memikirkan
tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan
ketika mengkonversikannya menjadi program.
 Cara pengoperasian compiler atau interpreter, Bahasa pemrograman
yang digunakan termasuk dalam kelompok compiler atau interpreter.
Structure English merupakan alat yang cukup efisien untuk menggambarkan
suatu algoritma. Basis dari structure english adalah bahasa inggris, tetapi juga bisa
digunakan bahasa indonesia, sedangkan pseudocode berarti kode yang mirip
dengan kode pemrograman sebenarnya. Pseudocode berasal dari kata pseudo yang
berarti imitasi/mirip/menyerupai dan code yang berarti program. Pseudocode
berbasis pada kode program yang sesungguhnya seperti Pascal, C, C++.
Pseudocode lebih rinci dari structure english misalnya dalam menyatakan tipe
data yang digunakan.
Contoh struktur Indonesia
Baca data jam_kerja
Hitung gaji adalah jam_kerja dikalikan tarif
Tampilkan gaji
Pseudocode dengan Pascal :
Read jam_kerja
Gaji := jam_kerja * tarif
Write gaji
3.1.1. Notasi Algoritma
Langkah-langkah penyelesaian masalah dalam teks algoritma dapat ditulis
dalam notasi apapun, dengan syarat bahwa langkah-langkah tersebut mudah
dipahami dan dimengerti. Tidak ada notasi yang baku dalam teks algoritma
sebagaimana notasi.
Dalam bahasa pemrograman (notasi dalam algoritma disebut dengan notasi
algoritmik). Setiap orang dapat membuat aturan penulisan dan notasi algoritmik
sendiri. Berkaitan hal itu untuk memudahkan translasi notasi algoritmik ke dalam
bahasa pemrograman, sebaiknya notasi algoritmik tersebut berkorespondensi
dengan notasi bahasa pemrograman secara umum. Sebagai contoh :
Tulis nilai X dan Y
Dalam notasi algoritmik menjadi :
Write(X,Y)
Notasi write ini berarti nilai X dan Y dicetak ke piranti keluaran. Notasi
write ini berkorespondensi dengan write atau writeln dalam bahasa pascal, printf
dalam bahasa C, cout dalam bahasa C++. Jadi, translasi write(X,Y) dalam masing-
masing bahasa tersebut adalah :
writeln(X,Y); { dalam bahasa pascal }
printf(“%d %d”, X,Y); /* dalam bahasa C */
cout<<X<<Y; /* dalam bahasa C++ */
Perhatikan bahwa setiap bahasa pemrograman mempunyai aturan sendiri dalam
menggunakan perintah penulisan.
Contoh lain :
Isikan nilai X ke dalam max
Ditulis dalam notasi algoritmik menjadi :
max <- X
Notasi “<-” berarti mengisi (assign) peubah (variable) max dengan nilai peubah
X. Translasi notasi “<-” kedalam bahasa Pascal adalah “:=”, dalam bahasa C
adalah “=”, dalam bahasa C++ adalah “=”. Translasi max�X dalam masing-
masing bahasa adalah :
max := X; { dalam bahasa Pascal }
max = X; /* dalam bahasa C */
max = X; /* dalam bahasa C++ */
Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah
penyelesaian tersebut secara umum dibedakan menjadi tiga macam struktur, yaitu
runtunan (sequence), pemilihan (selection), dan pengulangan (repetition). Agar
mudah dibaca, algoritma dituliskan dalam notasi algoritmik, tidak ada notasi yang
standar untuk menuliskan algoritma, kita dapat menuliskan algoritma dengan
notasi sendiri, karena teks algoritma tidak sama dengan teks program komputer.
Namun, agar notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa
pemrograman, maka sebaiknya notasi algoritmik tersebut berupa pseudo-code
yang berkoresponden dengan notasi bahasa pemrograman secara umum.
3.1.2. Kriteria Algoritma (Donald E. Knuth)
 Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
 Output: algoritma harus memiliki minimal satu buah output keluaran.
 Definiteness (pasti): algoritma memiliki instruksi – instruksi yang jelas
dan tidak ambigu.
 Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping
role).
 Effectiveness ( tepat dan efisien ): algoritma sebisa mungkin harus dapat
dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah : A =
A + 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk unterminatable,
contoh : SistemOperasi
3.1.3. Jenis Proses Algoritma
 Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
 Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
 Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi
tertentu.
 Concurrent Process: beberapa instruksi dikerjakan secara bersama.
ContohAlgoritma
a. Algoritma menghitung luas persegi panjang:
 Masukkan panjang(P)
 Masukkan lebar(L)
 Luas ← P * L
 Tulis Luas
b. Sifat : Umum
 Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman
 Tidak tergantung pada suatu bahasa pemrograman
 Notasi-notasinya dapat digunakan untuk seluruh bahasa mana pun
3.2. TAHAPAN ANALISA ALGORITMA :
3.2.1. Bagaimana merencanakan suatu algoritma.
Menentukan beberapa model atau desain sebagai penyelesaian dari suatu
masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian,
akan banyak terdapat variasi desain atau model yang dapat diambil yang
terbaik.
3.2.2. Bagaimana menyatakan suatu algoritma
Menentukan model suatu algoritma yang digunakan sehingga dapat
membuat barisan langkah secara berurutan guna mendapatkan solusi
penyelesaian masalah.
3.2.3. Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat
dilakukan terhadap suatu algoritma dengan melihat pada :
a. Waktu Tempuh (Running Time) dr suatu Algortima, Adalah satuan waktu
yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan
suatu masalah. Hal2 yg dapat mempengaruhi daripada waktu tempuh
adalah :
 Banyaknya langkah.
 Besar dan jenis input data.
 Jenis Operasi.
 Komputer dan kompilator
b. Jumlah Memori Yang Digunakan.
3.2.4. Syarat Sebuah Algoritma Yang Baik
a. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari
proses harus berakurasi tinggi dan benar.
b. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat
mungkin dan frekuensi kalkulasi yang sependek mungkin.
c. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih general.
d. Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita
kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
e. Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program akan membuat susah
di-maintenance (kelola).
f. Portabilitas yang tinggi (portability). Bisa dengan mudah
diimplementasikan di berbagai platform komputer.
g. Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama
dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus
dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena
pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
Contoh: Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
1. Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus
yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya
berbeda.
2. Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
Contoh: Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.
1. Harus terminate. Jalannya algoritma harus ada kriteria berhenti.
Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka
pasti terminate?
2. Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan
diikuti dengan seksama maka dihasilkan output yang diinginkan.
Latihan :
1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan
prima atau bukan, kemudian buat flowchart untuk program tersebut !
2. Buat algoritma untuk mencetak N buah bilangan prima yang pertama,
kemudian buat flowchart untuk program tersebut !
3. Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat,
kemudian buat flowchart untuk program tersebut !
4. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut :
Sn = 3 + 7 + 11 + …… + (4n-1)
5. Buat algoritma untuk menghitung nilai faktorial dari suatu bilangan, kemudian
buat flowchart untuk program tersebut !
6. Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan
antara X dan Y memenuhi persamaan Y = X3 – 2X +1 dan nilai x berubah dari
–10 sampai 10 !

More Related Content

What's hot

Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanAndri Yanto
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartSyaiful Ahdan
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaChabil_Juniar
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarDisma Ariyanti W
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanMuraba Nasuha
 
1. konsep dasar pemrograman pascal
1. konsep dasar pemrograman pascal1. konsep dasar pemrograman pascal
1. konsep dasar pemrograman pascalsuhendi Harun
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1bejarangkunjui
 
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 pascalMeycelino A. T
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarDisma Ariyanti W
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Tatalazy
 

What's hot (20)

Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Pengenalan bahasa pemrograman
Pengenalan bahasa pemrogramanPengenalan bahasa pemrograman
Pengenalan bahasa pemrograman
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasar
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
1. konsep dasar pemrograman pascal
1. konsep dasar pemrograman pascal1. konsep dasar pemrograman pascal
1. konsep dasar pemrograman pascal
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1
 
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
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman Dasar
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Definisi Algoritma
Definisi AlgoritmaDefinisi Algoritma
Definisi Algoritma
 

Similar to ALGO-PENYAJIAN

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 flowchartMaryanto Sumringah SMA 9 Tebo
 
makalah tentang algoritma lengkap
makalah tentang algoritma lengkapmakalah tentang algoritma lengkap
makalah tentang algoritma lengkapLela Warni
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.pptJournalJPMN
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptNoerisEkaBudiarti
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxMiaMiftahulRachmawat
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppteriekorlando3
 
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 .ppttaufikhidayat607720
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1beiharira
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrogramanhanary
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritmaHardini_HD
 

Similar to ALGO-PENYAJIAN (20)

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
 
makalah tentang algoritma lengkap
makalah tentang algoritma lengkapmakalah tentang algoritma lengkap
makalah tentang algoritma lengkap
 
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
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
 
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 dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptx
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
Chapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptxChapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptx
 
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
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
1 ADP Algoritma
1   ADP Algoritma1   ADP Algoritma
1 ADP Algoritma
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Bab 1
Bab 1 Bab 1
Bab 1
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrograman
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma
 

Recently uploaded

MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxMTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxssuser0239c1
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptNabilahKhairunnisa6
 
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...jumadsmanesi
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanNiKomangRaiVerawati
 
Catatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuCatatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuHANHAN164733
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKAPPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKARenoMardhatillahS
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptGirl38
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPCMBANDUNGANKabSemar
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 

Recently uploaded (20)

MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxMTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
 
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
 
Catatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuCatatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus Perilaku
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKAPPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
PPT TEKS TANGGAPAN KELAS 7 KURIKUKULM MERDEKA
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..ppt
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptx
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 

ALGO-PENYAJIAN

  • 1. BAB II PENYAJIAN ALGORITMA 1. Tujuan pembelajaran 2. Deskripsi umum 3. Penyajian 3.1 PENYAJIAN dan Notasi ALGORITMA Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan di antaranya : a. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya. b. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. c. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Beberapa hal yang perlu diperhatikan dalam membuat algoritma : a. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. b. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. c. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. d. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. e. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. f. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam
  • 2. notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :  Pendeklarasian variabel, Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.  Pemilihan tipe data, Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.  Pemakaian instruksi-instruksi, Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.  Aturan sintaksis, Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.  Tampilan hasil, Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.  Cara pengoperasian compiler atau interpreter, Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. Structure English merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma. Basis dari structure english adalah bahasa inggris, tetapi juga bisa digunakan bahasa indonesia, sedangkan pseudocode berarti kode yang mirip dengan kode pemrograman sebenarnya. Pseudocode berasal dari kata pseudo yang berarti imitasi/mirip/menyerupai dan code yang berarti program. Pseudocode berbasis pada kode program yang sesungguhnya seperti Pascal, C, C++. Pseudocode lebih rinci dari structure english misalnya dalam menyatakan tipe data yang digunakan. Contoh struktur Indonesia Baca data jam_kerja Hitung gaji adalah jam_kerja dikalikan tarif Tampilkan gaji Pseudocode dengan Pascal : Read jam_kerja Gaji := jam_kerja * tarif Write gaji 3.1.1. Notasi Algoritma
  • 3. Langkah-langkah penyelesaian masalah dalam teks algoritma dapat ditulis dalam notasi apapun, dengan syarat bahwa langkah-langkah tersebut mudah dipahami dan dimengerti. Tidak ada notasi yang baku dalam teks algoritma sebagaimana notasi. Dalam bahasa pemrograman (notasi dalam algoritma disebut dengan notasi algoritmik). Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Berkaitan hal itu untuk memudahkan translasi notasi algoritmik ke dalam bahasa pemrograman, sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. Sebagai contoh : Tulis nilai X dan Y Dalam notasi algoritmik menjadi : Write(X,Y) Notasi write ini berarti nilai X dan Y dicetak ke piranti keluaran. Notasi write ini berkorespondensi dengan write atau writeln dalam bahasa pascal, printf dalam bahasa C, cout dalam bahasa C++. Jadi, translasi write(X,Y) dalam masing- masing bahasa tersebut adalah : writeln(X,Y); { dalam bahasa pascal } printf(“%d %d”, X,Y); /* dalam bahasa C */ cout<<X<<Y; /* dalam bahasa C++ */ Perhatikan bahwa setiap bahasa pemrograman mempunyai aturan sendiri dalam menggunakan perintah penulisan. Contoh lain : Isikan nilai X ke dalam max Ditulis dalam notasi algoritmik menjadi : max <- X Notasi “<-” berarti mengisi (assign) peubah (variable) max dengan nilai peubah X. Translasi notasi “<-” kedalam bahasa Pascal adalah “:=”, dalam bahasa C adalah “=”, dalam bahasa C++ adalah “=”. Translasi max�X dalam masing- masing bahasa adalah : max := X; { dalam bahasa Pascal } max = X; /* dalam bahasa C */
  • 4. max = X; /* dalam bahasa C++ */ Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah penyelesaian tersebut secara umum dibedakan menjadi tiga macam struktur, yaitu runtunan (sequence), pemilihan (selection), dan pengulangan (repetition). Agar mudah dibaca, algoritma dituliskan dalam notasi algoritmik, tidak ada notasi yang standar untuk menuliskan algoritma, kita dapat menuliskan algoritma dengan notasi sendiri, karena teks algoritma tidak sama dengan teks program komputer. Namun, agar notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritmik tersebut berupa pseudo-code yang berkoresponden dengan notasi bahasa pemrograman secara umum. 3.1.2. Kriteria Algoritma (Donald E. Knuth)  Input: algoritma dapat memiliki nol atau lebih inputan dari luar.  Output: algoritma harus memiliki minimal satu buah output keluaran.  Definiteness (pasti): algoritma memiliki instruksi – instruksi yang jelas dan tidak ambigu.  Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).  Effectiveness ( tepat dan efisien ): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah : A = A + 0 atau A = A * 1 Namun ada beberapa program yang memang dirancang untuk unterminatable, contoh : SistemOperasi 3.1.3. Jenis Proses Algoritma  Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.  Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu  Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.  Concurrent Process: beberapa instruksi dikerjakan secara bersama. ContohAlgoritma
  • 5. a. Algoritma menghitung luas persegi panjang:  Masukkan panjang(P)  Masukkan lebar(L)  Luas ← P * L  Tulis Luas b. Sifat : Umum  Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman  Tidak tergantung pada suatu bahasa pemrograman  Notasi-notasinya dapat digunakan untuk seluruh bahasa mana pun 3.2. TAHAPAN ANALISA ALGORITMA : 3.2.1. Bagaimana merencanakan suatu algoritma. Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik. 3.2.2. Bagaimana menyatakan suatu algoritma Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. 3.2.3. Analisis Suatu Algoritma (Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada : a. Waktu Tempuh (Running Time) dr suatu Algortima, Adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. Hal2 yg dapat mempengaruhi daripada waktu tempuh adalah :  Banyaknya langkah.  Besar dan jenis input data.  Jenis Operasi.  Komputer dan kompilator b. Jumlah Memori Yang Digunakan. 3.2.4. Syarat Sebuah Algoritma Yang Baik a. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar. b. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin. c. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • 6. d. Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada. e. Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola). f. Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer. g. Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti. Contoh: Tambahkan 1 atau 2 pada x. Instruksi di atas terdapat keraguan. 1. Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda. 2. Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya. Contoh: Hitung akar 2 dengan presisi sempurna. Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah. Misal: Hitung akar 2 sampai lima digit di belakang koma. 1. Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate? 2. Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Latihan : 1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan prima atau bukan, kemudian buat flowchart untuk program tersebut ! 2. Buat algoritma untuk mencetak N buah bilangan prima yang pertama, kemudian buat flowchart untuk program tersebut ! 3. Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat, kemudian buat flowchart untuk program tersebut ! 4. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut : Sn = 3 + 7 + 11 + …… + (4n-1) 5. Buat algoritma untuk menghitung nilai faktorial dari suatu bilangan, kemudian buat flowchart untuk program tersebut ! 6. Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan antara X dan Y memenuhi persamaan Y = X3 – 2X +1 dan nilai x berubah dari –10 sampai 10 !