PENGERTIAN DASAR
LOGIKA dan ALGORITMA
Benarkah komputer adalah
sebuah mesin yang “
pintar
” ???
Kalo kalian jawab
YA
maka jawaban
kalian tidak sepenuhnya salah karena
komputer merupakan
alat bantu
masalah
solusi
Algoritma dan Pemrograman I
Orang harus merumuskan langkah-langkah
penyelesaian masalah itu dalam suatu
runtunan instruksi
.Sekumpulan instruksi yang merupakan
algoritma
Program
komputer
solusi
masalah
masalah
Bagaimanakah Komputer menyelesaikan
masalah???
masalah
Program
komputer
solusi
Bagaimanakah Program dapat
dilaksanakan oleh komputer???
Program harus ditulis dalam
Langkah-langkah pembuatan
program
1.
Mendefisikan permasalahan
2.
Membuat rumusan pemecahan masalah
3.Implementasi
ALGORITMA
PROGRAM DALAM BAHASA TINGKAT TINGGI
PROGRAM DALAM BAHASA MESIN
OPERASI
TRANSLASI
KOMPILASI
INTERPRETASI OLEH CPU
(BACA, TULIS, HITUNG, PERBANDINGAN, dsb)
Apakah Algoritma itu?
Algorism
algorithm
Asal kata Algoritma berasal dari nama
Abu Ja’far Mohammed Ibnu Musa
al-Khowarizmi
, ilmuan Persia yang
menulis kitab
al jabr w’al-muqabala
Apakah Algoritma itu?
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,
algoritma independen terhadap bahasa
dan mesin komputer
Analogi:
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
Finite (Berakhir ) algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Definite (Terstruktur) 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
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
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.
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
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
Ad.1.
Bagaimana merencanakan
algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
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.
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
Tahap Proses Uji Algoritma
1.
Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik
sintaksis maupun logika.
2.
Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan
banyak nya memori program yang
Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari
suatu algoritma, dapat dilihat dari:
1. Waktu Tempuh 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.
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
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 :
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