bab i

13
BAB I PENGENALAN ALGORITMA 1. Tujuan Pembelajaran a. mahasiswa akan mampu Menjelaskan definisi algoritma dan pembuatan algoritma 2. Deskripsi umum 3. Penyajian 3.1. BAHASA PEMROGRAMAN 3.1.1. Bahasa (language) Adalah suatu sistim untuk berkomunikasi. Bahasa tertulis menggunakan simbol (yaitu huruf) untuk membentuk kata. Dalam ilmu komputer,bahasa manusia disebut bahasa alamiah (natural languages), dimana komputer tidak bisa memahaminya, sehingga diperlukan suatu bahasa komputer. 3.1.2. Bahasa pemrograman (programming language) Program merupakan sekumpulan instruksi yang merupakan penyelesaian masalah. Program ‘dimasukkan’ kedalam komputer, komputer mengerjakan instruksi- instruksi di dalam program tersebut, lalu memberikan hasil atau keluaran yang diinginkan. Agar program dapat dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Karena komputer adalah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang

Upload: ietha-zhy

Post on 12-Aug-2015

48 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Bab i

BAB I

PENGENALAN ALGORITMA

1. Tujuan Pembelajaran

a. mahasiswa akan mampu Menjelaskan definisi algoritma dan pembuatan

algoritma

2. Deskripsi umum

3. Penyajian

3.1. BAHASA PEMROGRAMAN

3.1.1. Bahasa (language) Adalah suatu sistim untuk berkomunikasi. Bahasa

tertulis menggunakan simbol (yaitu huruf) untuk membentuk kata. Dalam ilmu

komputer,bahasa manusia disebut bahasa alamiah (natural languages), dimana

komputer tidak bisa memahaminya, sehingga diperlukan suatu bahasa komputer.

3.1.2. Bahasa pemrograman (programming language)

Program merupakan sekumpulan instruksi yang merupakan penyelesaian

masalah. Program ‘dimasukkan’ kedalam komputer, komputer mengerjakan

instruksi-instruksi di dalam program tersebut, lalu memberikan hasil atau keluaran

yang diinginkan. Agar program dapat dilaksanakan oleh komputer, program

tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Karena

komputer adalah mesin maka program harus ditulis dalam bahasa yang khusus

dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang digunakan

dalam menulis program dinamakan bahasa pemrograman.

Jadi bahasa pemrograman yaitu kumpulan perintah-perintah bermakna,

berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna

didalam penyelesaian masalah.

Dalam pengertian luas pemrograman meliputi seluruh kegiatan yang tercakup

dalam : Pembuatan program, termasuk analisis kebutuhan (requirement's

analysis), Keseluruhan tahapan dalam perencanaan (planning) , perancangan

(design) dan pewujudannya (implementation).

Dalam pengertian yang lebih sempit, pemrograman merupakan :

Pengkodean (coding atau program writing = penulisan program)

Page 2: Bab i

Pengujiannya (testing) berdasarkan rancangan tertentu.

Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan

program – program terapan komersial yang membedakan antara system analyst

yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan

perancangan program dengan pemrogram (programmer) yang bertugas membuat

kode program dan menguji kebenaran program.

Pemrograman berkaitan dengan komputer, yang digunakan untuk membantu

menyelesaikan persoalan.

• Strategi penyelesaian masalah oleh komputer mesti ditanamkan pada mesin

tersebut oleh manusia melalui suatu program oleh suatu bahasa pemrograman.

• Untuk menghasilkan program, manusia mesti mengunakan paradigma yang

memiliki prioritas dan keterbatasan. Program merupakan pernyatan yang disusun

menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara

logis dan sistematis untuk menyelesaikan masalah.

• Bahasa pemrograman adalah prosedur penulisan program, umumnya terdiri dari

3 faktor utama:

Sintaks, merupakan aturan penulisan bahasa pemrograman.

Semantik, adalah arti atau maksud yang terkandung pada statemen.

Kebenaran logika, adalah berhubungan benar tidaknya urutan statemen.

Produk yang dihasilkan oleh seorang pemrogram adalah program dengan

rancangan benar (metodologis & sistematis) yang dapat dieksekusi oleh mesin,

berfungsi dengan benar, sanggup melayani segala kemungkinan masukan dan

didukung dengan adanya dokumentasi.

3.1.3. GENERASI BAHASA PEMROGRAMAN

a. Generasi Pertama : BAHASA MESIN

Bahasa mesin adalah bahasa internal komputer yang mengeksekusi secara

langsung tanpa terjemahan (translation). Disebut generasi pertama karena

merupakan jenis yang paling awal dikembangkan: tahun 1940-an dan awal

1950-an semua program harus dikodekan dalam bahasa mesin. Pemrograman

dalam bahasa mesin :

Page 3: Bab i

Akan menyita waktu dan kondusif untuk membuat kesalahan

Berbeda untuk setiap jenis komputer, sehingga bergantung pada komputer

dan tidak standar

Semua program harus ada dalam bahasa mesin agar dapat dieksekusi,

sehingga bahasa lain yang ditulis programer perlu diterjemahkan oleh

komputer ke bahasa mesin untuk eksekusi.

b. Generasi Kedua : BAHASA ASSEMBLY

Penggunaan komputer secara komersial tahun 1950-an mengakibatkan

dikembangkannya bahasa assembly, Ciri-Ciri bahasa assembly :

Kode ditandai dengan nama yang mudah diingat seperti ADD, SUB, dan

MULT

Alamat penyimpanan (storage addresses) nyata di mana data ditempatkan

dapat didefinisikan dengan nama-nama seperti AMT1 dan AMT2 untuk

memudahkan rujukan

Bahasa assembly sangat menyerupai bahasa mesin, sehingga untuk

menjadi programmer bahasa assembly yang cakap kita harus memahami

arsitektur mesin, yakni bagaimana mesin itu secara fisik memproses data.

Sama seperti bahasa mesin, bahasa assembly tergantung komputer (tidak

portable). Untuk menerjemahkan kode-kode diperlukan program khusus yang

disebut ASSEMBLER. Bahasa assembly masih digunakan karena begitu mirip

dengan bahasa mesin dengan kode yang sangat efisien Untuk membuat system

software lebih disukai menggunakan bahasa assembly karena sangat efisiean

dalam penggunaan komputer (butuh memori yang kecil)

c. Generasi Ketiga : Bahasa Tingkat Tinggi

Penggunaan komputer dalam bisnis berkembang sangat dramatis pada tahun

1950- an. Bahasa mesin dan assembly terlalu sulit, sehingga muncul third-

generation languages (3GLs) yang lebih mudah untuk program dan portable.

Disebut tingkat tinggi karena mudah dipelajari & program tingkat-tinggi

memerlukan proses penerjemahan oleh komputer yang sangat rumit yang

disebut COMPILER atau INTERPRETER Seperti generasi pendahulunya

1GL dan 2GL, 3GL disebut bahasa prosedural (4GL dan 5GL disebut

Page 4: Bab i

bahasa nonprosedural), yakni program harus menentukan kumpulan

instruksi yang tepat yang dibutuhkan untuk menyelesaikan tugas yang

diberikan

Contoh bahasa tingkat-tinggi :

FORTRAN (FORmula TRANslator)

Cobol

Pascal

BASIC

MODULA-2

ADA

Object-oriented programming language

Bahasa C disebut bahasa “tingkat-menengah” karena format instruksinya dengan

bahasa tingkat-tinggi sekaligus bisa berinteraksi langsung dengan hardware.

d. Generasi Keempat

Ciri-ciri :

Mudah untuk dipelajari dan dipahami.

Tepat untuk pengaksesan database

Memfokuskan pada memaksimalkan produktivitas manusia dari pada

minimisasi waktu computer

Nonprosedural

Tersedia dalam software paket yang dapat digunakan untuk

mengembangkan aplikasi yang diinginkan

Contoh: Query language seperti SQL (structured query language), QBE

(query-by-example) dan INTELLECT, Report generator.

3.1.4. PENERJEMAH BAHASA PEMROGRAMAN

Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan

Compiler & Interpreter.

Page 5: Bab i

a. Compiler adalah suatu program yang menterjemahkan bahasa program

(source code) ke dalam bahasa objek (object code) secara keseluruhan

program.

b. Interpreter berbeda dengan compiler, Interpreter menganalisis dan

mengeksekusi setiap baris dari program tanpa melihat program secara

keseluruhan. Keuntungan dari Interpreter adalah dalam eksekusi yang bisa

dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alasan ini

interpreter digunakan pada saat pembuatan program berskala besar.

Compiler memerlukan waktu untuk membuat suatu program yang dapat

dieksekusi oleh komputer. Tetapi, program yang diproduksi oleh Compiler bisa

berjalan lebih cepat dibandingkan dengan yang diproduksi oleh Interpreter, dan

bersifat independen.

C. Perbedaan Interpreter dan Compiler

Page 6: Bab i

3.2. ALGORITMA

3.2.1. Definisi Algoritma

Algoritma berasal dari kata algoris dan ritmis yang pertama kali

diungkapkan oleh Abu Ja’far Mohammad Ibn Musa Al Khowarizmi (825M)

dalam buku Al-Jabr Wa-al Muqobla. Dalam pemrograman algortima berarti suatu

metode khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang

terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk

menyelesaikan masalah dengan bantuan komputer. Langkah-langkah tersebut

harus logis ini berarti nilai kebenarannya harus dapat di tentukan, benar atau

salah. Langah-langkah yang tidak benar dapat memberikan hasil yang salah.

Secara sederhanya algoritma dapat didefinisikan urutan langkah-langkah

logis , penyelesaian masalah yang disusun secara sistematis. Kata logis berarti

bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-

Page 7: Bab i

langkah yang tidak benar dapat memberikan hasil yang salah. Algorithma

merupakan jantung ilmu komputer atau informatika tetapi algoritma tidak selalu

identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari banyak terdapat

proses yang digambarkan dalam suatu algorithma.

Contoh 1:

Resep masakan/membuat kue : (resep kue), membuat pakaian (pola

pakaian), merakit mobil (panduan merakit).

Contoh 2 :

Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air

berwarna merah dan gelas B berisi air berwarna biru, kita ingin

menukarkan isi air kedua gelas tersebut, sehingga gelas A berisi air

berwarna biru dan gelas B berisi air berwarna merah.

Algoritma Tukar_Isi_Gelas :

Tuangkan air dari gelas A ke gelas B

Tuangkan air dari gelas B ke gelas A

Logis, karena yang terjadi bukan pertukaran tetapi percampuran

antara air di gelas A dengan air di gelas B. Sehingga algoritma

Tukar_Isi_Gelas diatas salah. Dari permasalahan diatas algoritma yang

benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air

pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk

menampung salah satu air dalam gelas tersebut misalkan gelas C.

Sehingga algoritma yang benar dari permasalah diatas adalah :

Algoritma Tukar_Isi_Gelas

Tuangkan air dari gelas A ke gelas C

Tuangkan air dari gelas B ke gelas A

Tuangkan air dari gelas C ke gelas B

Page 8: Bab i

Proses pertukaran :

Tuangkan air dari gelas A ke gelas C

A B C

Tuangkan air dari gelas B ke gelas A

A B C

Tuangkan air dari gelas C ke gelas B

A B C

Keadaan setelah pertukaran

A B C

Sekarang algoritma Tukar_Isi_Gelas diatas sudah diperbaiki, sehingga isi air pada

gelas A dan isi air pada gelas B dapat dipertukarkan dengan benar.

Page 9: Bab i

Tahap pemecahan masalah adalah Proses dari masalah hingga terbentuk

suatu algoritma. Tahap implementasi adalah proses penerapan algoritma hingga

menghasilkan solusi. Solusi yang dimaksud adalah suatu program yang

merupakan implementasi dari algoritma yang disusun.

Contoh 3 :

Jika seseorang ingin mengirim surat kepada kenalannya ditempat lain, langkah

yang harus dilakukan adalah:

Menulis surat

Surat dimasukkan kedalam amplop tertutup

Amplop ditempeli perangko secukupnya.

Pergi keKantor Pos terdeka tuntuk mengirimkannya

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan

berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa

algoritma yang dirancang baik maka proses pemrograman akan menjadi salah,

rusak, atau lambat dan tidak efisien.

3.2.2. CIRI-CIRI ALGORITMA YANG BAIK.

a. Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan

b. Algortima ditulis dengan format yang mudah dipahami dan mudah

diimplementasikan ke dalam bahasa pemrograman ( Flexible dan

portable ) :

Flexible untuk dikembangkan lebih lanjut

Portable untuk digunakan pada berbagai sistem dan mesin

c. Bersih dari kesalahan sistem ataupun lojik

d. Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam

sejumlah waktu yang masuk akal.

e. Algortima ditulis dengan bahasa yang standar secara sistematis dan rapi

sehingga tidak menimbulkan arti ganda (ambiguous).

f. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah

dilakukan.

Page 10: Bab i

g. Algoritma memiliki logika perhitungan atau metode yang tepat dalam

menyelesaikan masalah.

3.2.3. ATURAN PENULISAN TEKS ALGORITMA

Ada dua cara penulisan Algoritma, yaitu :

a. Uraian deskriftif, Menggunakan bagan-bagan/symbol-simbol tertentu

seperti Diagram Alir (Flowchart)

b. Menggunakan kata-kata atau kalimat yang mirip dengan bahasa

pemrograman yaitu Psudo Code