1.
Dasar Teori
-
Dasar Teori tentang algoritma dan
pemrograman
1.1 Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma
sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda
menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal
kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika
menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang
terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul
Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga memperoleh
akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm
muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga
akhiran –sm berubah menjadi –thm. Karena 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. Dalam bahasa Indonesia, kata algorithm diserap menjadi
algoritma.
1.2 Pemrograman
Pemrograman
berasal dar i kata program yang diberi awalan pe– dan akhiran –an. Dalam
buku ini, program berarti progr am komputer. Pengertian program
computer menurut John M. Zelle,
Ph.D. dalam bukunya yang
berjudul “Python Programming:
An Introduction to Computer
Science” (2002, p1)
adalah sekumpulan instruksi langkah per langkah yang member
itahukan mengenai yang harus dilakukan computer secara tepat.
Pemrograman adalah segala
kegiatan pembuatan program
computer.
Kemudian terdapat
pula istilah bahasa
pemrograman yang berarti
bahasa yang digunakan dalam
pembuatan program komputer. Berdasarkan
pengertian algor itma dan
pemrograman, maka dapat
dikatakan bahwa progr am merupakan
hasil penerapan dari
algoritma- algoritma. Akan tetapi, dalam
buku ini tidak dibahas materi
mengenai pembuatan program
komputer. Buku ini memfokuskan teknik-teknik pembuatan algoritma
itu sendir i. Nama
mata kuliah Algor itma dan
Pemrogr aman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma
yang dapat diterapkan dalam pemrograman.
-
Karakteristik algoritma
1.
Algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh,
dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika
n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3,
dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti
mengindikasikan bahwa program tersebut berisi algoritma yang salah.
2.
Setiap
langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca
harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak
negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah
bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan
“berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p
dengan 10 buah bilangan bulat positif”
3.
Algoritma
memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan
kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah
masukan, yaitu m dan n.
4.
Algoritma
mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau
besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1
keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari
kedua bilangan.
5.
Algoritma
harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di
kerjakan dalam sejumlah waktu yang masuk akal.
-
Flowchart
Selain dalam bentuk tulisan,
algoritma juga dapat ditulis dalam
bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan
langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol demikian
yang dinamakan flow chart .
Mengenai lambang- lambang yang
digunakan akan dibahas
pada bagian selanjutnya. Sekarang
diberikan suatu contoh algoritma menentukan bilangan terbesar dar i 3 bilangan
seperti yang dicontohkan sebelumnya, tetapi ditulis dalam bentuk flow chart.
-
Psoudecode
Pseudo berarti
imitasi dan code ber arti kode yang dihubungkan dengan
instruksi yang ditulis dalam
bahasa komputer (kode
bahasa pemrograman). Apabila diterjemahkan secar a
bebas, maka pseudocode
berarti tiruan atau
imitasi dari kode bahasa pemrograman. Pada dasarnya,
pseudocode merupakan suatu
bahasa yang memungkinkan programmer untuk berpikir
terhadap per masalahan yang harus dipecahkan tanpa harus memikirkan syntax
dar i bahasa pemrogr aman
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 seder hana agar pembaca dapat
lebih mudah dalam
mempelajari algoritma-algor itma
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- algor itma dalam buku
ini walaupun pembaca belum pernah mempelajar i bahasa Pascal.
-
Bahasa pemrograman
Bahasa pemrograman, atau sering
diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi
standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu
himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan
program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan
secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan
disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil
dalam berbagai situasi.
Menurut tingkat kedekatannya dengan
mesin komputer, bahasa pemrograman terdiri dari:
Bahasa Mesin, yaitu memberikan perintah
kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
Bahasa Tingkat Rendah, atau dikenal
dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah
kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya
MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa Tingkat Menengah, yaitu bahasa
komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat
contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik,
contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa Tingkat Tinggi, yaitu bahasa
komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia,
contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa pemrograman
digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan
sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat
Rendah.
Tidak ada komentar:
Posting Komentar