Logika dan Algoritma Pemograman

Pengertian logika
LOGIKA / Pikiran yang Masuk Akal/Nalar Diperkenalkan pertama kali oleh Aristoteles (384-322 SM).
Definisi Logika:
- Penalaran atau bentuk pemikiran
- Logika berasal dari dari bahasa Yunani yaitu Logos yang berarti ilmu/penalaran atau bentuk pemikiran.
Logika dapat diartikan ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku.
Kegunaan logika
- Membantu mempelajari sesuatu untuk berpikir secara rasional.
- Meningkatkan kemampuan berpikir.
- Mendorong orang untuk berpikir sendiri
- Meningkatkan kebenaran dan menghindari kesalahan-kesalahan berpikir, kekeliruan.
- Mampu melakukan analisis terhadap suatu kejadian.
- Terhindar dari klenik, tahayul, atau kepercayaan turun-temurun
Pengertian algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu
Menurut KBBI, algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah
Dalam Ilmu komputer algoritma adalah suatu set instruksi atau formula yang berisi langkah-langkah untuk pemecahan masalah (problem solving).
Pengertian algoritma sangat lekat dengan kata logika, yaitu kemampuan manusia untuk berfikir dengan akal tentang suatu permasalahan, menghasilkan sebuah kebenaran, dibuktikan dan dapat diterima akal. Logika sering dihubungkan dengan kecerdasan manusia. Seorang manusia yang mampu berlogika dengan baik biasanya disebut sebagai pribadi yang cerdas. Dalam menyelesaikan suatu masalahpun logika mutlak diperlukan.
Algoritma adalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah yang disusun secara sistematis dan menggunakan bahasa yang logis dalam memecahkan suatu masalah
Sejarag algoritma
Asal kata algoritma sendiri berasal dari nama Abu Ja’far Mohammed Ibn Musa Al-Khowarizmi, ilmuan persia yang menulis buku berjudul “Al Jabr W’ Al-Muqabala” (Rules of Restoration and Reduction) yang diterbitkan pada tahun 825 M. Kata AL Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi algorithm. Algorithm diserap dalam Bahasa Indonesia menjadi Algoritma.
Pengertia logika dan algoritma
Logika dan Algoritma adalah ilmu yang mempelajari cara penyelesaian masalah berdasarkan langkah-langkah terbatas yang logis dan sistematis dengan tujuan tertentu.
Pengertian program
Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman, sehigga siap untuk dijalankan pada mesin komputer.
Program berisikan kumpulan instruksiinstruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program).
Program : Realisasi dari Algoritma.
Program = Algoritma + Bahasa
Bahasa pemrograman
Bahasa pemrograman adalah bahasa buatan yang digunakan untuk mengedalikan perilaku dari sebuah mesin , biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahukan komputer tentang apa yang harus dilakukan.
Tingkatan bahasa
- Bahasa pemrograman tingkat rendah
- Bahasa mesin atau kode mesin merupakan satu-satunya bahasa yang bisa di olah komputer secara langsung tanpa transformasi sebelumnya (kompilasi).
- Bahasa pemrograman tingkat menengah
- Bahasa tingkat menengah memberikan satu tingkat abstraksi di atas kode mesin
- Bahasa pemrograman tingkat tinggi
- Pada tingkat tinggi muncul pada generasi ke3 bahasa pemrograman , meskipun sudah berkembang sangat jauh dari bahasa pemrograman tingkat tinggi semula.
- Bahasa pemrograman tingkat Object
- Oriented dan Visual / Very-High Level bahasa pemrograman tingkat Object – Oriented dan Visual” merupakan “bahasa pemrograman tingkat tinggi”.
Istilah memprogram dan bahasa pemrograman
Belajar memprogram: belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama.
Belajar bahasa pemrograman: belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan pernyataan yang spesifik untuk setiap bahasa.
Algoritma
Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun.
Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Ciri algoritma
- Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
- Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda.
- Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
- Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output).
- Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
Translasi algoritma → bahasa pemrograman
- Pendeklarasian variabel
- Pemilihan tipe data
- Pemakaian instruksi-instruksi
- Aturan sintaksis
- Tampilan hasil
- Cara pengoperasian compiler atau interpreter.
Penyajian algoritma
Bentuk penyajian untuk algoritma dibagi menjadi 3 (tiga) bentuk penyajian, yaitu:
- Algoritma dengan struktur Bahasa Algoritma dengan Pseudocode
- Algoritma dengan Flowchart
Struktur bahasa
Contoh:
Menghitung rata-rata tiga buah data
Algoritma dengan struktur bahasa Indonesia:
- Baca bilangan a, b, dan c
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlah tersebut dengan 3
- Tulis hasilnya
Kelebihan
- Mudah dipahami oleh semua orang (sifatnya yang general )
Kekurangan
- Timbul masalah pada bahasa yang bias (ambiguitas) atau penerimaan yang berbeda.
Pseudo-code
Pseudocode adalah bentuk informal untuk mendiskripsikan algoritma yang mengikuti struktur bahasa pemrograman tertentu.
Tujuan dari penggunaan pseudocode adalah:
- Lebih mudah di baca oleh manusia
- Lebih mudah di pahami
- Lebih mudah dalam menuangkan ide pemikiran
Contoh:
Menghitung rata-rata tiga buah data
Algoritma dengan struktur pseudocode:
- input (a, b, c)
- Jml = a+b+c
- Rerata = Jml/3
- Output (Rerata)
Kelebihan
- Bahasanya pasti dan tidak bias
Kekurangan
- Hanya bisa dipahami oleh orang-orang tertentu saja, karena adanya kode kode tertetu.
Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmensegmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Kegunaan
- Untuk mendesain program
- Untuk merepresentasikan program
Maka, flowchart harus dapat Merepresentasikan komponen - komponen dalam bahasa pemrograman
Kelebihan
- Lebih mudah dipahami karena mengunakan simbol-simbol yang jelas.
Kekurangan
- Bilang program terlampu banyak dan berulang akan menyebabkan kesulitan dalam penggambaran flowcharnya.