Sabtu, 06 Oktober 2012

Logika dan Algoritma (Pertemuan 1)

PERTEMUAN 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  memcahkan 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.

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 langkah-langkah  tertentu untuk menyelesaikan masalah
Algoritma   Pemrograman  Program
Agar algoritma dapat memerintah (diproses) komputer, maka dirubah 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
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,
 dengan data yang diketahui adalah diameter lingkaran.
 Rumus :  ∏ . r2 dengan  Phi =  3.14 atau 22/7.
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 pemrograman tertentu.

     Dengan flowchart / diagram alir
Program Flowchart
Yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah.

Simbol yang digunakan :
: menunjukkan awal dan akhir dari program
: memberikan niai awal pada suatu variabel atau counter
: menunjukkan pengolahan aritmatika dan pemindahan data
: menunjukkan proses input atau output
: untuk mewakili operasi perbandingan logika
: proses yang ditulis sebagai sub program, yaitu prosedur/ fungsi
: penghubung pada halaman yang sama
: penghubung pada halaman yang berbeda   


Contoh :

     Dengan statement program /penggalan program

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.    Ambil bilangan pertama dan set maks sama dengan bilangan pertama
2.    Ambil bilangan kedua dan bandingkan dengan maks
3.    Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua
4.    Ambil blangan ketiga dan bandingan dengan maks
5.    Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga
6.    Variabel maks berisi bilangan terbesar. Tampilkan hasilnya

    Dengan Flowchart


    Dengan Pseudo-code

Maks ←bilangan pertama
if (maks < bilangan kedua)
maks←bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
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/lebh input sebelum dijalankan
4.    Output       algoritma memiliki satu/lebih output, yanng 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)

     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 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 :
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.

Referensi :
1.    Materi Kuliah Algoritma : Budi Rahardjo (ITB)
2.    Anoname


article by : -Nama    :Deni
                  -NIM    : 12124532

Tidak ada komentar:

Posting Komentar