Materi dasar Algoritma dan Pemograman
Sebelum belajar algoritma
pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah
pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu
program yaitu:
- Mendefinisikan masalah
- Mencari solusinya
- Menentukan algoritma
- Menulis program
- Menguji program
- Mendokumentasikan program
- Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :
Algoritma
Definisi dari
algoritma antara lain :
- Algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis.
- Algoritma adalah
urutan logis pengambilan keputusan untuk pemecahan masalah.
- Algoritma adalah
urutan langkah-langkah berhingga untuk memecahkan masalah logika atau
matematika.
- Algoritma adalah
logika, metode dan tahapan (urutan) sistematis yang digunakan untuk
memecahkan suatu permasalahan.
Menurut Donald E.
Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma
harus mempunyai lima ciri penting :
1. Algoritma harus
berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga)
2. Setiap langkah
harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous)
3. Algoritma memiliki
nol atau lebih masukan (input)
4. Algoritma mempunya
nol atau lebih keluaran (output)
5. Algoritma harus
efektif dan efisien.
PROGRAM
Komputer hanyalah
salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus
ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program
adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam
bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh
komputer. Kata algoritma dan kata program seringkali dipertukarkan
dalam penggunaannya. Algoritma adalah
urutan langkah-langkah penyelesaian masalah sedangkan Program adalah
realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah
satu bahasa pemrograman dan kegiatan membuat program disebut
pemrograman (programming). Orang yang menulis program disebut programmer.
Tiap-tiap langkah di dalam program disebut pernyataan atau
instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan
instruksi tersebut dikerjakan oleh komputer. Secara garis besar komputer
tersusun atas empat komponen utama, yakni:
1. piranti masukan
berfungsi untuk memasukkan data atau program ke dalam memori komputer
2. piranti keluaran
berfungsi untuk menampilkan hasil dari eksekusi program komputer
3. unit pemroses
utama berfungsi mengerjakan operasi-operasi dasar
4. memori berfungsi
untuk menyimpan program dan data atau informasi.
Mekanisme eksekusi
sebuah program adalah sebagai berikut:
1. Program disimpan
di dalam memori melalui piranti masukan.
2. Ketika sebuah
program dieksekusi maka setiap instruksi program akan dikirim dari memori
ke unit pemroses utama. Unit pemroses utama kemudian akan menjalankan
operasi sesuai instruksi-instruksi yang dibaca.
3. Apabila sebuah
instruksi membutuhkan data masukan, maka piranti masukan akan membaca
data masukan, mengirimkan ke memori kemudian mengirimkan ke unit pemroses
utama untuk diproses.
4. Apabila eksekusi
program menghasilkan data keluaran, maka data keluaran akan disimpan di
dalam memori, kemudian dikirim ke piranti keluaran.
Perbedaan interpreter dan compiler
Interpreter
1. Menerjemahkan
instruksi per instruksi.
2. Source
program tidak harus ditulis lengkap.
3. Bila terjadi
kesalahan instruksi, dapat langsung diperbaiki secara interaktif.
4. Tidak
menghasilkan objek program
5. Pemrosesan
program lebih lambat, karena setiap instruksi yang dikerjakan harus
diinterpretasi ulang.
6. Source code
program terus dipergunakan.
Compiler
1. Menerjemahkan
secara keseluruhan.
2. Source
program harus ditulis lengkap.
3. Bila terjadi
kesalahan dalam kompilasi, source program harus dibenarkan dan proses
kompilasi diulang kembali.
4. Menghasilkan
objek program.
5. Pemrosesan
program lebih cepat, karena program sudah dalam bahasa mesin.
6. Source code
program dipergunakan satu kali pada saat kompilasi program.
PENULISAN ALGORITMA
Pada umumnya terdapat
tiga jenis cara penulisan algoritma, yakni :
1. Cara
deskriptif
Dengan notasi ini,
deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Contohnya : Algoritma
Bilangan_Maksimum
Diberikan tiga buah
bilangan bulat. Carilah bilangan bulat maksimum di antara ketiga bilangan
tersebut.
Deskripsi :
(1) baca bilangan 1.
(2) baca bilangan 2.
(3) bandingkan
bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua
bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut
bilangan tersebut MAX.
(4) baca bilangan 3.
(5) bandingkan MAX
dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar,
pilih MAX dan sebut bilangan tersebut MAX.
(6) keluarkan sebagai
output MAX.
2. Pseudocode
Pseudocode
adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi.
Keuntungan menggunakan notasi pseudocode adalah
memberikan kemudahan bagi programmer untuk menerjemahkan
ke notasi bahasa pemrograman, karena terdapat korespondensi antara
setiap pseudocode dengan notasi bahasa pemrograman.
Contoh : Algoritma Bilangan_Maksimum
{ Dibaca tiga buah
bilangan dari piranti masukan. Carilah bilangan bulat maksimum di antara
ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 :
integer {bilangan yang dicari maksimumnya}
MAX : integer
{variabel bantu}
Deskripsi :
read(Bil1,Bil2)
if (Bil1>=Bil2)
then
Bil1←MAX
else
Bil2←MAX
read(Bil3)
if (Bil3>=MAX)
then
Bil3←MAX
write(MAX)
3. Flowchart
Flowchart adalah
penggambaran secara grafik dari langkah-langkah dan urut-rutan prosedur dari
suatu program. Flowchart menolong analis dan programmer untuk
memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong
dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Bila
seorang analis dan programmer akan membuat flowchart, ada
beberapa petunjuk yang harus diperhatikan, seperti:
1. Flowchart
digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2. Aktivitas
yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus
dapat dimengerti oleh pembacanya.
3. Kapan aktivitas
dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah
dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja,
misalkan MENGHITUNG PAJAK PENJUALAN.
5. Setiap langkah
dari aktivitas harus berada pada urutan yang benar
6. Gunakan
simbol-simbol flowchart yang standar.
Berdasarkan white
paper resmi dari SUN, Java memiliki karakteristik berikut :
1. Sederhana
(Simple) Bahasa pemrograman Java menggunakan sintaks mirip dengan C++
namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan
penggunaan pointer yang rumit dan multiple inheritance. Java
juga menggunakan automatic memory allocation dan memory garbage
collection.
2. Berorientasi objek
(Object Oriented) Java mengunakan pemrograman berorientasi objek yang
membuat program dapat dibuat secara modular dan dapat dipergunakan
kembali. Pemrograman berorientasi objek memodelkan dunia nyata ke
dalam objek dan melakukan interaksi antar objek-objek tersebut
3. Terdistribusi
(Distributed) Java dibuat untuk membuat aplikasi terdistribusi secara
mudah dengan adanya networking libraries yang terintegrasi pada Java
4.
Interpreted Program Java dijalankan menggunakan interpreter yaitu Java
Virtual Machine (JVM). Hal ini menyebabkan source code Java
yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada
platform yang berbeda-beda
5. Robust Java
mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai
kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa
pemrograman lain. Java mempunyai runtime-exception handling untuk
membantu mengatasi error pada program.
6.
Secure Sebagai bahasa pemrograman untuk aplikasi internet dan
terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga
aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan
aplikasi tersebut
7. Architecture
Neutral Program Java bersifat independent platform.
Program cukup mempunyai satu buah versi yang dapat dijalankan pada
platform berbeda dengan menggunakan Java Virtual Machine
8.
Portable Source code maupun program Java dapat dengan mudah dibawa ke
platform yang berbeda-beda tanpa harus dikompilasi ulang
9.
Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang
dapat melakukan beberapa pekerjaan secara sekaligus dan simultan
10. Dynamic Java
didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada
suatu class dengan menambahkan properties ataupun method
dapat dilakukan tanpa menggangu program yang menggunakan class
tersebut.
Mekanisme eksekusi program di Java
Lingkungan
pemrograman pada Java menggunakan compiler sekaligus interpreter
agar dapat berjalan pada platform yang berbeda. Java
compiler melakukan kompilasi pada source code (.java)
menjadi Java bytecodes (.class.
Program Java hasil
kompilasi akan dapat dijalankan pada berbagai platform sistem komputer
dengan menggunakan Java Virtual machine (JVM). JVM disebut juga bytecodes
interpreter atau Java runtime interpreter. Tidak seperti bahasa pemrograman
lainnya, platform Java mempunyai dua komponen, yaitu:
1. Java Virtual
machine (JVM) yang merupakan fondasi untuk platform Java yang
dapat digunakan di berbagai platform perangkat keras.
2. Java
Application Programming Interface (Java API)yang
merupakan kumpulan komponen-komponen perangkat lunak siap pakai untuk
berbagai keperluan penulisan program.
Agar lebih mengerti
tentang Algoritma ini, silahkan klik link Video dibawah ini
Sumber :
http://ramosfransiskus.blogspot.co.id/2013/03/sebelum-belajar-algoritma-pemrograman.html
Komentar
Posting Komentar