Logika dan Algoritma

 Logika dan Algoritma




A. Pengertian Algoritma

   Saat pertama mempelajari bahasa pemrograman, mendapatkan kesan bahwa bagian sulit dari menyelesaikan masalah di komputer adalah menerjemahkan ide-ide ke dalam bahasa spesifik yang akan dimasukkan ke dalam komputer. Bagian tersulit dalam menyelesaikan masalah di komputer adalah menemukan metode solusinya. Setelah menemukan metode solusi, kemudian menerjemahkan metode ke dalam bahasa yang diperlukan, baik itu C ++ atau bahasa pemrograman lainnya. Oleh karena itu sangat membantu untuk mengabaikan sementara waktu bahasa pemrograman dan berkonsentrasi pada merumuskan langkahlangkah solusi dan menuliskannya dalam bahasa yang sederhana. Seolah-olah instruksi harus diberikan kepada manusia bukan ke komputer. Urutan instruksi yang dinyatakan dengan cara ini sering disebut algoritma. 

    Istilah algoritma berasal dari seorang ilmuwan terkenal dari Persia yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis kitab atau buku yang berjudul Al Jabr Wal-Muqabala atau The Book of Restoration and Reduction. Dari buku tersebut diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan arithmetic, sehingga akhiran –ism berubah menjadi –ithm. 

   Algoritma merupakan suatu prosedur, urutan langkah-langkah atau tahapan-tahapan sistematis, jelas, dan logis untuk menyelesaikan permasalahan. Langkah logis dalam algoritma harus dapat ditentukan, bernilai salah atau benar.Algoritma merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. (Moh Sjukani, “Algoritma dan Struktur Data dengan C, C++, dan Java”).

B. Aspek Penting dalamAlgoritma

   Beberapa hal yang harus diperhatikan dalam membuat algoritma antara lain algoritma harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompat-lompat. Algoritma seseorang dengan orang yang lain dapat berbeda-beda karena mempunyai alur pikir yang berbeda-beda pula, meskipun untuk menyelesaikan permasalahan yang sama. Langkah demi langkah secara eksak harus dapat memecahkan suatu masalah. Algoritma dapat diwujudkan dalam berupa kalimat, gambar atau tabel tertentu. Menurut Donald E. Knuth, algoritma harus mempunyai lima ciri penting, yaitu sebagai berikut. 
1. Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah langkah tertentu atau terbatas. 
2. Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous). 
3. Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan.  
4. Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada Input. 
5. Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

C. Ragam Struktur Algoritma

   Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration atau looping), atau kombinasi dari ketiganya. Struktur dasar penyajian algoritma dibedakan menjadi tiga, yaitu sebagai berikut. 
1. Struktur runtunan (sequence), struktur algoritma yang mempunyai pernyataan secara berurutan atau sequential. 
2. Struktur pemilihan atau percabangan (selection), struktur algoritma atau program yang menggunakan pemilihan atau penyeleksian kondisi. 
3. Struktur perulangan, struktur algoritma atau program yang pernyataannya akan dieksekusi berulang-ulang sampai kondisi tertentu. 

   Pada algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman mana pun.

D. Metode Penyajian Algoritma

   Penyajian algoritma secara garis besar dapat dibedakan menjadi dua, yaitu berbentuk tulisan dan berbentuk gambar. Algoritma yang disajikan dengan bentuk tulisan dapat menggunakan aturan bahasa natural (alami) dan pseudocode. Bahasa natural menggunakan struktur bahasa tertentu (misalnya struktur bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-kode tertentu dan mirip dengan kode bahasa pemrograman (misal bahasa Pascal, C, C++) sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram (programmer). Sedangkan algoritma yang disajikan dengan gambar dapat berbentuk diagram alur (flowchart) atau struktogram (Nassi Schneiderman chart).


1. Penyajian Algoritma Menggunakan Bahasa Natural (Alami) 

   Notasi penulisan algoritma dengan menggunakan bahasa deskriptif bisa juga disebut dengan notasi alami. Dilakukan dengan cara menuliskan instruksi-instuksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Dasar dari notasi bahasa deskriptif adalah bahasa Inggris, tetapi dapat dimodifikasi dengan bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam menuliskan algoritma dengan notasi deskriptif maka tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks algoritma tidak sama dengan teks program. Program adalah implementasi algoritma dalam notasi bahasa pemrograman tertentu. Tetapi, agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman pada umumnya. Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi, bandingkan, dan lain-lain. Notasi jenis ini cocok untuk algoritma yang pendek. Tapi untuk masalah algoritma yang panjang, notasi ini kurang efektif. Cara penulisan algoritma dengan notasi bahasa deskriptif paling mudah dibuat, tetapi demikian cara ini paling sulit untuk diterjemahkan ke dalam bahasa pemrograman. Pada dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama yaitu: bagian judul (header) , bagian deklarasi (kamus) dan bagian deskripsi.

   Setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda kurung kurawal (‘{’ dan ‘}’). 
a. Judul Algoritma 
   Judul algoritma merupakan bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Di bagian ini juga digunakan untuk menentukan apakah teks algoritma yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama algoritma sebaiknya singkat tetapi cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma yang dituliskan dalam kurung kurawal ({}). Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan. Gambar 2.1 adalah contoh judul algoritma menghitung luas lingkaran yang disertai dengan penjelasan singkat.


b. Bagian deklarasi 
   Di dalam algoritma, deklarasi atau kamus adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama variabel, nama konstanta, nama tipe, nama prosedur atau nama fungsi. Semua nama tersebut baru dapat digunakan di dalam algoritma jika telah didefinisikan terlebih dahulu didalam bagian deklarasi. Penulisan sekumpulan nama dalam bagian deklarasi sebaiknya dikelompokkan menurut jenisnya. Pendefinisian nama konstanta sekaligus memberikan nilai konstanta. Pendefinisian nama fungsi atau prosedur sekaligus dengan pendefinisian spesifikasi dan parameternya. Deklarasi: radius = real {tipe data bilangan pecahan} luas = real {tipe data bilangan pecahan} PHI = 3.14

c. Bagian Deskripsi
   Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian langkah -langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah. Seperti yang telah dijelaskan bahwa penyusun atau struktur dasar algoritma adalah langkah-langkah. Suatu Algoritma dapat terdiri atas tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Pada bagian deskripsi inilah letak tiga struktur algoritma tersebut. Deskripsi: 
1. Baca radius 
2. Hitung luas = radius * radius * PHI 
3. Tampilkan luas ke layar 
4. Selesai 
Bentuk contoh lengkap penyajian algoritma dengan bahasa natural sebagi berikut.



2. Penyajian Algoritma Menggunakan Pseudocode 

   Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa pemrograman tingkat tinggi. Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Biasanya pseudo code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas daripada algoritma. Pseudocode berisi deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Sehingga pseudocode tidak dapat dipahami oleh komputer. Supaya notasi pseudocode bisa dipahami oleh komputer maka harus diterjemahkan terlebih dahulu menjadi sintaks bahasa pemrograman komputer tertentu.
   
Dalam pseudocode, tidak ada sintaks standar yang resmi. Oleh karena itu, pseudocode ini dapat diterapkan dalam berbagai bahasa pemograman. Disarankan untuk menggunakan keyword yang umum digunakan seperti if, then, else, while, do, repeat, for, dan lainnya Keuntungan menggunakan notasi pseudocode adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi bahasa pemrograman. Tabel 2.1. menunjukkan perbandingan beberapa kata yang biasa digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan pseudocode.
 
Tabel 1.1 Perbandingan kata dalam penulisan algoritma dengan kalimat deskriptif dan pseudocode






3. Penyajian Algoritma Menggunakan Flowchart

    Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan atau langkahlangkah dari suatu program dan hubungan antarproses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagianbagian yang terlupakan dalam analisis masalah. Di samping itu, flowchart juga berguna sebagai fasilitas untuk berkomunikasiantara pemrogram yang bekerja dalam tim suatu proyek. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif lain dalam pengoperasian.

    Pada dasarnya terdapat berbagai macam flowchart, di antaranya yaitu Flowchart Sistem (System Flowchart), Flowchart Paperwork/Flowchart Dokumen (Document Flowchart), Flowchart Skematik (Schematic Flowchart), Flowchart Program (Program Flowchart), Flowchart Proses (Process Flowchart). Untuk keperluan pembuatan program maka digunakan Flowchart Program.

    Flowchart program menggambarkan urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program. Dalam flowchart program mengandung keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur seharusnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi. 

Tabel 1.2 Ragam simbol yang sering dipakai dalam Program Flowchart






Untuk hari ini dipahami saja dulu materi yang ada ya, jika ada pertanyaan bisa bertanya melalui google class room ya...

Komentar

NEST TV mengatakan…
Untuk Link Multimedia SMKN 1 Gunungsindur, dapat diluhat di https://multimedia-smkn1gs.blogspot.com/

Postingan populer dari blog ini

Majalah-majalah Edisi Atau Yang Membahas Tentang Harry Potter

IHP @ World Book Day

Pengertian Animasi 2D, Teknik, dan Cara Pembuatan Animasi