2. Pengertian Dasar
LOGIKA
Pertama kali diperkenalkan oleh Aristoteles (384
322 SM)
Logika berasal dari kata Yunani kuno 了粒凌 (logos)
yang berarti hasil pertimbangan akal pikiran yang
diutarakan lewat kata dan dinyatakan dalam bahasa.
Sebagai ilmu, logika disebut dengan logike episteme
(Latin: logica scientia) atau ilmu logika (ilmu
pengetahuan) yang mempelajari kecakapan untuk
berpikir secara lurus, tepat, dan teratur[1].
3. Pengertian Dasar (2)
ALGORITMA
Algoritma pertama kali diperkenalkan Oleh
Ahli Matematika : Abu Jafar Muhammad
Ibnu Musa Al Khawarizmi.
Seorang Ilmuwan Persia yang menulis kitab
Al jabr Muqabala (Rules of restoration and
Reduction) sekitar tahun 825 M
4. Defenisi
DEFENISI LOGIKA :
Penalaran atau bentuk pemikiran
Ilmu yang memberikan prinsip-prinsip yang harus diikuti
agar dapat berpikir valid menurut aturan yang berlaku.
DEFENISI ALGORITMA :
Langkah-langkah yang dilakukan agar solusi masalah
dapat diperoleh.
Suatu prosedur yang merupakan urutan langkah-langkah
yang berintegrasi
Suatu metode khusus yang digunakan untuk
menyelesaikan sebuah masalah (Webster Dictionary)
6. KRITERIA PEMILIHAN ALGORITMA
1. Ada output: mengacu pada definisi algoritma, suatu
algoritma haruslah mempunyai output yang harus merupakan
solusi dari masalah yang sedang diselesaikan.
2. Efektifitas dan Efisiensi ikatakan efektif jika algoritma
tersebut menghasilkan suatu solusi yang sesuai dengan
masalah yang diselesaikan dalam arti algoritma harus tepat
guna.Dikatakan efisiensi jika waktu proses suatu algoritma
relatif lebih singkat dan penggunaan memori komputernya
lebih sedikit.
3. Jumlah langkahnya berhingga : maksudnya adalah barisan
instruksi yang dibuat harus dalam suatu urutan tertentu atau
harus berhingga agar masalah yang dihadapi dapat
diselesaikan dengan tidak memerlukan waktu relatif lama.
7. KRITERIA (2)
4. Berakhir (Semi Algoritma) : proses didalam mencari
penyelesaian suatu masalah harus berhenti dan berakhir dengan
hasil akhir yang merupakan solusinya atau berupa informasi yang
tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada
atau tidak ada, proses akan tetap harus berakhir dan berhenti.
Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu
suatu prosedur yang hanya akan berhenti jika mempunyai atau
menghasilkan solusi, sedangkan jika tidak menghasilkan solusi,
maka prosedur tersebut akan berjalan tanpa henti.
5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan
harus disusun sedemikian rupa agar proses penyelesaian tidak
berbelit-belit sedemikian sehingga bagian-bagian proses dapat
dibedakan dengan jelas mana bagian input, proses dan output
sehingga memudahkan user melakukan pemeriksaan ulang.
8. KESIMPULAN KRITERIA
Suatu Algoritma yang terbaik(The Best) : Suatu
algoritma harus menghasilkan output yan tepat
guna(efektif) dalam waktu yang relatif singkat &
penggunaan memori yang relatif sedikit(efisien)
dengan langkah yang berhingga & prosedurnya
berakhir baik dalam keadan diperoleh suatu solusi
ataupun tidak ada solusinya
9. 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 computer mengambil
langkah-langkah tertentu untuk menyelesaikan masalah
Algoritma Pemrograman Program
Agar algoritma dapat memerintah (diproses) komputer, maka
dirubah menjadi bentuk program (melalui proses pemrograman).
10. Contoh:
A. Algoritma untuk mengirimkan surat
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 yang dituju, jika tidak diingat, lebih dahulu
ambil buku alamat & cari alamat yang dituju, lalu tulis alamat
tersebut pada amplop surat
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau
menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis
surat .
11. B. Algoritma untuk menentukan bilangan akar kuadrat
dari suatu bilangan bulat positif yang diinput.
1. Baca bilangan bulat positif yang diinput, sebut saja
sebagai A.
2. Dinyatakan Nilai B adalah 0
3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah
Akar dari Nilai A, lalu stop
4. Jika tidak, maka nilai B akan bertambah 1
5. Kembali ke langkah pada No.3
12. Tahapan Analisa Algoritma
1.Bagaimana merencanakan suatu
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.
13. Tahapan(2)
2.Bagaimana menyatakan sebuah algoritma
1. Dengan bahasa semu (pseudocode)
suatu cara penulisan algoritma agar ide dan logika dari
algoritma dapat disampaikan/diekspresikan
menggunakan gaya bahasa pemrograman pemrograman
tertentu.
Contoh :
Untuk mengitung Luas Segitiga:
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas = (Alas * Tinggi)/2
4. Cetak Luas
15. 3. Dengan Statement Program/Penggalan
Program
Contoh:
Read Alas
Read Tinggi
Luas=(Alas*Tinggi)/2
Write(luas)
16. 3. Bagaimana validitas suatu algoritma
Yakni jika penyelesaian memenuhi solusi yang
sebenarnya, artinya solusi yang didapat merupakan
penyelesaian suatu masalah dan bukannya membuat
masalah baru.
4. Bagaimana menganalisa suatu algoritma
Caranya melihat running time atau waktu tempuh yang
digunakan dalam menyelesaikan masalah serta jumlah
memori yang digunakan dalam penyelesaian masalah
tersebut.
5. Bagaimana menguji program dari suatu algoritma
17. Tahap Proses Uji Algoritma
a. Fase Debugging
yaitu fase dari suatu proses program eksekusi yang
akan melakukan koreksi terhadap kesalahan program.
Yang dimaksud disni adalah error atau salah dalam
penulisan program baik logika maupun sintaksnya.
b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut
sudah benar atau telah melalui proses pada fase
debugging. Fase ini bekerja untuk melihat dan
mengukur waktu tempuh atau running time yang
diperlukan serta jumlah memori/storage yang
digunakan dalam menyelesaikan suatu algoritma.
18. Analisis Suatu Algoritma
(Untuk melihat faktor efisiensi & efektifitas dari
algoritma tersebut), dapat dilakukan terhadap
suatu algoritma dengan melihat pada:
- Waktu tempuh (Running Time) dari suatu
algoritma: adalah satuan waktu yang ditempuh
atau diperlukan oleh suatu algoritma dalam
menyelesaikan suatu masalah.
Hal-hal yang dapat mempengaruhi daripada
waktu tempuh adalah: banyaknya langkah, besar
dan jenis input data, jenis operasi, komputer
dan kompilator.
19. Jumlah Memori Yang digunakan
banyaknya langkah yang digunakan dan jenis variabel
data yang dipakai dalam suatu algoritma akan sangat
mempengaruhi penggunaan memori. Dalm hal ini,
diharapkan dapat memperkirakan seberapa banyak
kebutuhan memori yang diperlukan selama proses
berlangsung hingga proses selesai dikerjakan. Dengan
demikian, dapat disiapkan storage yang memadai agar
proses suatu algoritma berjalan tanpa ada hambatan
atau kekurangan memori.
20. Sifat-sifat Algoritma
1. Banyak langkah instruksi harus berhingga
(finite)
2. Langkah atau instruksi harus jelas.(definite)
3. Proses harus jelas dan mempunyai batasan.
4. Input dan output harus mempunyai batasan.
5. Efektifitas
6. Adanya ruang lingkup
21. Latihan
Gunakan bahasa sehari-hari/pseudocode :
1. Buat algoritma untuk mengirim email
kepada teman dengan asumsi sudah
mempunyai alamat email.
2. Buat algoritma untuk meminjam buku di
perpustakaan
3. Buat algoritma untuk membeli buku di
sebuah toko buku.