Newest Post
// Posted by :Unknown
// On :Kamis, 23 Oktober 2014
Algoritma Pemrograman
I A
Materi Minggu Pertama
1 Definisi Algoritma & Pemrograman
1.1 Definisi Algoritma
“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.
Pertimbangan kedua
yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang
dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya
berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang
sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah
efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu
efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar
(paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk
mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap
orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar
memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam
kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk
menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun
algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi
demikian, carilah algoritma yang paling efisien dan cepat.
1.2 Beda Algoritma dan Program
Program adalah
kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam
program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari
bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga
struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
1.3 Ciri Khusus Suatu Algoritma
§ Adanya input, Proses, dan output
§ Setiap
tahapan harus dipahami dengan tepat
§ Menerapkan
efektifitas serta efisiensi
§ Harus
mempunyai Stoping Role
2 Tujuan dan kegunaan
·
Pembuatan
atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer
yang melaksanakannya.
·
Untuk
membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola
pikirnya masing-masing.
·
Notasi
algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
·
Apapun
bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya
sama.
3 Contoh Contoh aplikasi dalam kehidupan sehari-hari
3.1 Contoh Algoritma 1.
3.1.1 Rumusan masalah:
Aku harus mengirim
surat kepada sahabat penaku yang berada
di Jakarta. Aku harus menuliskan alamat sahabat penaku yg ada di Jakarta
dibagian depan amplop dan alamat rumahku dibagian belakang amplop suratnya.
Namun, aku tidak tahu jumlah perangko yang harus aku tempel di sisi kiri atas
amplop. Jadi, aku harus pergi ke kantor pos terlebih dahulu. Sesampainya kantor
pos, aku langsung menuju ke loket pengiriman surat. Aku beruntung tidak perlu
mengantri karena dikantor pos sepi. Aku serahkan surat itu kepada penjaga
loket, oleh penjaga loket suratku diberi perangko sesuai dengan tujuan surat
yang aku buat untuk sahabatku. Dan suratku siap dikirim oleh tukang pos.
3.1.2 Algoritma dari masalah diatas, yaitu:
1.
Aku
menyiapkan surat yang akan aku kirimkan.
2.
Aku
menuliskan alamat sahabatku dibagian depan amplop dan alamat rumahku dibagian
belakang amplop.
3.
Aku
pergi ke kantor pos.
4.
Menuju
ke loket dan menyerahkan surat agar diberi perangko sesuai dengan tujuan surat.
5.
Surat
siap dikirim.
3.2 Contoh Algoritma 2.
3.2.1 Rumusan masalah:
Menentukan sebuah
bilangan bulat, apakah merupakan bilangan genap atau ganjil ? Dengan cara,
bilangan di mod 2 Jika, hasilnya sama
dengan 0 maka bilangan tersebut adalah bilangan genap. Dan apabila hasilnya
selain 0 maka bilangan tersebut adalah bilangan ganjil.
3.2.2 Algoritmanya adalah:
1.
Tentukan
sebuah bilangan bulat.
2.
Bilangan
mod 2 .
3.
Jika,
hasilnya sama dengan 0 maka bilangan tersebut adalah bilangan genap. Dan jika
hasilnya selain 0 maka bilangan tersebut bilangan ganjil
3.3 Contoh bukan algoritma:
Saya ingin minum susu coklat.
1.
Saya
menyiapkan gelas dan susu coklat bubuk.
2.
Tambahkan
air panas dan gula.
3.
Tambahkan
air mineral.
4.
Susu
coklat siap diminum.
Contoh diatas bukan
merupakan algoritma karena prosesnya kurang jelas (tidak lengkap) dan tidak
berurutan, sehingga menyebabkan langkah-langkah tersebut tidak logis.