Makalah Algoritma dalam KEHIDUPAN sehari hari



MAKALAH ALGORITMA

Makalah Algoritma dalam KEHIDUPAN sehari hari


KATA PENGANTAR

Puji Syukur Kehadirat Tuhan Yang Maha Esa Atas Segala Rahmatnya Sehingga Makalah Ini Dapat Tersusun Hingga Selesai . Tidak Lupa Kami Juga Mengucapkan Banyak Terimakasih Atas Bantuan Dari Pihak Yang Telah Berkontribusi Dengan Memberikan Sumbangan Baik Materi Maupun Pikirannya.

Dan Harapan Kami Semoga Makalah Ini Dapat Menambah Pengetahuan Dan Pengalaman Bagi Para Pembaca, Untuk Ke Depannya Dapat Memperbaiki Bentuk Maupun Menambah Isi Makalah Agar Menjadi Lebih Baik Lagi.

Karena Keterbatasan Pengetahuan Maupun Pengalaman Kami, Kami Yakin Masih Banyak Kekurangan Dalam Makalah Ini, Oleh Karena Itu Kami Sangat Mengharapkan Saran Dan Kritik Yang Membangun Dari Pembaca Demi Kesempurnaan Makalah Ini.



I


DAFTAR ISI


KATA PENGANTAR

DAFTAR ISI.

BAB I PENDAHULUAN.
Latar Belakang..............

Rumusan Masalah.............

Tujuan Penulisan................

BAB II PEMBAHASAN ..............................................

A. Pengertian Algoritma Dan Pemrograman.............

B. Definisi Algoritma...............................................

C. Belajar Memprogram.........................................

D. Algoritma...........................................................

E. Pemrograman Prosedural....................................

F. Aturan Penulisan Algoritma .................................

BAB III PENUTUP....

A. Kesimpulan.............

B. Saran...........

DAFTAR PUSTAKA.......



II



BAB IPENDAHULUAN




A. Latar Belakang

Program computer adalah untaian kata perintah yang sudah dipahami oleh komputer untuk dikendalikannya. Kata-kata perintah tersebut membuat suatu bahasa yang di sebut dengan Bahasa Pemograman. Sebagaimana bahasa pada manusia, bahasa pemograman juga terdiri atas berbagai macam bahasa, dan mempunyai aturan masing-masing. Sukarnya, komputer saat ini belum di beri hak usul, sehingga apabila ada kekeliruan penulisan perintah oleh program, dia tidak ingin memakluminya atau berusaha membenahi sendiri kesalahan tersebut. Komputer dibuat melalui logika manusia, oleh karena itu, dia bekerja secara logis dan efisien.

Walaupun telah dikatakan saat kita menyusun algoritma kita tidak usah paham bahasa pemograman apa yang akan dipakai, tapi untuk penulisan algoritma yang lebih efektif dan efisien penggunaan sebagian perintahnya perlu di lakukan.

Berikut perintah bahasa pemograman yang paling sering digunakan ialah Pascal, C, COBOL, PL/1 dll.


B. Rumusan Masalah

1. Apa Pengertian Algoritma ?

2. Bagaimana Definisi Algoritma ?

3. Bagaimana Aturan Penulisan Algoritma ?


C. Tujuan Penulisan

1. Mengetahui Pengertian Algoritma.

2. Mengetahui Definisi Algoritma.

3. Mengetahui Aturan Penulisan Algoritma.



BAB IIPEMBAHASAN



A. Pengertian Algoritma Dan Pemrograman

Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Oranghanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Andadikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasaberusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahlisejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis bukuarab yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa Al-Khuwarizmi.

Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yangberjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan pengurangan(The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akarkata Aljabar (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karenakata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran sm berubah menjadithm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambatlaun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kataAlgorithm diserap menjadi Algoritma.

Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing. Pada dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara manusia dengan komputer.

Sebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu memiliki variableinteger dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi.


B. Definisi Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusunsecara sistematis dan logis.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis dan harus dapat ditentukan bernilai salah atau benar.

a. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu computer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selaluidentik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapatproses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yangdinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selaluada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidakdapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakanakan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan prosessesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebutpemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalatelektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan ataumengeksekusi algoritma yang menjabarkan proses tersebut.

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritmatersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkanlagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalambentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :

· Mengerti setiap langkah dalam Algoritma.
· Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

b. Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalambahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.

c. Belajar Memprogram Dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajarmemprogram adalah belajar tentang metodologi pemecahan masalah, kemudianmenuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakanbelajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tatabahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, danmemanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanyadalam bahasa itu saja.

Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkantujuan dan fungsinya. Diantaranya adalah :

C. Belajar Memprogram
· Belajar memprogram belajar bahasa pemrograman
· Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dansistematika pemecahan masalah kemudian menuliskannya dalam notasi yangdisepakati bersama.
· Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis.
· Belajar memprogram, titik berat : designer program.

a. Belajar Bahasa Pemrograman
· Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturansintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa.
· Belajar bahasa pemrograman, titik berat : coder.
· Produk yang dihasilkan Pemrogram :
· Program dengan rancangan yang baik (metodologis, sistematis).
· Dapat dieksekusi oleh mesin.
· Berfungsi dengan benar.
· Sanggup melayani segala kemungkinan masukan.
· Disertai dokumentasi.
· Belajar memprogram, titik berat : designer program.


D. Algoritma
Aksi :
kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 danberakhir pada saat T1).
Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan.
Contoh :
Ibu Tati mengupas kentang untuk mempersiapkan makan malam (luasruang lingkupnya).
Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efeknetto yang direncanakan ( Initial State dan Final State).
· Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, danditaruh di rak dapur dimana ibu Tati akan mengupasnya.
· Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci,siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
· Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
· Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian.
Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung darisudut pandang. Contoh mengupas kentang dapat dijelaskan :
· Ambil kantong kentang dari rak
· Ambil panci dari almari
· Kupas kentang
· Kembalikan kantong kentang ke rak
Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentangdiambil dari rak sebelum ambil panci) :
· Ambil kantong kentang dari rak dan ambil panci dari almari
· Kupas kentang
· Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dankita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama?Ini tergantung jawabannya bisa sama bisa tidak.
Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengankemarin.
Sama karena kemiripan pola yang dilakukan.

d. Notasi Algoritma Independen Terhadap Bahasa Pemrograman DanMesin Komputer
Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasaapapun dan hasilnya akan sama asalkan semua aturan pada resep diikuti.Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat melakukanoperasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lainsebagainya.

Demikian juga halnya dengan komputer. Meskipun setiap komputer berbeda teknologinya,tetapi secara umum semua komputer dapat melakukan operasi-operasi dasar dalampemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika,dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi dasaritu, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain setiapprogram dalam bahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelumakhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasidasar yang sesuai, dan menghasilkan efek netto yang sama pada setiap komputer.


E. Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritmaadalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian data dengan bagianinstruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satuper satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karenaadanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi olehinstrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakanpemrograman procedural.

Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukungkegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural.Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitupemrograman berorientasi objek (Object Oriented Programming). Paradigma pemrogramanini merupakan trend baru dan sangat populr akhir-akhir ini.

Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrogramndeklaratif dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikanparadigma pemrograman procedural saja.
Keuntungan pemakaian algoritma adalah: logika pemecahan masalah dapat
bertingkat (mulai dari global menuju terperinci), algoritma merupakanbentuk fleksibel untuk diterapkan keberbagai bahasa pemrograman.

Jadi Algoritma adalah:
penyusunaan aspekproses logika dari suatu pemecahan masalah tanpamelihat karakteristik bahasa pemrograman yang akan digunakan.

Urutan notasi logika yang merupakan hasil analiss dan rancangansistematik dari strategi pemecahan maslah, untuk menggambarkanurutan langkah kerja yang jika dikerjakan akan membawa ketujuannya.

Urutan logika langkah kerja untuk meyelesaikan suatu masalah.

Contoh algoritma dalam kehidupan sehari-hari, misalnya: menjahit pakaian,membuat kue, jadwal harian, panduan merakit komputer, dan lain-lain.

Beberapa notasi yang digunakan dalam penulisan algoritma :

· Notasi I : untaian kalimat deskriptif

· Notasi II : psudo-code

Contoh masalah : menghitung luas segiempat.

Ø Notasi I :

Algoritma Luas_Segiempat

Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang

· segiempat

· Deklarasi

· Luas,panjang,lebar : bilangan bulat

· Deskripsi

1. Masukkan nilai lebar dan panjang

2. Hitung luas sama dengan panjang kali lebar

3. Tampilkan Luas



Ø Notasi II :

Algoritma Luas_Segiempat

· Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang

· segiempat

· Deklarasi

· Luas,panjang,lebar :integer

· Deskripsi

· Input(n)

· Luas= panjang * lebar

· Output(Luas)



F. Aturan Penulisan Algoritma

Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapatditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidakada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisandan notasi algoritma sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasibahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengannotasi bahasa pemrograman secara umum.

a. Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :

· Judul (Header)

· Kamus

· Algoritma

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagiantersebut dituliskan diantara tanda kurung kurawa contoh { Komentar }. Notasi algoritmisyang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

b. Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan namadengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah juduldisarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Namaalgoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan olehalgoritma tersebut.

c. Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :

· Nama type

· Nama konstanta

· Nama variable

· Nama fungsi

· Nama prosedur

Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebihdahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokanmenurut jenis nama tersebut.Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian namakonstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsidilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian namaprosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur(kondisi awal Initial State, Kondisi akhir Final State dan proses yang dilakukan).

d. Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilanaksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman proceduraldapat berupa :

· Instruksi dasar seperti input/output, assignment

· Sequence (runtutan)

· Analisa kasus

· Perulangan

Setiap langkah algoritma dibaca dari atas ke bawah. Urutan deskripsi penulisanmenentuan urutan langkah pelaksanaan perintah.




BAB IIIPENUTUP


A. Kesimpulan

Imperative program beranalogi dibawah bahasa pemograman yang memacu atau berorientasi pada objek objek system informasi yang mengarah pada system informasi. Pembuatan program program komputer dengan penguasaan data yang ada pada bahasa pemograman untuk dikuasai agar menjadi seorang programmer handal. Beberapa sub dari bidang pemograman imperative diantaranya adalah variable dan penugasan ; perintah tidak struktur ; perintah tidak terstruktur ; subprogram, prosedur dan fungsi; dan penanganan eksepsi. Mengenali dan memberi contoh variable dan penguasaaanya, mengenali bentuk perintah tidak terstruktur, mengenali bentuk perintah terstruktur, dapat menjelaskan bentuk-bentuk struktur control,dapat menuliskan subprogram, prosedur, dan fungsi, dan dapat mengenali serta menjelaskan beberapa bentuk eksepsi dan penangananya.

B. Saran

Saran saya sebagai penulis ialah, bahwa setidaknya kita harus selalu konsisten dalam belajar agar dapat bersaing di era globalisasi.
Demikian pula dalam mempelajari algoritma dan pemrograman, sehingga kita selaku mahasiswa atau peserta didik dapat dibekali dengan kecakapan menggunakan komputer sebagai sarana dalam mencapai tujuan sehari-hari. Sekiranya saran yang saya buat ini jika ada kata dan penulisan yang salah mohon dimaafkan. Wassalamualaikum Wr. Wb.



DAFTAR PUSTAKA


· http://hannan.h08.alumni.ipb.ac.id/2010/06/12/pengertian-pemrograman/

· http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php

· googlecode.com/files/a980b55869178243a3cca38490ce9711.pdf