Jumat, 29 Desember 2017

Logika & Algoritma Komputer

1 komentar
LOGIKA DAN ALGORITMA KOMPUTER
Simulasi & Komunikasi Digital

A.   Definisi Logika

Logika identik dengan masuk akal dan penalaran.
Penalaran adalah salah satu bentuk pemikiran.
Pemikiran adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.
"Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip – prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku."
Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip – prinsip untuk berfikir secara sistematis.

B.   Definisi Algoritma

-         Asal Usul kata algoritma
Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang barat menjadi Algorism.
Kata algorism berrti proses menghitung dengan angka arab. Seseorang dikatakan algorist jika orang tersebut menggunakan bahasa arab.
Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata agorithm diserap ke dalam bahasa indonesia menjadi algoritma.

-         "Algoritma adalah urutan langkah – langkah logis penyeesaian masalah yang disusun secara sistematis."
Kata logis disini berarti benar sesuai dengan logika manusia.
Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.
Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.  Konsep algoritma sering kali disetarakan dengan sebuah resep.  Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut.  Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep tersebut tidak akan dapat dikerjakan.  Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.  
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat yang sama.  Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah.  Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

C.   Manfaat Algoritma

Manfaat Algoritma adalah Untuk membantu seseirang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.

D.   Hal yang harus dipenuhi dalam membuat algoritma

  1. Input : data yang harus diberikan pada komputer
  2. Output : informasi yang akan diperoleh dari komputer
  3.  Logika : merencanakan proses program. Terdiri dari sejumlah instruksi yang mengubah input menjadi output yang diinginkan.

E.    Contoh – Contoh Algoritma

-         Algoritma perhitungan luas segitiga
1)    Start
2)    Baca data alas dan tinggi.
3)    Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4)    Luas adalah alas kali tinggi kali 0.5
5)    Tampilkan Luas
6)    Stop
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma.
Pertama, algoritma harus benar.
Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

F.    Ciri – ciri algoritma

-         Ada Input
-         Ada Proses
-         Ada Output
-         Memiliki Instruksi-Instruksi yang jelas dan tidak Ambigu.
-         Harus mempunyai Stoping Role

G.   Sifat Algoritma

  • Tidak mengunakan symbol atau Syintaks dari suatu bahasa pemrograman.
  • Tidak tergantung pada suatu bahasa pemrograman.
  • Notasi-notasinya dapat digunakan untuk seluruh bahasa pemrograman manapun.

H.   Jenis proses algoritma :

-         Sequence process = instruksi dikerjakan secara sekuensial / berurutan
-         Selection process = instruksi dikerjakan jika memenuhi kriteria tertentu
-         Iteration process = instruksi dikerjakan selama memenuhi suatu kondisi tertentu
-         Concurrent process = beberapa instruksi dikerjakan secara bersama

I.       Bentuk – bentuk Penyajian Algoritma Komputer
1.     Bahasa Natural
Penyajian algoritma dengan bahasa alamiah dilakukan dengan menyusun uraian kata yang menggunakan bahasa inggris atau dengan bahasa lain, misalnya bahasa indonesia.
Misal :
         Mulai
         Cetak tulisan
         selesai
2.     Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.  Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu.  Secara lebih detil bagian ini akan dibahas pada bagian berikutnya. Pada flowchart ada beberapa simbol penting yang digunakan untuk membuat algoritma sebagaimana tercantum pada Gambar di bawah ini :

Program Flowchart dapat terdiri dari dua macam, yaitu
a. bagan alir logika program ( program logic flowchart ) dan 
b. bagan alir program komputer terinci (detailed computer program flowchart).
Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika dan biasanya dipersiapkan oleh seorang analis system.  Sedangkan bagan alir program komputer terinci digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer. 
Contoh algoritma dengan flowchart :
           Bagan alir logika program                   Bagan alir program komputer terinci
3.     Pseudocode
Pseudocode mirip dengan SE.  Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama.  Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan  code menunjuk pada kode program.  Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.   Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan  pseudocode yang sering digunakan Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma.
Contoh  Pseudocode ;
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC.  Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.