#
#

AnakUnindra - السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُه Artikel ini merupakan lanjutan dari artikel Definisi Algoritma Menurut Para Ahli

Definisi algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis (logika) merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

Definisi Algoritma juga bisa berarti : 

  1. Langkah- langkah yang dilakukan agar solusi masalah dapat diperoleh.
  2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi.
  3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata. (Webster Dictionary) 

Pengertian Dasar 


Logika dan Algoritma diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.

Algoritma Dalam Kehidupan


Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.

Bahasa Pemrograman


Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, Java, dll. Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen. 

Tahapan Pemecahan Masalah


Tahapan Penyelesaian Masalah


  • Ada Output, mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
  • Efektifitas dan Efesiensi, Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
  • Jumlah Langkahnya Berhingga, maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.

Contoh :

Sebuah prosedur ketika akan mengirimkan surat kepada teman:
  • Tulis surat pada secarik kertas surat.
  • Ambil sampul surat atau amplop.
  • Masukkan surat ke dalam amplop.
  • Tutup amplop surat dengan lem perekat.
  • Tulis alamat surat yang dituju, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat.
  • Tempelkan perangko pada amplop surat.
  • Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bus surat untuk memasukkan surat ke dalam kotak/bus surat.

Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input :

Baca bilangan Bulat Positif yang diinput, sebut saja sebagai A

  • Dinyatakan Nilai B adalah 0
  • Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
  • Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.
  • Jika tidak, maka Nilai B akan bertambah 1
  • Kembali ke langkah pada No. 3

Tahapan Analisa Algoritma :


• Bagaimana merencanakan suatu algoritma.

Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
 

• Bagaimana menyatakan suatu algoritma


Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara :

• Dengan bahasa semu (pseudocode), yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur

Flowchart/ Bagan Alir

Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.

Flowchart dan Penjelasan Fungsinya

Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut :

Gambar 1.2


Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti ini :

Gambar 1.3

Pseudo Code

Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, Java, dll. Perhatikan kode dibawah ini :
  1. Mulai
  2. Masukkan sebuah angka
  3. Masukkan sebuah angka dan tampilkan
  4. Ambil angka yang sebelumnya dan tampilkan
  5. Selesai
Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk “angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua. Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :
  1. Start
  2. Masukkan A
  3. Masukkan B, Tampilkan B
  4. Tampilkan A
  5. End

Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2

  1. Start
  2. Masukkan A dan B
  3. C = A + B
  4. Tampilkan C
  5. End

• Bagaimana validitas suatu algoritma.

Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat asalah baru.

• Bagaimana Menganalisa suatu Algoritma.

Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.

• Bagaimana Menguji Program dari suatu Algoritma.

Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu :

Tahap Proses uji Algoritma :


• Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.

• Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.

Analisis Suatu Algoritma


(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada :

• Waktu Tempuh (Running Time) dari suatu Algortima.
Adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah :
  • Banyaknya langkah.
  • Besar dan jenis input data.
  • Jenis Operasi.
  • Komputer dan kompilator
  • Jumlah Memori Yang Digunakan.

Sifat – Sifat Algoritma


  • Banyaknya Langkah Instruksi Harus Berhingga,
  • Langkah atau Instruksi harus Jelas,
  • Proses harus Jelas dan mempunyai batasan,
  • Input dan Output harus mempunyai Batasan,
  • Efektifitas,
  • Adanya Batasan Ruang Lingkup

Referensi :

https://aldiii.wordpress.com/
http://raficie.blogspot.co.id
Selanjutnya
Tidak ada lagi pelajaran baru..
Sebelumnya
Posting Lama
Axact

AnakUnindra

Materi Informatika.

Member of Zata MediaIndo

Post A Comment:

0 comments:

Terima kasih sudah membaca artikel kami. Jangan sungkan untuk berkomentar, berkomentarlah dengan bijak. Dilarang :
1. Berkomentar tidak sesuai topik bahasan, spamming, dan promosi
2. Berkomentar dengan tautan aktif.
3. Mencela, menghujat dan SARA.