logika dan algoritma







Logika Dan Algoritma

BAB 1
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 masalah


,  berarti algoritma harus mengikuti suatu
è


urutan tertentu, tidak boleh melompat-lompat.

tan langkah
logis




Alur  pemikiran  dalam  menyelesaikan  suatu  pekerjaan  yang

dituangkan secara tertulis.
seseorang  dapat berbeda dari

Alur  pikiran yang artinya algoritma

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
Note:
proses pemrograman akan menjadi salah, rusak, atau lambat dan
tidak efisien.

memerintah computer  mengambil langkah-
Algoritma Di butuhkan untuk
langkah tertentu untuk menyelesaikan masalah
lgoritma à Pemrograman à Program

Agar algoritma dapat memerintah (diproses) komputer, maka dirubah
menjadi bentuk program (melalui proses pemrograman).
1.
Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)
Penulisan Algoritma :
masih

sering  membingungkan  (ambigu)  /  sulit

Kelemahannya

2.
dipahami.




Menggunakan Flowchart
- 1

Logika dan Algoritma Pemrograman

Fak. Saintek Universitas Ibrahimy


Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang

3.    Menggunakan Pseudocode

Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman

B.    Tahap Analisa Algoritma

1.    Bagaimana merencanakan algoritma Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas lingkaran,

denganRumus :data∏. ryang2dengandiketahuiPhi=adalah3.14ataudiameter22/7. lingkaran.
2.            Bagaimana menyatakan suatu algoritma (menulis algoritma) Dengan flowchart / diagram alir
Program 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.     p enghubung pada halaman

yang berbeda












Logika dan Algoritma Pemrograman         - 2                   Fak. Saintek Universitas Ibrahimy


Contoh :
















Atau flowchart yang dibuat dengan program raptor



























Dengan psudocode


Logika dan Algoritma Pemrograman         - 3                   Fak. Saintek Universitas Ibrahimy


suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman pemrograman tertentu.

Dengan statement program /penggalan program :

StatDariemenalgoritamaprogramyangC++telahsebagaidibutaberikutdapat: diterjemahkan ke dalam


1   #include <iostream>

2          
3   using namespace std;

4          
5   int main()

6   {
7       float phi = 3.14;

8       float Diameter, Radius, Luas_Lingkaran;
9       cout << "Masukkan Nilai Diameter : ";

10       cin >> Diameter;
11       Radius = Diameter / 2;

12       Luas_Lingkaran = phi * Radius * Radius;
13          cout  <<  "Luas  Lingkaran  adalah  :  "      <<

14   Luas_Lingkaran;
15       return 0;

}

3.        Bagaimana validitas suatu algoritma
4.        Bagaimana menganalisa suatu algoritma
5.        Bagaimana menguji program dari suatu algoritma


BuatlahStudiKasusAlgoritma: untuk memilih bilangan terbesar dari 3 buah bilangan

?


§  Dengan1.MemasukkanBahasaNaturalbilangan 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


Logika dan Algoritma Pemrograman         - 4                   Fak. Saintek Universitas Ibrahimy


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)

Logika dan Algoritma Pemrograman         - 5                   Fak. Saintek Universitas Ibrahimy


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   #include <iostream>

2          
3   using namespace std;

4          
5   int main()

6   {

7             int                 Bilangan_pertama,              Bilangan_kedua,
8   Bilangan_ketiga, maks;

9          
10        cout << "Masukkan bilangan yang pertama : ";

11        cin >> Bilangan_pertama;

12        cout << "Masukkan bilangan yang kedua : ";

13        cin >> Bilangan_kedua;

14        cout << "Masukkan bilangan ketiga : ";

15        cin >> Bilangan_ketiga;

16
17        maks = Bilangan_pertama;

18        if (maks < Bilangan_kedua) {

19             maks = Bilangan_kedua;

20        }

21        if (maks < Bilangan_ketiga) {

22             maks = Bilangan_ketiga;

23        }

24        cout << "Bilangan terbesar adalah : " << maks;

25        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



Logika dan Algoritma Pemrograman        - 6                   Fak. Saintek Universitas Ibrahimy


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
2.
langkah terbatas





Definite

à
setiap langkah didefinisikan secara  tepat, tidak boleh

membingungkan (ambigu)


3.
Input

à
sebuah
algoritma
memiliki  nol/lebih  input  sebelum


4.
dijalankan
algoritma  memiliki  satu/lebih  output,  yang  biasanya
Output

à

bergantung kepada input



5.
Effective
à
setiap algoritma diharapkan memiliki sifat efektif. (setiap


langkah harus sederhana







dan sehingga dapat dikerjakan dalam waktu yang masuk


akal)





Langkah-langkah yang membentuk suatu algoritma dapat dibagi
1.
Sequence Process
à
instruksi dikerjakan secara berurutan satu
menjadi 3 k lompok proses:



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
3.
instruksi dari 2 alternatif instruksi.
Iteration Process
suatu instruksi yang dikerjakan berulang-ulang
Tugas 1 :selama beberapa kali selama masih memenuhi suatu kondisi.
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.
Logika dan Algoritma Pemrograman

- 7

Fak. Saintek Universitas Ibrahimy

Share on Google Plus

About Yasir_Arofadt

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 komentar:

Posting Komentar