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.
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
ijin lepas tayang situs penghitungan algoritma terapan berbasis angka main gan
ReplyDeletePrediksi Angka Bidakcatur
Prediksi Bidakcatur Sgp
Prediksi Jitu Hk
Bocoran Sydneypools
semoga info yang dibagi disini bisa bermanfaat