Dasar Dasar Algoritma Dan Pemrograman
Sebelum belajar algoritma dan 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 dan pemrograman akan diulas sebagai berikut :
Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M.
- Tuangkan larutan dari bejana A ke dalam bejana C.
- Tuangkan larutan dari bejana B ke dalam bejana A.
- Tuangkan larutan dari bejana C ke dalam bejana B.
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
Algoritma memiliki nol atau lebih masukkan.
Algoritma memiliki nol atau lebih keluaran.
Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
Bahasa tingkat menengah[MLL] : Assembly
Bahasa tingkat rendah [LLL] : Machine Code
Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Hal ini ditekankan padaah. Hal ini ditekankan adala urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Hal pertama yang ditekankan adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Contoh; Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Algoritma Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
Ciri Penting Algoritma
struktur komputer
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah langkah penyelesaian masalah dalam sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman dapat dikategorikan dalam :
Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman
NOTASI ALGORITMA NARASI
Contoh; Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
NOTASI ALGORITMA PSEUDOCODE
Contoh; Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
NOTASI ALGORITMA FLOWCHART
flowchart kelulusan_mhs
Aturan Penulisan Algoritma;
Judul algoritma;Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
Deklarasi; Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
Deskripsi; Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.
PROGRAM
Pengertian Dasar Program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.
Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti oleh komputer atau dikenal dengan bahasa pemrograman.
Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution
||
Storage
Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.
Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.
Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.
Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)
Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.
Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.
DATA
Data adalah bahan mentah yang akan diolah menjadi informasi sehingga dapat dipergunakan oleh user atau pemakai.
1. Tipe Data Dasar : Merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh bahasa pemrograman.
Tipe data dasar dibagi menjadi lima bagian yaitu :
a. Numerik, yaitu menyimpan data berupa angka
b. Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
c. Boolean, yaitu tipe data untuk merepresentasikan True atau False.
d. Character, yaitu tipe data untuk menyimpan rangkaian karakter.
e. Internationalization, disebut I18N
2. Tipe Data Terstruktur : Merupakan tipe data campuran dari berbagai tipe data dasar. Contohnya array, record, string, list dan file.
3. Tipe Data didefinisikan oleh Pemakai : Tipe data ini biasanya disebut Enumerasi.
4. Tipe Data Penunjuk : Contoh tipe data penunjuk adalah pointer
Model Komputasi
Model Komputasi adalah suatu kumpulan dari nilai dan operasi-operasi. Ada 3 dasar model komputasi :
1. Model Fungsional, yaitu model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan operasi, aplikasi, fungsi dan komposisi fungsi.
2. Model Logika, yaitu logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.
3. Model Imperative, yaitu model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.
Prinsip Bahasa Pemrograman
Empat prinsip dasar perancangan bahasa pemrograman adalah:
1. Sintaks, menjelaskan bagaimana struktur program yang benar.
2.Tipe sistem dan semantik, menunjukkan tipe nilai yang dapat dimanipulasi oleh program dan arti(semantik) dari program, mencakup juga aturan penamaan entitas (variabel,fungsi,class,parameter,dll).
3. Manajemen memori, menunjuk kepada sekumpulan teknik yg membantu kita untuk memahami pemetaan letak dari nilai, struktur data, dan struktur program di dalam memori.
4. Exception handling, mengenai penanganan exception (hal-hal yang tak terduga seperti kesalahan input ketika menjalankan program).
Definisi Sintaks, Semantik, dan Pragmatik
Sintaks : Aturan gramatikal / komposisi suatu program yang mengatur tata cara penulisanhuruf, angka dan karakter lain.
Contoh : Pada pembuatan program Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1; X:=X+1;
Semantik : Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10
Pragmatik : Kemampuan pemakai dalam mengaitkan kalimat dengan kontek-kontek yang sesuai bagi kalimat tersebut.
Contoh : (A+B)*(A-B)
0 comments:
Post a Comment