Logika Dan Algoritma Komputer
Pengertian Logika dan Algoritma: Tujuan, Sifat, dan Cirinya - Pada kesempatan yang baik ini saya akan membahas tentang Logika dan Algoritma. Apakah anda sudah tahu pengertian, tujuan, sifat, dan ciri-cirinya?, Jika belum disini saya akan menerangkan secara mudah dipahami.
Apa itu Logika dan Algoritma?
Pengertian Logika dan Algoritma
Logika adalah ilmu yang mengarahkan cara berpikir untuk melakukan kegiatan dengan tujuan tertentu. Kata Logika berasal dari bahasa Yunani yaitu "logos" yang berarti ilmu.
Algoritma adalah langkah-langkah penyelesaian masalah yang disusun secara sistematis memakai bahasa yang logis untuk memecahkan suatu permasalahan.
Algoritma berasal dari nama Ilmuwan Arab yang bernama Abu Jafar Muhammad Ibnu Musa Al Khuwarizmi yaitu penulis buku "Al Jabar Wal Muqabala".
Kata Al Khuwarizmi 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.
Adapun tujuan atau manfaat belajar logika dan algoritma sebagai berikut.
Manfaat Belajar Logika :
- Membuat seseorang mampu berpikir sesuai kebenaran dan realita
- Mampu berpikir sesuai waktu dan tempat yang pas
- Membentuk cara berpikir secara logika yaitu lurus, kritis, rasional, ketat, tertib, dan metodis.
- Meningkatkan kemampuan secara objektif dan format.
- Menambah kecerdasan dan meningkatkan keahlian berpikir mandiri
- Mendorong untuk berpikir sendiri mandiri
- Meningkatkan cara berpikir dengan nalar yang baik.
- Mampu menganalisa suatu kejadian dengan sistematis
Tujuan Belajar Algoritma
- Tidak tergantung pada bahasa pemrograman mana pun.
- Notasi algoritma dapat diterjemahkan pada bahasa pemrograman mana pun.
- Memperkuat cara berpikir kita untuk menyelesaikan suatu masalah.
- Membantu otak agar berpikir panjang.
- Memperkuat analisis ketika pembuatan program.
- Memperluas space berpikir.
Sifat-Sifat Algoritma
Algoritma bisa dikatakan baik jika memiliki enam sifat berikut ini yaitu:
- Algoritma memiliki input atau kondisi awal sebelum dilaksanakan
- Menciptakan output setelah dilakukan.
- Metode dalam algoritma terdefinisikan dengan jelas dan mudah digunakan.
- Suatu algoritma harus mempunyai kondisi output atau akhir, setelah sejumlah langkah yang terbatas jumlahnya yang dilakukan terhadap setiap kondisi awal atau input telah diberikan.
- Langkah dalam permasalahan dilaksanakan dalam waktu tertentu, hingga pada akhirnya mendapat solusi sesuai dengan yang diharapkan.
Metode algoritma berlaku untuk setiap himpunan masukkan yang sesuai dengan persoalan yang diberikan.
Ciri-Ciri Algoritma
Adapun ciri-ciri algoritma sebagai berikut :
- Memiliki awal dan akhir (terbatas).
- Tidak memiliki arti ganda dan tidak membingungkan (tidak ambigu).
- Memiliki input.
- Memiliki output.
- 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:
- Bisa digunakan untuk memecahkan program yang rumit.
- Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program yang lebih sederhana.
- Dapat digunakan berulang atau lebih dari satu kali penggunaan.
- Memudahkan dalam pembuatan program.
- Bisa mengatasi segala masalah dengan logika dan urut.
- Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga divide and conquer.
- Meminimalisir penulisan program yang berulang-ulang.
- Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah untuk dipahami ataupun dikembangkan.
- Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa mendapatkan alur yang jelas.
- Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja tanpa harus merubah dan mengganggu modul yang lain.
- 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.
Apa algoritma dalam perspektif pemrograman?
Soalnya, komputer pada dasarnya melakukan banyak matematika yang berarti memiliki banyak masalah untuk dipecahkan. Itulah mengapa algoritma membentuk jantung ilmu komputer. Algoritme komputer adalah prosedur komputasi yang mengambil satu set input terbatas dan mengubahnya menjadi output dengan menerapkan beberapa matematika & logika. Algoritma dalam pemrograman memiliki beberapa langkah sebagai berikut –
Jadi, apa itu algoritma pemrograman? kamu dapat menganggap algoritme pemrograman sebagai resep yang menggambarkan langkah-langkah tepat yang diperlukan komputer untuk memecahkan masalah atau mencapai tujuan. Kita semua pernah melihat resep makanan – mereka mencantumkan bahan-bahan yang dibutuhkan dan serangkaian langkah untuk membuat makanan yang dijelaskan.
Nah, algoritme memang seperti itu. Dalam bahasa komputer, kata untuk resep adalah prosedur, dan bahan-bahannya disebut masukan.
Komputer kamu melihat prosedurmu, mengikutinya ke surat itu, dan kamu bisa melihat hasilnya, yang disebut output. Algoritme pemrograman menjelaskan cara melakukan sesuatu, dan komputer kamu akan melakukannya persis seperti itu setiap saat. Nah, itu akan sekali kamu mengubah algoritme kamu menjadi bahasa yang dimengerti!
Namun, penting untuk diperhatikan bahwa algoritma pemrograman bukanlah kode komputer. Itu ditulis dalam bahasa Inggris sederhana (atau apa pun yang dikatakan programmer). Itu tidak bertele-tele.
Ia memiliki awal, tengah, dan akhir. Bahkan, kamu mungkin akan memberi label pada langkah pertama ‘mulai’ dan langkah terakhir ‘akhir’. Ini hanya mencakup apa yang kamu butuhkan untuk melaksanakan tugas.
Itu tidak termasuk sesuatu yang tidak jelas, sering disebut ambigu dalam istilah komputer, yang mungkin ditanyakan oleh seseorang yang membacanya.
Definisi masalah – Apa yang harus dilakukan?
Pengumpulan data – Apa yang kita miliki untuk menyelesaikan masalah? Atau masukan.
Pemrosesan data – Memahami apa yang kami miliki atau mengubahnya menjadi bentuk yang dapat digunakan.
Pendekatan logis – Mempekerjakan data yang dikumpulkan & dibuat melawan logika untuk dipecahkan.
Solusi – Sajikan solusi dengan cara yang kamu inginkan dalam GUI atau terminal atau diagram atau bagan.
Singkatnya, dengan nilai input yang terbatas untuk x, sebuah algoritma mengubahnya menjadi nilai output efektif y, di mana y adalah f (x) untuk beberapa fungsi yang terdefinisi dengan baik f.
Satu aspek penting untuk diketahui adalah bahwa algoritme tidak terikat secara ketat pada bahasa pemrograman apa pun. Mereka adalah solusi umum seperti itu.
Bagaimana algoritme dalam pemrograman membuatnya bekerja begitu mudah?
Bidang subjek algoritme telah berkembang begitu dalam dan luas sehingga teori dan dasar-dasar yang ditetapkan akan membantu kita menyerang masalah komputasi apa pun. Ada begitu banyak algoritma efisien yang sudah diterbitkan seperti pencarian biner, bubble sort , insertion sort, merge sort, quick sort, algoritma Euclid untuk menemukan GCM, algoritma Prim untuk menemukan jalur terpendek dalam grafik, dll.
Ada begitu banyak jenis algoritma seperti:
Algoritma brute force | Manakah pendekatan trial and error lurus ke depan untuk memecahkan masalah? Sama seperti kamu melakukan penjumlahan berulang untuk mencari hasil soal perkalian. |
Algoritma Divide and Conquer | Yang memecah masalah menjadi subproblem kecil dan kemudian menggabungkan hasil dari setiap subproblem untuk mendapatkan hasil akhir. Sama seperti kamu pertama kali memisahkan koin dari denominasi yang berbeda ke dalam ember yang berbeda dan kemudian menghitung jumlah koin di setiap ember untuk menemukan berapa banyak koin dari denominasi individu yang ada. |
Algoritma | Yang mengikuti heuristik pemecahan masalah untuk mencapai keadaan terbaik berikutnya untuk menemukan keadaan terbaik akhir sebagai hasil. Sama seperti kamu menemukan daerah kurang curam yang mendaki gunung dengan mudah. |
Pemrograman dinamis | Pendekatan yang sama dengan membagi dan menaklukkan tetapi membagi masalah menjadi beberapa subproblem sehingga hasilnya dapat digunakan kembali untuk subproblem lainnya. |
Metodologi semacam itu membantu kami menghasilkan algoritme yang baik yang memiliki karakteristik penentu berikut.
Algoritme yang baik adalah:
- Precise – Ia mengetahui langkah-langkah yang tepat dan benar untuk dieksekusi.
- Unik – Input untuk instruksi saat ini hanya berasal dari instruksi sebelumnya.
- Hingga – Algoritme berakhir memberikan hasil setelah eksekusi sejumlah instruksi yang terbatas.
- Umum – Algoritme berlaku baik untuk serangkaian input dan tidak hanya satu input.
Lebih dari sekadar aplikasi cakrawala yang luas di dunia nyata, ia bertindak sebagai lensa yang kuat untuk melihat melalui masalah. Ini membantu kami memutuskan apakah suatu masalah dapat dipecahkan atau tidak. Jika ya, lalu bagaimana, seberapa cepat dan seberapa akurat? Jika tidak, algoritme sekali lagi membantu kita memutuskan, jika kita dapat menyelesaikan sebagian darinya.
Berbicara tentang mengapa kita harus menggunakan algoritma dalam pemrograman, kita harus memahami bahwa program komputer mengadopsi algoritma yang berbeda yang dijalankan pada perangkat keras komputer yang memiliki prosesor dan memori dan komponen ini memiliki keterbatasan. Sebuah prosesor tidak terlalu cepat dan memori yang kita miliki tidak gratis.
Mereka adalah sumber daya yang dibatasi. Mereka harus digunakan dengan bijak dan algoritme yang baik yang efisien dalam hal kerumitan waktu dan kerumitan ruang akan membantu kamu melakukannya.
Contoh Algoritma
Contoh:
Dina adalah seorang siswa SMK kelas X. Setiap hari, dia pergi ke sekolah setelah melakukan sarapan. Pada suatu hari, ketika Dina akan sarapan, yang tersedia hanya nasi tanpa sayur dan lauk. Kemudian, terpikir oleh Dina untuk membuat tumis tauge tempe dengan langkah-langkah sebagai berikut :
(1) Siapkan tauge, tempe, cabai, bawang merah, bawang putih, lengkuas, dan bahan lain yang diperlukan.
(2) Iris bawang merah, bawang putih, cabai, dan lengkuas.
(3) Panaskan minyak dan masukkan semua irisan bahan.
(4) Goreng tempe sebentar.
(5) Tambahkan tauge, kecap manis, garam, dan sedikit air.
(6) Aduk hingga semua bumbu meresap.
(7) Cicipi rasanya. Jika terdapat rasa yang kurang, tambahkan bumbu lain secukupnya.
(8) Tauge tumis siap dihidangkan.
Contoh di atas merupakan penyelesaian masalah dengan mengggunakan langkah-langkah penyelesaian masalah yang dinamakan algoritma. Algoritma adalah serangkaian langkah yang disusun menjadi urutan logis kegiatan untuk mencapai tujuan.
Setiap hari, ketika seseorang melakukan aktivitas, dia akan memilih mana yang akan dikerjakan terlebih dahulu, misalnya ketika bangun tidur, sarapan, bahkan ketika memakai pakaian di pagi hari. Algoritma yang baik merupakan tindakan yang benar dan masuk akal.
Terdapat berbagai bentuk cara untuk mengomunikasikan algoritma, antara lain menggunakan bagan alir, pseudo code, dan bahasa pemrograman. Bentuk algoritma yang mudah dibaca adalah menggunakan bagan alir.
Bagan Alir
a. Fungsi Bagan Alir
Bagan alir (flowchart) merupakan sebuah bagan yang menunjukkan aliran algoritma dan menampilkan langkah-langkah penyelesaian terhadap suatu masalah. Ter dapat berbagai alasan bagi seseorang untuk menggunakan flowchart, antara lain sebagai berikut.
- Dokumentasi proses. Bagan alir dapat digunakan untuk mendokumentasikan proses menjadi lebih terorganisasi dengan baik.
- Petunjuk untuk memecahkan masalah. Runtutan langkah dari yang umum menuju ke khusus atau sebaliknya merupakan petunjuk pemecahan masalah yang digambarkan dengan bagan alir.
- Pemrograman. Bagan alir dapat digunakan untuk menggambarkan garis besar program yang akan dibuat. Bagan alir juga digunakan untuk merancang navigasi pengguna pada tampilan (user interface) aplikasi yang akan dibuat.
Mengomunikasikan hal-hal yang prosedural.
b. Simbol Bagan Alir
Bagan alir tersusun dari berbagai simbol yang berbeda untuk mempresentasikan sebuah input, proses, maupun output yang berbeda. Berikut adalah berbagai simbol dan masingmasing kegunaannya.
Posting Komentar untuk "Logika Dan Algoritma Komputer"