Orang
barat membaca Al-Khuwarizmi menjadi Algorism yang sebenarnya tidak berhubungan
dengan kata Yunani arithmos yaitu angka akan tetapi dulunya digunakan untuk
menerangkan sistem desimal moderen untuk menulis dan memanipulasi angka-angka
khususnya dalam angka-angka arab.
Perubahan
kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering
dipelesetkan (corrupted) dengan Arithmetic, sehingga akhiran -sm berubah
menjadi -thm. Mengingat perhitungan dengan angka Arab sudah menjadi hal yang
biasa, maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode
perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.
Istilah Algorithm dalam Bahasa Indonesia disebut menjadi Algoritma.
B.
Definisi Algoritma
“Algoritma
merupakan suatu urutan langkah-langkah (steps) yang disusun secara logis dan
sistematis untuk menyelesaikan suatu masalah dan dapat dieksekusi. “
Dalam
defenisi diatas istilah “komputer” tidak terlihat sehingga sebuah algoritma
tidak selalu berhubungan dengan komputer. Dalam kehidupan sehari-hari banyak
terdapat proses yang dinyatakan dalam suatu algoritma. Contohnya, cara membuat
masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai sebuah
algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan.
Bila langkah-langkahnya tidak logis, maka tidak akan dapat dihasilkan masakan
yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca (mengikuti)
satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses itu
sesuai dengan yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses
disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer,
robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Melaksanakan
Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis
memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus
dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu
pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Kata
logis merupakan kata kunci dalam sebuah Algoritma karena setiap langkah dalam
Algoritma harus logis (jelas dan pasti) dan harus dapat ditentukan bernilai
salah atau benar. Sebuah algoritma diperbolehkan tanpa ada input tetapi minimal
harus ada 1 output. Jumlah langkah (steps) dalam sebuah algoritma harus
berhingga atau dengan kata lain harus ada akhir proses.
Umumnya
sebuah algoritma sering dikaitkan dengan perhitungan dan mengingat proses
perhitungan dilakukan dengan cepat oleh sebuah komputer maka secara umum
sekarang ini sebuah algoritma menjadi selalu berkaitan dengan komputer.
Komputer merupakan suatu alat elektronika yang mempunyai kemampuan untuk
melakukan perhitungan dan membuat keputusan logika dengan jumlah waktu yang
jauh lebih cepat dari kemampuan manusia. Pada saat ini, sebuah PC (personal
computer) dapat melakukan puluhan juta penjumlahan dalam waktu satu detik.
Sebuah output kadang-kadang memerlukan lebih dari satu algoritma khususnya
dalam Penginderaan Jarak Jauh yang umumnya memerlukan banyak algoritma untuk
menghasilkan sebuah output sehingga untuk menghasilkan sebuah output yang benar
dan cepat maka algoritma dalam Penginderaan Jarak Jauh selalu berhubungan
dengan komputer.
Perangkat
keras (hardware) merupakan berbagai peralatan yang terdapat di dalam suatu
sistem komputer seperti papan ketik (keyboard), layar (monitor), disk, memori,
dan unit pemroses (CPU=Central Processing Unit). Perangkat keras sebuah
komputer terdiri dari enam unit (logika) yang saling berhubungan membentuk
suatu organisasi komputer yaitu:
(i) Unit input, yang digunakan untuk menerima masukan data dan/atau program komputer dari berbagai alat masukan (input devices) dan menempatkannya ke unit lain sedemikian rupa sehingga dapat diproses.
(i) Unit input, yang digunakan untuk menerima masukan data dan/atau program komputer dari berbagai alat masukan (input devices) dan menempatkannya ke unit lain sedemikian rupa sehingga dapat diproses.
(ii)
Unit output, yang digunakan untuk menyimpan data atau informasi yang telah
diproses oleh komputer dan menempatkannya pada berbagai alat output (output
devices) sehingga dapat digunakan oleh pengguna.
(iii)
Unit memori, yang sering disebut sebagai memori utama digunakan untuk menyimpan
atau menampung masukan dari unit input, sehingga data (informasi) tersebut
selalu tersedia untuk diproses pada saat dibutuhkan.Unit ini juga menampung
hasil proses komputer sampai diperlukan oleh unit output.
(iv)
ALU(Arithmetic and Logic Unit), yang bertugas untuk melakukan operasi
aritmetika (perhitungan) seperti penjumlahan, pengurangan, perkalian, dan
pembagian. Disamping itu, ALU juga bertugas untuk melakukan keputusan dari
suatu operasi logika dasar maupun operasi boolean sesuai dengan instruksi
program seperti sama dengan (=), tidak sama dengan (≠), kurang dari (<),
kurang atau sama dengan (), dan lebih besar atau sama dengan (>), dan
lain-lain.
(v)
CPU (Central Processing Unit) merupakan ”brain” atau ”processor” dari sebuah
komputer yang merupakan koordinator dan penanggung jawab bagi operasi unit-unit
lainnya. Unit ini menyampaikan informasi pada unit input, menentukan kapan
informasi harus dibaca ke dalam unit memori, dan pada unit output, kapan harus
mengirim informasi dari memori ke alat-alat output.
(vi)
Secondary storage unit, yaitu media penyimpan data dan/atau program yang
non-volatile berupa Flash Drive, Optical Disc, Magnetic Disk, Magnetic Tape.
Media ini biasanya daya tampungnya cukup besar dengan harga yang relatif murah.
Program untuk menjalankan suatu komputer disebut dengan perangkat lunak (software). Dalam perangkat lunak termasuk sistem operasi, bahasa pemrograman, dan program aplikasi. Sistem operasi (operating system) atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan layanan inti dan umum maupun kontrol dan manajemen perangkat keras (hardware) serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Program untuk menjalankan suatu komputer disebut dengan perangkat lunak (software). Dalam perangkat lunak termasuk sistem operasi, bahasa pemrograman, dan program aplikasi. Sistem operasi (operating system) atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan layanan inti dan umum maupun kontrol dan manajemen perangkat keras (hardware) serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Sistem
Operasi bisa juga berfungsi sebagai penghubung antara lapisan hardware dan
lapisan software. Sistem Operasi ini melakukan semua tugas-tugas penting dalam
komputer, menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara
bersamaan dengan lancar, menjamin aplikasi software lainnya dapat menggunakan
memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses
kepada sistem file. Bilamana beberapa program aplikasi berjalan secara
bersamaan, maka
Sistem
Operasi akan mengatur jadwal yang tepat, sehingga sedapat mungkin semua proses
yang menggunakan prosesor (CPU) akan berjalan dengan lancar dan tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi
standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam
setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari
awal.
Secara
umum sebuah Sistem Operasi terdiri dari 5 (lima) bagian:
(1) Mekanisme boot yaitu meletakkan kernel ke dalam memory
(2) Kernel yaitu inti dari sebuah Sistem Operasi
(3) Command Interpreter atau shell yang bertugas membaca input dari pengguna
(4) Library (pustaka) yang menyediakan kumpulan fungsi dasar dan standar yang
dapat dipanggil oleh aplikasi lain
(5) Driver untuk berinteraksi
(1) Mekanisme boot yaitu meletakkan kernel ke dalam memory
(2) Kernel yaitu inti dari sebuah Sistem Operasi
(3) Command Interpreter atau shell yang bertugas membaca input dari pengguna
(4) Library (pustaka) yang menyediakan kumpulan fungsi dasar dan standar yang
dapat dipanggil oleh aplikasi lain
(5) Driver untuk berinteraksi
Dewasa
ini, sebagian besar Sistem Operasi membolehkan beberapa aplikasi berjalan
secara simultan pada waktu yang bersamaan yang disebut sebagai Multi-tasking
Operating System. Beberapa contoh Sistem Operasi yang berkembang saat ini
adalah MS-DOS, Microsoft Windows, Unix, Linux, dan Mac-OS. Dalam kuliah ini
akan dipelajari Sistem Operasi MS-DOS, Microsoft Windows, dan Linux. Sedangkan
bahasa pemrograman akan digunakan Interactive Data Language (IDL) software yang
dikeluarkan oleh ITTS Inc. Software ini akan dipelajari dan dikembangkan untuk
menghasilkan sebuah algoritma untuk aplikasi penginderaan jarak jauh.
C.
Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma
adalah independen terhadap bahasa pemrograman tertentu, artinya algoritma yang
telah dibuat tidak boleh hanya dapat diterapkan pada bahasa pemrograman
tertentu. Penulisan algoritma tidak terikat pada suatu aturan tertentu, tetapi
harus jelas maksudnya untuk tiap langkah algoritmanya. Namun pada dasarnya
algoritma dibagi menjadi beberapa macam berdasarkan format penulisannya, yaitu:
1.
Deskriptif
Algoritma
bertipe deskriptif maksudnya adalah algoritma yang ditulis dalam bahasa manusia
sehari-hari (misalnya bahasa Indonesia atau bahasa Inggris) dan dalam bentuk
kalimat. Setiap langkah algoritmanya diterangkan dalam satu atau beberapa
kalimat.
Sebagai
contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut
ini:
2.
Flow Chart (Diagram Alir)
Selain
dalam bentuk tulisan, algoritma juga dapat ditulis dalam bentuk diagram-diagram
dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algoritma yang
ditulis dengan simbol-simbol demikian yang dinamakan flow chart. Contoh
algoritma menentukan bilangan terbesar dari 3 bilangan seperti yang dicontohkan
sebelumnya, tetapi ditulis dalam bentuk flow chart.
Berikut
simbol – simbol Flow Chart yang sering digunakan :
D.
Pseudocode
Pseudo
berarti imitasi dan code berarti kode yang dihubungkan dengan instruksi yang
ditulis dalam bahasa komputer (kode bahasa pemrograman). Apabila diterjemahkan
secara bebas, maka pseudocode berarti tiruan atau imitasi dari kode bahasa
pemrograman.
Pada
dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan programmer untuk
berpikir terhadap permasalahan yang harus dipecahkan tanpa harus memikirkan
syntax dari bahasa pemrograman yang tertentu. Tidak ada aturan penulisan syntax
di dalam pseudocode. Jadi pseudocode digunakan untuk menggambarkan logika
urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.
Walaupun
pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan
suatu aturan-aturan penulisan syntax yang cukup sederhana agar pembaca dapat
lebih mudah dalam mempelajari algoritma-algoritma yang ada di dalam buku ini.
Pseudocode yang ditulis di dalam buku ini akan menyerupai (meniru)
syntax-syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak
akan ada kesulitan bagi pembaca untuk memahami algoritma-algoritma dalam buku
ini walaupun pembaca belum pernah mempelajari bahasa Pascal.
Contoh
algoritma menentukan bilangan terbesar dari tiga bilangan yang ditulis dalam
bentuk pseudocode bergaya buku ini.
Contoh-Contoh Algortima
Contoh 1 :
Ada tiga bejana yaitu bejana A, B. Bejana A berisi tinta berwarna merah, bejana B berisi tinta berwarna hijau.
Pertanyaannya adalah : bagaimana caranya agar bejana A dapat terisi dengan tinta berwarna hijau dari bejana B, dan bejana B terisi dengan tinta berwarna merah dari bejana A ?
Dari pertanyaan di atas dapat kita definisikan bahwa untuk memindahkan isi dari bejana A ke bejana B maka dibutuhkan satu lagi bejana kosong, misalnya adalah bejana C.
Maka langkah-langkahnya penyelesaiannya adalah :
Isi bejana C (asalnya kosong) dari bejana A (Tinta Merah)
Isi bejana A (yang sudah kosong) dari bejana B (Tinta Hijau)
Isi bejana B (yang sudah kosong) dari bejana C (Tinta Merah)
Jadi bejana A berisi tinta Hijau, bejana B berisi tinta Merah dan bejana C tetep kosong.
Tidak ada komentar:
Posting Komentar