Friday, September 8, 2017

Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro

Hello good millennial, jumpa lagi di blogger joeshapictures tema hari ini adalah tentang "Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro" penasaran, yuk kita baca !

Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro
Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro

Pengertian Algoritma

Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis. Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini  berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.

Sebagai contoh, tinjau persoalan mempertukarkan isi dua bejana, A dan B. Bejana A  berisi larutan yang berwarna merah, sedangkan bejana B  berisi air berwarna  biru. Kita ingin mempertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Untuk mempertukarkan isi dua bejana, kita memerlukan sebuah bejana tambahan yang diperlukan sebagai tempat penampungan sementara. Sebut bejana tambahan tersebut bejana C. Dengan menggunakan bejana bantu C ini, algoritma mempertukarkan isi dua buah bejana yang benar adalah sebagai berikut ini:

Algoritma Tukar Isi Bejana

Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi  larutan berwarna biru dan bejana B berisi larutan berwarna merah.

Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana  B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.

Tahapan Pelaksanaan Program Oleh Komputer

Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro
Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro

Keterangan:

Algoritma di translasikan menjadi program dalam bahasa tingkat tinggi. Selanjutnya, program dikompilasi dan diterjemahkan menjadi program dalam bahasa mesin dan di-link dengan berkas library. Instruksi dalam bahasa mesin diinterpretasikan oleh CPU. Operasi yang bersesuaian dengan setiap instruksi dilaksanakan.

Notasi Algoritma

Notasi algoritma dapat diterjemahkan  ke dalam berbagai bahasa pemrograman. Notasi algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi algoritma yang berbeda. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliriuan, ketaatan terhadap notasi perlu diperhatikan. Di bawah ini notasi yang umum digunakan dalam penulisan algoritma :

Notasi I : menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif

Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro
Notasi I

Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gambling. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relative sukar. 

Notasi II : menggunakan diagram alur (Flow chart)

Diagram alir popular pada awal-awal era pemrograman dengan computer (terutama dengan bahasa Basic, Fortran, dan Cobol). Diagram alir lebih menggambarkan aliran instruksi di dalam program secara visual disbanding memperlihatkan struktur program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sukar.

Notasi III : menggunakan Pseudo-code

Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hamper mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat diterima asalakan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman.

Algoritma | Akademi Komunitas (POLTEK) Negeri Bojonegoro
Notasi III

Kata-kata yang digarisbawahi menyatakan kata-kata kunci untuk setiap notasi pseudo-code yang digunakan.

Proses, Instruksi, dan Aksi

Pada dasrnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Tiap langkah instruksi tersebut mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan, maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai, dan keadaan pada saat aksi selesai dikerjakan.

Tahap-tahap penyususnan algoritma seringkali dimulai dari langkah yang global lebih dahulu. Langkah global ini diperhalus samapai langkah yang lebih rinci. Pendekatan desain algoritma seperti ini dinamakan Top-Down design. Cara pendekatan seperti ini sangant bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks. Gagasan penghalusan langkah adalah memecah proses menjadi beberapa langkah. Tiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah terus berlanjut samapai tiap langkah sudah cukup rinci dan tepat untuk  dilaksanakan oleh pemroses.

Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu:
  • Runtunan (sequence).
  • Pemilihan (selection).
  • Pengulangan (repetition).

Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga berubah.

Pemilihan
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Kondisi adalah persyaratan yang dapat bernilai benar atau salah.  Dalam pemilihan dikenal beberapa struktur pemilihan, yaitu:

If - then
Aksi hanya akan dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila kondisi bernilai salah, maka aksi tidak akan dilaksanakan.
Struktur Umum:

if  kondisi then
Aksi

Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persyaratan) dipenuhi (bernilai benar), dan tidak memberikan pilihan aksi lain bila kondisi bernilai salah. 

If-then-else
Struktur pemilihan ini memberikan dua buah aksi yang akan dikerjakan tergantung pada nilai kondisinya. Struktur umumnya:

if  kondisi then
aksi 1
else
aksi 2

Else artinya ”kalau tidak”. Bila kondisi benar, aksi 1 yang akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan.
Contoh:

If  x  >  y  then
Tulis x sebagai bilangan terbesar
Else
Tulis y sebagai bilangan terbesar

Contoh diatas adalah untuk menentukan nilai terbesar dari dua buah bilangan bulat, x dan y (andaikan x ? y)

If-then-else if
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pilihannya menjadi lebih rumit, biasanya untuk pemilihan seperti ini disebut pemilihan bersarang.
Contoh: menentukan bilangan terbesar dari tiga buah bilangan: x, y, z:

If  x  >  y  then
If  x  >  z  then
Tulis x  sebagai bilangan terbesar
Else
Tulis z  sebagai bilangan terbesar
Else
If  y  >  z  then
Tulis y  sebagai bilangan terbesar
else
Tulis z  sebagai bilangan terbesar

Kelebihan struktur pemilihan terletak pada kemampuannya yang memungkinakan pemroses mengikuti jalur aksi yang berbeda berdasarkan kondisi yang ada.

Pengulangan
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa kali perintah tetapi penulisan perintah tersebut hanya satu kali.

Struktur pengulangan yang umum digunakan antara lain :

Pernyataan for
Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali kita akan mengulang satu atau beberapa pernyataan. Bentuk umum pernyataan for adalah sbb:

For pencacah := nilai_awal to nilai_akhir do
Aksi 

Aksi akan dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari nilai_awal sampai nilai_akhir

Pernyataan repeat-until
Pernyataan repeat-until akan melakukan pengulangan aksi hingga kondisi (persyaratan) berhenti terpenuhi. Bentuk umum pernyataan repeat-until adalah sbb:

Repeat
Aksi
Until  kondisi

Tidak seperti pada  struktur for-do yang jumlah pengulangannya diketahui sebelum pengulangan dilaksanakan, maka untuk struktur repeat-until digunakan jika jumlah pengulangan tidak dapt diketahui di awal. Namun yang pasti, pengulangan aksi akan terus dilakukan sampai kondisi berhenti dipenuhi.

Pernyataan while-do
Sama seperti pada pernyataan repeat-until, pada pernyataan while-do ini digunakan untuk pengulangan yang belum diketahui pasti jumlah pengulangannya. berakhirnya pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi, maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan akan terus dilakukan. Bentuk umum pernyataan while-do adalah sebagai berikut:

While kondisi do
Aksi

Terima kasih sudah membaca semoga apa yang kita baca hari ini bisa bermanfaat bagi kita semua, sebelum meninggalkan blogger joeshapictures sebaiknya di share dulu, apa yang kita dapat hari ini ada baiknya jika kita membagikan pengetahuan kepada orang lain. Sampai jumpa di artikel selanjutnya . . .

0 komentar: