Dasar Pemrograman : Algoritma dan Flowchart
Tujuan Pembelajaran
Diharapkan dapat:
1. Mengerti tentang algoritma
2. Membuat algoritma dari
suatu permasalahan
3. Mengerti tentang flowchart
4. Membuat flowchart dari
suatu permasalahan
Pendahuluan
1. Komputer adalah alat bantu
untuk menyelesaikan masalah
2. Dalam menyelesaikan masalah
dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam
sekumpulan instruksi
3. sekumpulan instruksi yang
dimengerti oleh komputer disebut dengan program
Bahasa Pemrograman
1. Program harus ditulis dalam
suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman,
dibedakan menjadi:
·
Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin.
·
Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa
Pascal, bahasa C, dll.
2. Program yang ditulis dalam
bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner
digit) dengan menggunakan penerjemah.
Penerjemah:
·
Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
·
Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa
Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan
langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan
suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari
ilmu komputer
2. Algoritma adalah
urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu
masalah
3. Algoritma adalah blueprint
dari program
4. Sebaiknya disusun sebelum
membuat program
5. Kriteria suatu algoritma:
·
Ada input dan output
·
Efektifitas dan efisien
·
Terstruktur
Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B,
bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna
biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari
bejana A ke dalam bejana B
2. 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 pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana,
diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya
bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah
sebagai berikut:
Diberikan dua buah bejana A dan B,
bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru.
Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari
bejana A ke dalam bejana C.
2. Tuangkan larutan dari
bejana B ke dalam bejana A.
3. Tuangkan larutan dari
bejana C ke dalam bejana B.
Ciri Penting Algoritma
1. Algoritma harus berhenti
setelah menjalankan sejumlah langkah terbatas.
2. Setiap langkah harus
didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3. Algortima memiliki nol atau
lebih masukan.
4. Algoritma memiliki nol atau
lebih keluaran.
5. Algoritma harus efektif
(setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk
akal).
Memrogram dan Bahasa Pemrograman:
1. Belajar memrogram adalah
belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu
notasi tertentu yang mudah dibaca dan dipahami.
2. Belajar bahasa pemrograman
adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya,
tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam
bahasa itu saja.
Notasi Algoritma:
1. 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.
2. Notasi algoritma dapat
berupa:
·
Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa,
jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut
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 salah
Keterangan = tidak lulus
Tulis nama dan keterangan.
Tahapan Pembuatan Program:
. Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
. Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2. Merealisasikan dengan
langkah-langkah sebagai berikut:

Contoh Algoritma:
1. Mengirim surat kepada
teman:
·
Tulis surat pada secarik kertas surat
·
Ambil sampul surat
·
Masukkan surat ke dalam sampul
·
Tutup sampul surat dengan perekat
·
Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·
Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·
Tempel prangko pada sampul
·
Bawa sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu
bilangan merupakan bilangan ganjil atau bilangan genap:
·
Masukkan sebuah bilangan sembarang
·
Bagi bilangan tersebut dengan 2
·
Hitung sisa hasil bagi pada langkah 2
·
Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·
Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Flowchart
1. Flowchart adalah
bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian
suatu masalah
2. Merupakan cara penyajian
dari suatu algoritma
3. Ada 2 macam flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·
Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah
dalam suatu program.
Simbol-simbol Flowchart
1. Flow Direction Symbols
(simbol penghubung alur)
2. Processing Symbols (simbol
proses)
3. Input-Output Symbols
(simbol input-output)
Tabel Simbol-simbol Flowchart

Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil
analisa suatu masalah
3. Flowchart dapat bervariasi
antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3
bagian utama:
·
Input
·
Proses
·
Output
5. Hindari pengulangan yang
tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6. Jalannnya proses
digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali
dari satu titik START dan diakhiri dengan End.
Pseudocode:
1. 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)
Aturan Penulisan Teks Algoritma
1. 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.
2. Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama
tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3. Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis
dengan menggunakan notasi yang akan dijelaskan selanjutnya.
Contoh Pseudocode:
1. Algoritma
Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
{
Menghitung luas dan keliling untuk
ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran,
menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti
keluaran
} (ini spesifikasi algoritma)
2. Deklarasi
const phi =
3.14 {nilai konstanta phi}
R
: real {jari-jari lingkaran}
Luas
: real {luas lingkaran}
Keliling : real
{keliling lingkaran}
3.
Deskripsi
Read (R)
Luas
= phi * R * R
Keliling
= 2 * phi * R
Write (luas,
keliling)
Mohon maaf jika posting ini ada
beberapa yang sama dengan sumbernya.
Tidak ada komentar:
Posting Komentar