Bab 1 ( Pengertian dasar logika dan algoritma )
Pengertian Dasar Logika Dan Algoritma

Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa
al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala
(rules of restoration and reduction) sekitar tahun 825 M
A. Algoritma
➤Urutan langkah-langkah untuk memecahkan masalah
➤Urutan logis pengambilan putusan untuk memecahkan masalahurutan langkah logis, berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yangdituangkan secara tertulis.
➤Alur pikiran yang artinya algoritma seseorang dapat berbeda dari
algoritma orang lain.
tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
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.
Note:
Algoritma Di butuhkan untuk memerintah computer mengambil langkahlangkah tertentu untuk menyelesaikan masalah
Algoritma Pemrograman Program
Agar algoritma dapat memerintah (diproses) komputer, maka dirubah
menjadi bentuk program (melalui proses pemrograman).
menjadi bentuk program (melalui proses pemrograman).
Penulisan Algoritma :
1. Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
2. Menggunakan Flowchart
Logika dan Algoritma Pemrograman - 2 Fak. Saintek Universitas IbrahimyBaik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
oleh orang yang belum tahu pemrograman
B. Tahap Analisa Algoritma
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.
2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
Dengan flowchart / diagram alirProgram Flowchart
Yaitu bagan yang menggambarkan urutan logika dari suatu
prosedur pemecahan masalah.
1. Simbol yang digunakan :
2. menunjukkan awal dan akhir dari program
3. memberikan niai awal pada suatu variabel atau counter
4. menunjukkan pengolahan aritmatika dan pemindahan
data
5. menunjukkan proses input
atau output
6. untuk mewakili operasi
perbandingan logika
7. proses yang ditulis sebagai sub
program, yaitu prosedur/
fungsi
8. penghubung pada halaman
yang sama.
9. penghubung pada halaman yg berbeda
contoh :
Atau flowchat yang di buat denan proggram raptor
Dengan psudocode:
Suatu cara penulisan agar ide dan logika dari algoritma dapat di sampaikan/diekspesikan menggunakan gaya bahasa pemograman pemograman tertentu.
C. Tahap Proses Uji Algoritma
Langkah-langkah
yang membentuk suatu algoritma dapat dibagi menjadi 3 kelompok proses:
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
2. Menggunakan Flowchart
Logika dan Algoritma Pemrograman - 2 Fak. Saintek Universitas IbrahimyBaik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
3. | Menggunakan Pseudocode Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti |
B. Tahap Analisa 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.
2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
Dengan flowchart / diagram alirProgram Flowchart
Yaitu bagan yang menggambarkan urutan logika dari suatu
prosedur pemecahan masalah.
1. Simbol yang digunakan :
2. menunjukkan awal dan akhir dari program
3. memberikan niai awal pada suatu variabel atau counter
4. menunjukkan pengolahan aritmatika dan pemindahan
data
5. menunjukkan proses input
atau output
6. untuk mewakili operasi
perbandingan logika
7. proses yang ditulis sebagai sub
program, yaitu prosedur/
fungsi
8. penghubung pada halaman
yang sama.
9. penghubung pada halaman yg berbeda
contoh :
Atau flowchat yang di buat denan proggram raptor
Dengan psudocode:
Suatu cara penulisan agar ide dan logika dari algoritma dapat di sampaikan/diekspesikan menggunakan gaya bahasa pemograman pemograman tertentu.
Statemen program C++ sebagai berikut :
1
2
3
4
5
6
7
8
9 10
11
12
13
14
15
|
#include <iostream> using
namespace std;
int main()
{ float phi = 3.14;
float Diameter, Radius, Luas_Lingkaran; cout << "Masukkan Nilai
Diameter : "; cin >> Diameter;
Radius = Diameter / 2;
Luas_Lingkaran = phi * Radius * Radius;
cout
<< "Luas Lingkaran adalah :"<<
Luas_Lingkaran; return
0;
}
|
3.
Bagaimana validitas suatu algoritma
4.
Bagaimana menganalisa suatu algoritma 5. Bagaimana menguji program dari suatu algoritma
Studi Kasus :
Buatlah Algoritma untuk memilih bilangan
terbesar dari 3 buah bilangan ?
§ Dengan Bahasa Natural
1.
Memasukkan bilangan pertama
2.
Memasukkan bilangan kedua
3.
Memasukkan bilangan ketiga
4.
Ambil bilangan pertama dan set maks sama
dengan bilangan pertama
5.
Ambil bilangan kedua dan bandingkan
dengan maks
6.
Apa bila bilangan kedua lebih besar dari
maks, set maks sama dengan bilangan kedua
7.
Ambil blangan ketiga dan bandingan dengan
maks
8.
Apabila bilangan ketiga lebih besar dari
maks, set maks sama dengan bilangan ketiga
9.
Variabel maks berisi bilangan terbesar
10.
Tampilkan hasil bilangan terbesar
11.
Selesai
§ Dengan Flowchart
§ Dengan Pseudo-code
Input (Bilangan_pertama)
Input (Bilangan_kedua) Input
(Bilangan_ketiga) maks ß bilangan_pertama if (maks <
bilangan_kedua) then maks ß bilangan_kedua if (maks <
bilangan_ketiga) then maks ß bilangan_ketiga output (maks) End.
§ Dengan Bahasa Pemrogaraman C++
1
2
3
4
5
6
7
8
9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include
<iostream> using namespace std;
int
main()
{
int Bilangan_pertama,
Bilangan_kedua,
Bilangan_ketiga,
maks;
cout
<< "Masukkan bilangan yang pertama : "; cin >>
Bilangan_pertama; cout << "Masukkan bilangan yang kedua : ";
cin >> Bilangan_kedua; cout << "Masukkan bilangan ketiga :
"; cin >> Bilangan_ketiga;
maks =
Bilangan_pertama; if (maks < Bilangan_kedua) { maks = Bilangan_kedua;
} if
(maks < Bilangan_ketiga) { maks = Bilangan_ketiga;
} cout
<< "Bilangan terbesar adalah : " << maks; return 0;
}
|
C. 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 digunakan.
D. Analisis
Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat
dilihat dari:
1.
Waktu Tempuh dari Suatu Algoritma
2.
Jumlah memori yang digunakan
E. Sifat-sifat
Algoritma
Aspek Penting Algoritma :
1.
Finite à algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas
2.
Definite à setiap
langkah didefinisikan secara tepat,
tidak boleh membingungkan (ambigu)
3.
Input à sebuah
algoritma memiliki nol/lebih input sebelum dijalankan
4.
Output à algoritma
memiliki satu/lebih output, yang biasanya bergantung kepada input
5.
Effectiveà setiap
algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana
dan sehingga dapat dikerjakan dalam waktu yang masuk
akal)

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 redit 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.
Tugas 1 :
Buatlah algoritma (dengan bahasa natural,
Flowchart, pseudocode, dan program C++):
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.
0 Comments: