Rabu, 10 Mei 2023

Memahami Logika dan Algoritma Komputer

Pengertian Logika dan Algoritma 

Logika dan Algoritma merupakan kesatuan yang tidak dapat dipisahkan karena keduanya saling berkaitan. Logika adalah bentuk penalaran atau pemikiran, sedangkan Algoritma adalah suatu urutan dari barisan langkah-langkah atau instruksi untuk menyelesaikan suatu masalah. Pengertian logika dan algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah.

Algoritma berasal dari nama Ilmuwan Arab yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi yaitu penulis buku “Al Jabar Wal Muqabala”. Kata Al Khawarizmi dibaca oleh orang barat menjadi Algorism, kemudian lambat laun menjadi Algorithm Dan diserap ke dalam bahasa Indonesia menjadi Algoritma.

Logika berasal dari bahasa Yunani yaitu “logos” yang berarti ilmu. Artinya saat kita memiliki masalah, maka kita harus dapat menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Intinya logika adalah ilmu yang mengarahkan cara berpikir untuk melakukan kegiatan dengan tujuan tertentu dan berkaitan erat dengan algoritma.

Sementara algoritma adalah langkah-langkah penyelesaian masalah yang disusun secara sistematis memakai bahasa yang logis untuk memecahkan suatu permasalahan. Algoritma terdiri dari logika, metode dan tahapan “urutan” sistematis yang digunakan untuk memecahkan suatu permasalahan. Sehingga algoritma dapat juga diartikan sebagai urutan langkah secara sistematis dan logis.

Manfaat Belajar Logika :

  1. Membuat seseorang mampu berpikir sesuai kebenaran dan realita
  2. Mampu berpikir sesuai waktu dan tempat yang pas
  3. Membentuk cara berpikir secara logika yaitu lurus, kritis, rasional, ketat, tertib, dan metodis.
  4. Meningkatkan kemampuan secara objektif dan format.
  5. Menambah kecerdasan dan meningkatkan keahlian berpikir mandiri
  6. Mendorong untuk berpikir sendiri mandiri
  7. Meningkatkan cara berpikir dengan nalar yang baik.
  8. Mampu menganalisa suatu kejadian dengan sistematis

Tujuan Belajar Algoritma

  1. Tidak tergantung pada bahasa pemrograman mana pun.
  2. Notasi algoritma dapat diterjemahkan pada bahasa pemrograman mana pun.
  3. Memperkuat cara berpikir kita untuk menyelesaikan suatu masalah.
  4. Membantu otak agar berpikir panjang.
  5. Memperkuat analisis ketika pembuatan program.
  6. Memperluas space berpikir.

  Sifat-Sifat Algoritma

Algoritma bisa dikatakan baik jika memiliki enam sifat berikut ini yaitu :

  1. Algoritma memiliki input atau kondisi awal sebelum dilaksanakan
  2. Menciptakan output setelah dilakukan.
  3. Metode dalam algoritma terdefinisikan dengan jelas dan mudah digunakan.
  4. Suatu algoritma harus mempunyai kondisi output atau akhir, setelah sejumlah langkah yang terbatas jumlahnya yang dilakukan terhadap setiap kondisi awal atau input telah diberikan.
  5. Langkah dalam permasalahan dilaksanakan dalam waktu tertentu, hingga pada akhirnya mendapat solusi sesuai dengan yang diharapkan.
  6. Metode algoritma berlaku untuk setiap himpunan masukkan yang sesuai dengan persoalan yang diberikan.

 

Ciri-Ciri Algoritma

  1. Memiliki awal dan akhir (terbatas).
  2. Tidak memiliki arti ganda dan tidak membingungkan (tidak ambigu).
  3. Memiliki input.
  4. Memiliki output.
  5. Harus efektif (bisa menyelesaikan persoalan).

Algoritma disajikan dalam bentuk tulisan/bahasa dan dalam bentuk gambar. Selain itu algoritma dalam bentuk tulisan haruslah menggunakan bahasa yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma. Penyajian algoritma dalam bentuk tulisan juga dapat dilakukan menggunakan pseudocode.

Istilah Pseudocode berasal dari kata pseudo yang berarti “mirip atau menyerupai” dan code yang berarti “kode program”. Contoh bahasa pemrograman yang digunakan untuk menyatakan pseudocode ialah BASIC, Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam bentuk gambar sering disebut flowchart.

 Fungsi Algoritma

Berikut ini terdapat beberapa fungsi algoritma, terdiri atas:

  1. Bisa digunakan untuk memecahkan program yang rumit.
  2. Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program yang lebih sederhana.
  3. Dapat digunakan berulang atau lebih dari satu kali penggunaan.
  4. Memudahkan dalam pembuatan program.
  5. Bisa mengatasi segala masalah dengan logika dan urut.
  6. Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga divide and conquer.
  7. Meminimalisir penulisan program yang berulang-ulang.
  8. Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah untuk dipahami ataupun dikembangkan.
  9. Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa mendapatkan alur yang jelas.
  10. Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja tanpa harus merubah dan mengganggu modul yang lain.
  11. Dokumentasi yang lebih mudah.

 Jenis-Jenis Algoritma

Berikut ini terdapat beberapa jenis-jenis algoritma, terdiri atas:

 1.     Divide and Conquer

Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

 2.     Dynamic programming

Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

 3.     Metode serakah

Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari sub masalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.

 4.     Sistem Flowchart

Metode flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flowchart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.

 5.     Pseudocode (Kode Semu)

Pseudocode (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma. Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami misalnya menggunakan bahasa Indonesia, agar alur logika yang digambarkan dapat dimengerti oleh orang awam sekalipun.

Selain itu Flowchart Pseudocode (kode semu) disusun dengan tujuan untuk menggambarkan  tahap-tahap penyelesaian suatu masalah  dengan kata-kata (teks). Sebenarnya metode ini  mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat  dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang sulit dipahami oleh orang lain.

 

Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut:

1.     Pengulangan (Repetition)

Struktur dasar algoritma yang ketiga adalah pengulangan atau repetition, artinya kasus-kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman biasanya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan.

 Pada algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki instruksi tersendiri, dengan instruksi tersebut pengulangan akan lebih mudah ditulis secara singkat dan praktis daripada harus ditulis satu-persatu. Selain itu dengan struktur ini, bisa menentukan bagaimana instruksi harus ditulis, instruksi mana yang harus didahulukan dan instruksi mana yang harus diakhirkan.

 2.     Pemilihan (Selection)

Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih alternatif penyelesaian. Misalkan untuk kasus menyalakan komputer. Langkah-langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada prosesnya bisa terjadi 2 atau lebih alternatif penyelesaian.

 3.     Runtunan (Sequence)

Sequence atau runtunan dalam struktur algoritma adalah instruksi-instruksi dalam algoritma yang diproses secara berurutan langkah demi langkah dari awal sampai akhir dimulai dari langkah pertama hingga langkah terakhir.

 Dalam bahasa pemrograman, ketika instruksi bahasa pemrograman yang kita tulis diproses oleh komputer, maka komputer akan memproses dan menterjemahkan bahasa pemrograman tersebut secara berurutan dari awal hingga akhir dimulai dari instruksi pada baris pertama hingga baris terakhir.

 https://teknik-informatika-s1.stekom.ac.id/informasi/baca/Memahami-Logika-dan-Algoritma-Komputer/a1eb7ce1b3132d269f15acd9c978c481c9389506#:~:text=Logika%20adalah%20bentuk%20penalaran%20atau,yang%20logis%20guna%20menyelesaikan%20masalah.