PENGERTIAN DASAR
LOGIKA dan ALGORITMA
1
Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibnu Musa al-Khowarizmi,
ilmuan Persia yang menulis kitab al jabr w’al-
muqabala (rules of restoration and reduction)
sekitar tahun 825 M
2
Definisi Algoritma
Urutan langkah-langkah untuk memecahkan masalah
Urutan logis pengambilan putusan untuk
memecahkan masalah
urutan langkah logis, berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis.
alur pikiran, yang artinya algoritma seseorang dapat berbeda
dari algoritma orang lain.
tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
3
Dalam bidang komputer, algoritma sangat diperlukan
dalam menyelesaikan berbagai masalah pemrograman,
terutama dalam komputasi numeris.Tanpa algoritma
yang dirancang baik maka proses pemrograman akan
menjadi salah, rusak, atau lambat dan tidak efisien.
Algoritma di butuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu untuk
menyelesaikan masalah
Algoritma  Pemrograman  Program
Agar algoritma dapat memerintah (diproses)
komputer, maka dirubah menjadi bentuk program
(melalui proses pemrograman).
4
Tahap Penyelesaian Masalah
Masalah
Model
Algoritma
Program
Eksekusi
Hasil
Data
analisis
analisis
analisis
5
Kriteria Pemilihan Algoritma
1. Ada Output
2. Efektifitas dan Efisiensi
3. Jumlah Langkahnya Berhingga
4. Berakhir
5. Terstruktur
6
Suatu Algoritma yg terbaik (The Best):
“Suatu algoritma harus menghasilkan output
yg tepat guna (efektif) dlm waktu yg relatif
singkat & penggunaan memori yg relatif
sedikit (efesien) dgn langkah yg berhingga &
prosedurnya berakhir baik dlm keadaan
diperoleh suatu solusi ataupun tdk ada
solusinya.“
7
Contoh: (1)
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu
ambil buku alamat & cari alamat yg dituju, lalu tulis
alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai
pos atau menuju ke bis surat untuk memasukkan surat
ke dlm kotak/bis surat. 8
Contoh: (2)
Sebuah prosedur untuk masalah menentukan akar kuadrat
dari suatu bilangan Bulat Positif yg di Input :
1. Baca bilangan Bulat Positif yg diinput, sebut saja sebagai
A
2. Dinyatakan Nilai B adalah 0
3. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
4. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah
Akar dari Nilai A, lalu stop.
5. Jika tidak, maka Nilai B akan bertambah 1
6. Kembali ke langkah pada No. 3
9
Penulisan Algoritma
Menggunakan bahasa natural (Bahasa manusia:
Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti
oleh orang yang belum tahu pemrograman
10
Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma
2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji Program dari suatu Algoritma
11
Ad.1. Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas
lingkaran, dengan data yang diketahui
adalah diameter lingkaran.
Rumus : ∏ . r2 dengan Phi = 3.14
atau 22/7.
12
Ad.2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)
Dengan psudocode
Suatu cara penulisan algoritma agar ide dan
logika dari algoritma dapat
disampaikan/diekspresikan menggunakan
gaya bahasa pemrograman tertentu.
Phi  3.14
Input (diameter)
Radius  diameter / 2
Luar  phi * radius * radius
Output (Luas)
End
13
Dengan flowchart
/ diagram alir
Program Flowchart,
yaitu bagan yang
menggambar-kan
urutan logika dari
suatu prosedur
pemecahan masalah.
Start
Phi = 3.14
Input
(diameter)
Radius = diameter/2
Luas = phi * radius * radius
Output
Luas
Stop
14
Tahap Proses Uji Algoritma
PengujianTahap Debuging
Untuk mengecek kesalahan program, Baik
sintaksis maupun logika.
PengujianTahap Profiling
Untuk menentukan waktu tempuh dan banyak nya
memori program yang digunakan.
15
Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu
algoritma, dapat dilihat dari:
1. WaktuTempuh dari Suatu Algoritma
2. Jumlah memori yang digunakan
 Hal-hal yang dapat mempengaruhi
waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
16
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
Finite  algoritma harus berhenti setelah
mengerjakan sejumlah langkah terbatas
Definite  setiap langkah didefinisikan secara tepat,
tidak boleh membingungkan (ambigu)
Input  sebuah algoritma memiliki nol/lebih input
sebelum dijalankan
Output  algoritma memiliki satu/lebih output, yang
biasanya bergantung kepada input
Effective  setiap algoritma diharapkan memiliki
sifat efektif. (setiap langkah harus sederhana dan
sehingga dapat dikerjakan dalam waktu yang masuk
akal)
17
Langkah-langkah yang membentuk suatu algoritma
dapat dibagi menjadi 3 kelompok proses:
1. Sequence Process  instruksi dikerjakan secara
berurutan satu persatu dimulai dari langkah pertama
sampai terakhir.
2. Selection Process  instruksi pemilihan proses
(percabangan), sehingga apabila memenuhi
persyaratan tertentu maka instruksi akan dikerjakan.
Contoh : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif
instruksi.
3. Iteration Process  suatu instruksi yang dikerjakan
berulang-ulang selama beberapa kali selama masih
memenuhi suatu kondisi.
18
TUGAS & LATIHAN
19
Tugas-1
Buatlah algoritma dengan menggunakan bahasa natural
(bahasa sehari-hari / pseudocode )
1. Buat langkah untuk melakukan penggantian
ban mobil yang pecah ( tanpa ada masalah /
syarat ).
2. Dari Soal diatas dikembangkan kembali, mis :
bila ban serep kempes atau ban serep bocor.
20
Tugas-2
Buatlah algoritma (dengan bahasa natural):
1. Menampilkan bilangan ganjil dari 1 sampai
dengan 10.
2. Menghitung jumlah deret : 1 + 2 + 3 + 4 +
.... + N
N = jumlah maksimum suatu nilai yang
dimasukkan.
21

001 algoritma

  • 1.
  • 2.
    Sejarah Algoritma Asal kataAlgoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al- muqabala (rules of restoration and reduction) sekitar tahun 825 M 2
  • 3.
    Definisi Algoritma Urutan langkah-langkahuntuk memecahkan masalah Urutan logis pengambilan putusan untuk memecahkan masalah urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain. tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. 3
  • 4.
    Dalam bidang komputer,algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris.Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah Algoritma  Pemrograman  Program Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman). 4
  • 5.
  • 6.
    Kriteria Pemilihan Algoritma 1.Ada Output 2. Efektifitas dan Efisiensi 3. Jumlah Langkahnya Berhingga 4. Berakhir 5. Terstruktur 6
  • 7.
    Suatu Algoritma ygterbaik (The Best): “Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“ 7
  • 8.
    Contoh: (1) Sebuah prosedurketika akan mengirimkan surat kepada teman: 1. Tulis surat pada secarik kertas surat 2. Ambil sampul surat atau amplop 3. Masukkan surat ke dalam amplop 4. Tutup amplop surat dengan lem perekat 5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat. 6. Tempelkan perangko pada amplop surat 7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat. 8
  • 9.
    Contoh: (2) Sebuah proseduruntuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input : 1. Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A 2. Dinyatakan Nilai B adalah 0 3. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B 4. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop. 5. Jika tidak, maka Nilai B akan bertambah 1 6. Kembali ke langkah pada No. 3 9
  • 10.
    Penulisan Algoritma Menggunakan bahasanatural (Bahasa manusia: Indonesia, Inggris) Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami. Menggunakan Flowchart Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang Menggunakan Pseudocode Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman 10
  • 11.
    Tahap Analisa Algoritma 1.Bagaimana merencanakan algoritma 2. Bagaimana menyatakan suatu algoritma (menulis algoritma) 3. Bagaimana validitas suatu algoritma. 4. Bagaimana Menganalisa suatu Algoritma. 5. Bagaimana Menguji Program dari suatu Algoritma 11
  • 12.
    Ad.1. Bagaimana merencanakanalgoritma Dengan Mendefinisikan masalah. Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran. Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7. 12
  • 13.
    Ad.2. Bagaimana menyatakansuatu algoritma (menulis algoritma) Dengan psudocode Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu. Phi  3.14 Input (diameter) Radius  diameter / 2 Luar  phi * radius * radius Output (Luas) End 13
  • 14.
    Dengan flowchart / diagramalir Program Flowchart, yaitu bagan yang menggambar-kan urutan logika dari suatu prosedur pemecahan masalah. Start Phi = 3.14 Input (diameter) Radius = diameter/2 Luas = phi * radius * radius Output Luas Stop 14
  • 15.
    Tahap Proses UjiAlgoritma PengujianTahap Debuging Untuk mengecek kesalahan program, Baik sintaksis maupun logika. PengujianTahap Profiling Untuk menentukan waktu tempuh dan banyak nya memori program yang digunakan. 15
  • 16.
    Analisis Suatu Algoritma Untukmelihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari: 1. WaktuTempuh dari Suatu Algoritma 2. Jumlah memori yang digunakan  Hal-hal yang dapat mempengaruhi waktu tempuh adalah : 1. Banyaknya langkah. 2. Besar dan jenis input data. 3. Jenis Operasi. 4. Komputer dan kompilator 16
  • 17.
    Sifat - SifatAlgoritma Aspek Penting Algoritma : Finite  algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Definite  setiap langkah didefinisikan secara tepat, tidak boleh membingungkan (ambigu) Input  sebuah algoritma memiliki nol/lebih input sebelum dijalankan Output  algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input Effective  setiap algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu yang masuk akal) 17
  • 18.
    Langkah-langkah yang membentuksuatu algoritma dapat dibagi menjadi 3 kelompok proses: 1. Sequence Process  instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai terakhir. 2. Selection Process  instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan. Contoh : jika pembayaran tunai diberi diskon 10% Jika dilakukan secara kredit maka diskon 0 %. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi. 3. Iteration Process  suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi. 18
  • 19.
  • 20.
    Tugas-1 Buatlah algoritma denganmenggunakan bahasa natural (bahasa sehari-hari / pseudocode ) 1. Buat langkah untuk melakukan penggantian ban mobil yang pecah ( tanpa ada masalah / syarat ). 2. Dari Soal diatas dikembangkan kembali, mis : bila ban serep kempes atau ban serep bocor. 20
  • 21.
    Tugas-2 Buatlah algoritma (denganbahasa natural): 1. Menampilkan bilangan ganjil dari 1 sampai dengan 10. 2. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N N = jumlah maksimum suatu nilai yang dimasukkan. 21