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:
1.
Mendefinisikan masalah
2.
Mencari solusinya
3.
Menentukan algoritma
4.
Menulis program
5.
Menguji program
6.
Mendokumentasikan program
7.
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.
Proses Eksekusi Program
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.
Simbol-simbol yang sering digunakan dalam
flowchart antara lain:
Contoh flowchart untuk menghitung jumlah dua
buah bilangan yakni sebagai berikut :

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)
seperti ditunjukkan oleh Gambar Berikut :
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.
Sumber : http://ramosfransiskus.blogspot.com/2013/03/sebelum-belajar-algoritma-pemrograman.html
Sumber : http://ramosfransiskus.blogspot.com/2013/03/sebelum-belajar-algoritma-pemrograman.html
Tidak ada komentar:
Posting Komentar