ALGORITMA
ALGORITMA
Pendahuluan
Komputer pada dasarnya adalah mesin yang
tidak bisa apa-apa. Kita harus memberikan perintah untuk dapat berbicara
(berkomunikasi) dengan komputer, dengan cara memberikan serangkaian instruksi
kepada komputer agar komputer dapat memecahkan
masalah. Langkah-langkah yang kita lakukan dalam memberikan instruksi untuk
memecahkan masalah kita namakan pemrograman komputer. Untuk menyusun sebuah
program yang besar dan kompleks, pemrogram membutuhkan tahapan penyusunan yang
sistematis dan terpadu, yaitu:
1.
Definisi
Masalah
2.
Analisis
Kebutuhan
3.
Penyusunan
Algoritma
4.
Pengkodean/Pemrograman
5.
Testing
dan Debugging
6.
Pemeliharaan
7.
Dokumentasi
Algoritma
Algoritma
adalah kunci dari bidang ilmu komputer, dan pada dasarnya setiap hari kita
melakukan aktivitas algoritma. Kata algoritma berasal dari sebutan Algorizm
(Abu Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli matematika Uzbekistan )
Definisi Algoritma
- 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.
- Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis dan logis.
- Algoritma adalah urutan logis pengambilan
keputusan untuk pemecahan masalah.
è Langkah-langkah
dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Pembuatan
algoritma harus selalu dikaitkan dengan:
- Kebenaran algoritma
- Kompleksitas (lama dan jumlah waktu proses dan
penggunaan memori)
Kriteria
Algoritma yang baik:
- Tepat, benar, sederhana, standar dan efektif
- Logis, terstruktur dan sistematis
- Semua operasi terdefinisi
- Semua proses harus berakhir setelah sejumlah
langkah dilakukan
- Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda
Proses
Penyelesaian Masalah
MASALAH->ALGORITMA->SOLUSI
Contoh
algoritma menulis surat
:
- Mempersiapkan kertas dan amplop
- Mempersiapkan alat tulis (pena, pensil)
- Mulai menulis
- Memasukkan kertas ke dalam amplop
- Pergi ke kantor pos
Contoh
algoritma untuk menghitung luas lingkaran:
- Masukan r (=jari-jari lingkaran)
- Tentukan phi (=3.14)
- L= Phi*r*r
- Tulis L
NO.
|
Proses
|
Algoritma
|
Contoh Langkah dalam algoritma
|
1.
|
Membuat Kue
|
Resep kue
|
Masukan telur
ke dalam wajan, kocok sampai mengembang
|
2.
|
Membuat
pakaian
|
Pola pakaian
|
Gunting kain
dari pinggir kiri bawah kearah kanan sejauh 5 cm
|
3.
|
Praktikum
reaksi kimia
|
Panduan
praktikum
|
Campurkan 10
ml air ke dalam 15 ml garam
|
4.
|
Merakit mobil
|
Panduan
merakit
|
Sambungkan
komponen A dengan komponen B
|
5.
|
Kegiatan
sehari-hari
|
Jadwal harian
|
Pukul 15.00:
tidur siang
Pukul 16.00:
membuat PR
|
6.
|
Memainkan
musik
|
Papan not
balok
|
Not balok
|
7.
|
Mengisi voucer
HP
|
Panduan pengisian
|
Tekan 888
Masukan kode
voucer
|
Penyajian Algoritma:
1. Teknik
tulisan;
·
English Structure
·
Pseudocode
2. Gambar;
- Metode structure chart,
- Hierarchy plus input-process-output
- Flowchart
- Nassi Schneiderman chart
English
Structure:
- Menggunakan bahasa manusia (Inggris)
- Menggambarkan suatu algoritma yang akan
dikomunikasikan kepada pemakai sistem
Pseudocode
- Pseudo= imitasi atau mirip / menyerupai
- Code=program
- Kode yang mirip dengan kode pemrograman yang
sebenarnya
- Menggambarkan Algoritma yang akan dikomunikasikan
kepada programmer
- Lebih rinci dari English Structure (mis: dalam
menyatakan tipe data yang digunakan)
Structure
Chart (bagan terstruktur)
·
Digunakan untuk mendefinisikan dan mengilustrasikan
organisasi dari system secara berjenjang
·
Berbentuk modul dan submodul
·
Menunjukkan hubungan elemen data dan elemen control
serta hubungan antar modul
Aturan
Penulisan Teks Algoritma
Setiap
algoritma akan selalu terdiri dari :
- Judul
(header)
- Deklarasi
(kamus)
- Deskripsi
Algoritma

{Penjelasan
tentang algoritma, berisi uraian singkat cara kerja program, kondisi awal dan
akhir dari program} è
spesifikasi algoritma
Catatan,
dalam menulis nama-nama dalam algoritma harus mempunyai makna yang mencerminkan
proses, sifat atau identitas lainnya yang melekat dengan suatu proses, tipe,
konstanta, variabel, sub-program dan lain-lainnya. Nama-nama yang bermakna
disebut mnemonic.

(Semua nama yang
dipakai, meliputi nama file, nama variable, nama konstanta, nama prosedur serta
nama fungsi }

(Semua
langkah/aksi algoritma }
Contoh:
1). Kepala algoritma: Algoritma Luas_Lingkaran { Menghitung luas lingkaran dengan ukuran jari-jari tertentu .Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke piranti keluaran }
1). Kepala algoritma: Algoritma Luas_Lingkaran { Menghitung luas lingkaran dengan ukuran jari-jari tertentu .Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke piranti keluaran }
2)
Deklarasi algoritma:
DEKLARASI { nama konstanta }
const PHI = 3.14; { Nilai phi = 22/7 }
{nama
peubah } var R : real; { input jejari lingkaran bilangan riil }
l_Lingkaran : real; { luas lingkaran bilangan riil }
l_Lingkaran : real; { luas lingkaran bilangan riil }
{ nama sub program } procedure TUKAR
(input/output A:integer, input/output B:integer)
{Mempertukankan
nilai A dan B.Parameter A dan B sudah terdefinisi nilainya. Setelah pertukaran,
A berisi nilai B dan B berisi nilai A }
3) Deskripsi algoritma:
{ Baca data jejari lingkaran
R.Jika R <= 0 tulis pesan data salah, selain itu hitung luas ingkaran.
Tampilkan luas lingkaran. }
baca(R);
jika R <= 0 then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
tulis(l_Lingkaran);
baca(R);
jika R <= 0 then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
tulis(l_Lingkaran);
BAHASA PEMROGRAMAN
Komputer mengerjakan
transformasi data berdasarkan kumpulan perintah - program - yang telah dibuat
oleh pemrogram. Kumpulan perintah ini harus dimengerti oleh komputer,
berstruktur tertentu (syntax) dan bermakna. Bahasa pemrograman merupakan notasi
untuk memberikan secara tepat program komputer.
Generasi bahasa pemrograman:
• Generasi I: machine language
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: BASIC, COBOL, C, PASCAL, dsb.
• Generasi IV: 4 GL (fourth-generation language): SQL dan database
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: BASIC, COBOL, C, PASCAL, dsb.
• Generasi IV: 4 GL (fourth-generation language): SQL dan database
§ Generasi V : Expert System
dan OOP.
Jenis Bahasa
Pemrograman
Jenis Program
|
Bahasa Terbaik
|
Bahasa Terburuk
|
Data
terstruktur
|
|
Assembler,
BASIC
|
Proyek
cepat
|
BASIC
|
PASCAL,
|
Eksekusi
cepat
|
Assembler,
C
|
BASIC,
Intrepreter Language
|
Kalkulasi
matematika
|
FORTRAN
|
PASCAL
|
Menggunakan
memori dinamis
|
PASCAL,
C
|
BASIC
|
Lingkungan
bermemori terbatas
|
BASIC,
Assembler, C
|
FORTRAN
|
Program
real-time
|
|
BASIC,
FORTRAN
|
Manipulasi
string
|
BASIC,
PASCAL
|
C
|
Program
mudah dikelola
|
PASCAL,
|
C,
FORTRAN
|
Komentar
Posting Komentar