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
1.
Langkah yang pertama dilakukan adalah
mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan
masalah yang ada serta ditentukan pula input dan output program.
2.
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.
3.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.
Semoga Bermanfaat yah :)
Tidak ada komentar:
Posting Komentar