Jumat, 10 Maret 2017

Agoritma dan Pemograman Kasus Elektro dengan Alur FlowChart

Algoritma dan Pemograman Kasus Elektro dengan FlowChart

Sejarah Algorimta Para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Alkhuwarizmi dibaca orang barat menjadi algorism. Al-Khuwarizmi menulis buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku Pemugaran dan Pengurangan” (The Book Restoration and Reduction). Dari buku itu memperoleh kata Aljabar (Algebra) biasa disebut Arithmetic, dalam bahasa indonesia diserap menjadi Algoritma. Definisi Atau Pengertian Algoritma Prosedur : Himpunan hingga instruksi, yg bersifat diskrit dan jelas, serta dapat dijalankan secara mekanik. Secara mekanik maksudnya dapat dibuat program komputer. Semi- Algoritma : Adalah prosedur yang mampu menghasilkan pemecahan atau solusi masalah, bila solusi memang ada, dan kemudian berhenti. Algoritma : Semi algoritma yang mampu mendeteksi tidak adanya solusi, bila solusi memang tidak ada, dan mampu untuk berhenti, suatu susunan langkah-langkah instruksi untuk menyelesaikan masalah. Dari definisi diatas bisa diambil kesimpulan bahwa : “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Sedangkan Pemrograman adalah : Segala kegiatan  pembuatan program komputer. Bahasa pemrograman  yang berarti bahasa yang digunakan dalam pembuatan program komputer. Definisi Pemrograman : Adalah kumpulan instruksi-instruksi tersendiri biasanya disebut source code yang dibuat oleh programmer (pembuat program). Contoh Algoritma dan Pemrograman permasalahan 1: Si Ali sedang mengikuti rapat di kantor, oleh karena satu dokumen ketinggalan di rumah maka ia memutuskan menelpon adiknya yang berada di rumah untuk mengantarkan dokumen tersebut. Buatlah algoritma yang harus dilakukan oleh Ali sehingga dapat berkomunikasi dengan adiknya agar bisa mengantarkan dokumen tersebut!. Sebuah alternatip alagoritma dari permasalahan tersebut adalah sebagai berikut:
  • Si Ali mengambil HPnya yang berada di dalam tasnya.
  • Si Ali meminta ijin kepada pimpinannya untuk ke luar ruangan rapat
  • Jika diijinkan maka Ali keluar ruangan maka Ali menelpon adiknya dan minta tolong agar dokumennya diantar ke kantor Ali.
  • Jika tidak diijinkan maka Ali tetap mengikuti rapat sampai selesai .
  • Ali menunggu kedatangan adiknya yang mengantar dokumen
  • Jika adiknya datang membawa dokumen maka dokumen diterima selanjutnya masuk ruangan rapat kembali untuk mengikuti rapat sampai selesai.
  • Jika adiknya datang tanpa membawa dokumen maka Ali masuk ke ruangan rapat kembali untuk mengikuti rapatt sampai selesai.
Contoh Algoritma dan Pemrograman permasalahan 2: Ibu membuatkan segelas susu untuk adik dan membuatkan segelas kopi untuk kakak, ternyata ibu dalam membuat kedua minuman tersebut gelas kakak tertukar dengan gelas adik. Kalau gelas tersebut tidak ditukar adik akan menangis karena gelasnya digunakan kakak. Buatlah algoritma yang harus dilakukan oleh ibu agar gelas adik dan gelas kakak saling ditukarkan! Alternatip algoritma untuk permasalah tersebut adalah:
  • Ibu mengambil gelas ke 3 yang digunakan sebagai gelas perantara
  • Ibu menuangkan susu dari gelas kakak ke dalam gelas perantara sampai bersih.
  • Ibu menuangkan kopi dari gelas adik ke dalam gelas kakak sampai bersih
  • Ibu menuangkan susu dari gelas perantara ke dalam gelas adik sampai bersih
  • Ibu memberikan gelas adik yang sudah berisi susu kepada adik dan memberikan gelas kakak yang sudah berisi kopi kepada kakak
Struktur Dasar Dari Algoritma Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu: 1. Struktur Runtunan, Digunakan untuk program yang pernyataannya sequential atau urutan. 2. Struktur Pemilihan, Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. 3. Struktur Perulangan, Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Dalam Algoritma, tidak dipakai simbol-simbol / 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 manapun. KRITERIA ALGORITMA Terdapat 5 (lima) kriteria untuk algoritma dapat dikatakan baik (knuth), yaitu meliputi:
  • Masukan(input), tanpa ada input maka proses dalam algoritma tidak akan jalan, artinya sebuah algoritma harus memiliki data untuk sebuah proses sebagai masukan.
  • Keluaran (Output), ditinjau dari pengertian algoritma di atas maka sebuah algoritma harus memiliki minimal keluaran sebagai tujuan, tanpa ada keluaran yang pasti tujuan dari algoritma tidak bisa dicapai untuk digunakan sebagai solusi permasalahan.
  • Batasan, karena orientasi algoritma pada tujuan maka harus ada batasan dalam mencari solusi, jika hal ini diabaikan maka algoritma akan berpeluang untuk tidak mencapai pada tujuan berupa keluaran yang diinginkan. Untuk algoritma terbuka artinya tanpa adanya batasan maka akan tampak berupa algoritma yang tidak logis dan tidak sistematis serta sulit untuk dimengerti.
  • Arah, algoritma harus memiliki kejelasan arah guna mencapai tujuan yang diinginkan, arah dari sebuah algoritma harus diawali dan harus diakhiri, memiliki kejelasan logika dan tahapan sekuensial sehingga didapatkan sebuah hasil berupa keluaran algoritma terkait dengan tujuan.
  • Efisiensi, algoritma harus memiliki efisiensi yang tinggi, artinya tidak merupakan penyelesaian yang abstrak (imajiner) atau bukan angan-angan tetapi lebih merupakan solusi riil guna menyelesaikan suatu masalah. Disini mengandung pengertian untuk tidak melakukan hal-hal yang tidak perlu atau cara memutar-mutar tanpa mengarah pada keluaran sebagai tujuan yang diharapkan.
PENULISAN ALGORITMA Untuk menyajikan Algoritma terdapat kesepakatan dalam bidang pemrograman peralatan elektronik, yaitu dapat dinyatakan dalam bentuk:
  • Menggunakan bahasa natural dalam bentuk narasi seperti contoh di atas.
  • Menggunakan diagram alir (flow chart)
Adapun cara penyajian algoritma, adalah sebagai berikut:
  • Penulisan Algoritma Menggunakan Bahasa Natural
Untuk penyajian algoritma menggunakan bahasa natural dalam bentuk narasi, dan sebagai contoh penulisannya dapat dilihat pada contoh permasalahan di atas.
  • Diagram Alir (Flow Chart)
Flowchart adalah algoritma penyelesaian suatu masalah yang diwujudkan dalam bentuk penggambaran bagan, dimana dalam bagan tersebut memiliki kandungan aliran data yang lebih menggambarkan langkah-langkah penyelesaian suatu masalah. Terdapat 2(dua) penggambaran Flowchart yaitu System Flowchart dan Program FlowchartFlowchart dapat digunakan untuk menggambarkan perilaku suatu algoritma (dengan menggunakan gambar-gambar atau tanda-tanda yang sesuai) Bila suatu flowchart lengkap telah selesai dikerjakan, gambaran lengkap tentang proses pemikiran seorang programmer dalam memecahkan suatu masalah dapatlah diikuti. Peranan flowchart sangat penting terutama pada pemeriksaan program. Flowchart yang merupakan bagian penting dalam suatu program yang telah selesai juga dapat membantu orang lain dalam memahami algoritma yang tepat yang dibuat programmer. Ada dua jenis flowchart, yaitu:
  1. Flowchart sistem: menunjukkan jalannya program secara umum.
  2. Flowchart terperinci: rincian (detail) yang dibutuhkan programer.
Biasanya suatu program yang rumit didahului dengan flowchart sistem, lalu dilengkapi pula dengan. flowchart terperinci. Keuntungan dari flowchart ialah dapat menunjukkan urutan langkah-langkah dengan menggunakan simbol anak panah.

  1. Flowchart Sistem
Digunakan untuk menggambarkan aliran data atau informasi secara garis besarnya yang melewati suatu tahapan proses dalam sebuah sistem dengan menunjukkan media yang digunakan dalam sistem. Seperti media input, output maupun media penyimpanan dalam proses pengolahan data. Adapun simbol yang digunakan meliputi:
Gambar 1. Simbol flowchart sistem
  b, Flowchart Program Digunakan untuk menggambarkan aliran data atau informasi secara rinci yang melewati suatu tahapan proses dengan menunjukkan tahapan penyelesaian permasalahan untuk mendapatkan hasil sesuai tujuan yang diharapkan. Adapun simbol yang digunakan adalah sebagai berikut:
Gambar 2. Simbol Flowchart Umum
Sebuah flowchart minimal umumnya terdiiri dari simbol mulai yang menggambarkan bahwa sebuah algoritma dimulai, dilanjutkan dengan masukan data, selanjutnya data diproses kemudian hasil proses dikeluarkan dan diakhiri dengan simbol akhir dari aliran program.Gambar 3 adalah contoh flowchart sederhana penyelesaian bertahap untuk menghitung luas sebuah bangun segi empat, dimana bangun tersebut memiki panjang = p dan lebar = l, dimana luas = p x l : Menghitung luas bangun ternyata tidak hanya sebuah bangun yang bisa dilakukan dalam program, dengan menambahkan menu pilihan ternyata dapat dipilih untuk menghitung beberapa luas bangun dari bidang tertentu. Jika sebuah algoritma membutuhkan alternatip pilihan maka dibutuhkan simbol percabangan, sebagai contoh sebuah sistem program harus melakukan layanan perhitungan luas bangun segi empat, luas bangun segi tiga dan luas bangun lingkaran.   Gambar 3. Flowchart Sederhana (menghitung luas) Dengan demikian maka terdapat pilihan alternatip (gambar 4), jika dipilih 1 maka digunakan untuk menghitung luas bidang segi empat, untuk pilihan 2 digunakan menghitung luas bangun segi tiga dan untuk pilihan 3 digunakan untuk menghitung luas bangun lingkaran, maka flowchart-nya dapat digambarkan sebagai berikut:
Gambar 4 Simbol Flowchart Program Pilihan
Aliran program dimulai, kemudian memberi kesempatan pada user untuk memberikan masukan berupa angka 1 atau angka 2 atau angka 3, jika angka tersebut adalah 1 maka akan diteruskan pada proses menghitung luas bangun segi empat. Jika ternyata angka yang diberikan adalah 2 maka akan diteruskan pada proses menghitung luas bangun segi tiga, dan juika ternyata angka yang diberikan adalah 3 maka akan diteruskan pada proses menghitung luas bangun lingkaran. Suatu saat dibutuhkan sebuah algoritma untuk menggambarkan suatu proses yang berulang, misal pada suatu program dibutuhkan sebuah rutin yang berfungsi sebagai penghitung (counter). Untuk itu flowchartnya dapat digambarkan sebagai berikut:
Gambar 5. Flowchart Untuk Proses Diulang
  Dalam membuat algoritma untuk pemrograman mikroprosesor dalam bahasa asembler biasanya notasi yang digunakan dalam flowchart menggunakan kode-kode, berikut contoh flowchart dengan notasi kode:    Gambar 6. 
Flowchart Dengan Notasi Kode Program. Contoh permasalahan 3: Mengisi akkumulator dengan data 15H, register D dengan data EAH dan register B dengan data 55H. Tambahkan isi akku dengan isi register D. Hasil penjumlahan diatas bersama carrynya di kurangi dengan isi register B. Penyelesaian (Flowchart)Contoh permasalahan 4: Mengeluarkan data FFH dan 00H dengan tunda waktu FFHxFFH program berlangsung terus, sampai pada penekanan tombol reset. Program utama pada 1800H Program bagian pada 1F00H Penyelesaian (algoritma-narasi)

  • Program Utama
Alamat register kontrol 43 H Alamat Port C 42 H Kata kendali : 80 H ( Port A, B dan C = keluaran ) Mengisi akku dengan data kata kendala ( 80 H ) Keluarkan isi akku ke register kontrol loop ( pengulangan tak berakhir ) isi akku dengan data FFH keluarkan isi akku ke register port C tinggi panggil tunda waktu          isi akku dengan data 00 H keluarkan isi akku ke register port C tinggi panggil tunda waktu    
    
  • program bagian tunda waktu
isi register H dengan data FFH loop 1 isi register L dengan data FFH loop 2 kurangkan isi L dengan 1 loncat ke loop 2, bila LF 0 kurangkan isi H dengan 1 loncat ke loop 1, bila HF 0 mengakhiri program bagian (kembali ke program utama) Definisi Pseudo-code Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan Solusi Pseudo-code : Masukkan bilangan pertama Masukkan bilangan kedua Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. Tampilkan bilangan pertama Tampilkan bilangan kedua Solusi Algoritma : Masukkan bilangan pertama (a) Masukkan bilangan kedua (b) if a > b then kerjakan langkah 4 print a print b Tahapan dalam Pemrograman Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah : Definisikan Masalah Buat Algoritma dan Struktur Cara Penyelesaian Menulis Program Mencari Kesalahan Uji dan Verifikasi Program Dokumentasi Program Pemeliharaan Program Contoh Kasus Lainnya Sebagai contoh sederhana, hitunglah keliling persegi panjang dengan komputer, maka sebelum membuat program kita buat dahulu algoritmanya sebagai berikut : 1. Dapatkan nilai panjang dan lebar persegi panjang 2. Hitung keliling persegi panjang dengan menggunakan rumus 2 x (panjang+lebar) 3. Cetak hasil keliling persegi panjan Algoritma di atas dinyatakan dalam bentuk bahasa manusia yang mudah dimengerti oleh kita. Biasanya untuk penyelesaian masalah yang menggunakan komputer algoritmanya dapat disajikan dalam salah satu dari 2 bentuk algoritma yaitu Diagram Alir (Flowchart) atau Pseudocode. Menggunakan Pseudocode Pseudocode yaitu suatu bentuk algoritma yang menggunakan berbagai notasi yang dimaksudkan untuk menyederhanakan bentuk kalimat manusia. 1. Panjang 6 2. Lebar 8 3. Keliling 0 4. Keliling 2 * ( P + L ) 5. cetak K KESIMPULAN:
  • Dalam menyusun program aplikasi pada sebuah hardware mikroprosesor, seharusnya diawali dengan penyusunan algoritma.
  • Sebuah program aplikasi merupakan cara menyusun berbagai instruksi-instruksi berdasarkan urutan logika tertentu untuk memenuhi kebutuhan.
  • Algoritma dapat digunakan untuk menyelesaikan berbagai masalah, karena untuk membangun sebuah program aplikasi diperlukan sebuah bahasa pemrograman yang disebut dengan bahasa assembly, melalui bahasa ini instruksi disusun dalam urutan sekuensial mengikuti tata aturan dan konsep yang terstruktur.
  • Konsep algoritma pemrograman dapat dituangkan dalam bentuk diagram alir (flowchart).
SUMBER REFERENSI :