Makalah algoritma dan hubungannya dengan pemrograman

17

Click here to load reader

Transcript of Makalah algoritma dan hubungannya dengan pemrograman

Page 1: Makalah algoritma dan hubungannya dengan pemrograman

ALGORITMA DAN HUBUNGANNYA

DENGAN PEMROGRAMAN

Oleh :

Kelompok 1

1.A. Fabiola Awalet (H121 12 013)

2.Aliah Haerunnisa (H121 12 003)

3.Anggun Sarlina S (H121 12 017)

4.Nirwana Daswan (H121 12 253)

5.Selpadina Indriani (H121 12 009)

6.Siti Aisyah Aldillah (H121 12 267)

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS HASANUDDIN

MAKASSAR

2013

Page 2: Makalah algoritma dan hubungannya dengan pemrograman

KATA PENGANTAR

Assalamu Alaikum Wr. Wb.

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena berkat

rahmat-Nya sehingga kami bisa menyelesaikan makalah Pengantar Pemrograman

yang berjudul “ Algoritma dan Hubungannya dengan Pemrograman “.

Dalam penyusunan makalah ini, kami telah berusaha semaksimal mungkin

sesuai dengan kemampuan kami. Namun sebagai manusia biasa, kami tidak luput

dari kesalahan dan kekhilafan baik dari segi teknik penulisan maupun tata bahasa.

Walaupun demikian, kami berusaha sebisa mungkin menyelesaikan makalah ini

meskipun tersusun sangat sederhana namun mudah-mudahan memberi manfaat

yang tidak sederhana .

Kami menyadari bahwa keberhasilan penyusunan makalah kami ini sangat

didukung oleh kerja sama antara dosen dan beberapa kerabat yang memberi

berbagai masukan yang bermanfaat bagi kami. Untuk itu kami mengucapkan

terima kasih kepada pihak tersebut yang telah bersedia meluangkan waktunya

untuk memberikan arahan dan saran demi kelancaran penyusunan makalah ini.

Semoga makalah ini dapat bermanfaat bagi kami dan para pembaca pada

umumnya. Kami mengharapkan saran serta kritik dari berbagai pihak yang

bersifat membangun.

Wassalamu Alaikum Wr. Wb.

Makassar, 20 Februari 2013

Kelompok 1

Page 3: Makalah algoritma dan hubungannya dengan pemrograman

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pesatnya teknologi, terutama teknologi komputer sudah tak bisa dipungkiri

lagi, bagi yang mengikuti perkembangannya, ia tidak akan dipandang sebelah

mata. Sebaliknya, bagi yang tidak mengikuti perkembangannya, bersiaplah untuk

mundur secara suka rela dari panggung kompetisi. Ibarat wabah, teknologi

komputer sudah menyusupi hampir semua bidang kehidupan manusia.

Dari pemerintah pusat sampai tingkat pemerintah desa, perusahaan-

perusahaan, supermarket, minimarket, perguruan tinggi, SLTA, SLTP, bahkan SD

hampir semuanya mengenal komputer. Saat ini, yang mempunyai lingkungan yang

semakin luas dan banyak diminati, juga dapat digunakan untuk menghasilkan uang

adalah dunia pemrograman komputer. Dalam dunia pemrograman komputer,

dikenal algoritma dan banyak bahasa pemrograman, seperti C, C++, Pascal, Basic,

Java, dan lain-lain.

Agar suatu perintah dapat dilaksanakan oleh komputer, algoritma harus

ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Banyak

cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan

beranggapan algoritma selalu identik dengan ilmu komputer saja.

Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan

dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan

dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu

ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak

logis, tidak dapat dihasilkan masakan yang diinginkan.

Dari uraian tersebut dapat dilihat besarnya peranan algoritma. Oleh karena

itu, dalam makalah ini kami akan membahas mengenai “Algoritma dan

Hubungannya Dengan Pemrograman”.

1.2 Tujuan

Makalah ini disusun dengan tujuan sebagai sarana untuk mengikuti pesatnya

perkembangan teknologi komputer di masa sekarang ini, salah satunya di dunia

Page 4: Makalah algoritma dan hubungannya dengan pemrograman

pemrograman yang sekarang semakin banyak diminati. Selain itu, tujuan

disusunnya makalah ini adalah untuk memenuhi tugas SCL matakuliah Pengantar

Pemrograman.

Page 5: Makalah algoritma dan hubungannya dengan pemrograman

BAB II

PEMBAHASAN

2.1 Pengertian Algoritma dan Pemrograman

Pengertian 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.

Definisi Algoritma

1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk

kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan

sistematis.

2. Dan kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal

mendefinisikan algoritma sebagai berikut:

“Algoritma adalah urutan logis pengambilan putusan untuk pemecahan

masalah.”

Page 6: Makalah algoritma dan hubungannya dengan pemrograman

3. “Algoritma adalah urutan langkah-langkah logis penyelesaian masalahyang

disusun secara sistematis dan logis”. Kata logis merupakan kata kuncidalam

algoritma. Langkah-langkah dalam algoritma harus logis dan harusdapat

ditentukan bernilai salah atau benar.

Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk

melakukan pekerjaan tertentu. Dalam kenyataannya, setiap orang bisa membuat

algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun

terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan

keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien

dan cepat. Algoritma bisa ditemukan dalam kehidupan sehari-hari, misalnya

sebagai berikut:

Pengertian Pemrograman

Definisi Program dan Pemrograman

Program adalah perwujudan atau implementasi teknis Algoritma yang ditulis

dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh

komputer

Pemrograman sendiri secara definitif dapat dikatakan sebagai proses

mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah

dengan menggunakan suatu bahasa pemrograman. Atau secara ringkas dapat

dikatakan bahwa pemrograman adalah proses membuat program.

Proses Algoritma Contoh langkah

1.Membuat

Kue

Resep Kue Campurkan 2 butir telur kedalam

adonan, kemudian kocok hingga

mengembang

2.Membuat

Pakaian

Pola Pakaian Gunting kain dari pinggir kiri bawah

kea rah kanan atas sepanjang 15 cm

3.Praktikum

Kimia

Petunjuk Praktikum Campurkan 10 ml Asam Sulfat ke

dalam 15 ml Natrium hidroksida

Page 7: Makalah algoritma dan hubungannya dengan pemrograman

Hubungan Algoritma, Pemrograman, dan Komputer :

Komputer adalah kumpulan beberapa perangkat keras, yang untuk

mengoperasikannya dibutuhkan program sesuai dengan kebutuhan. Program

komputer sendiri membutuhkan algoritma sebagai dasar pembuatan program.

Hubungannya, Algoritma diumpamakan sebagai nyawa dari program

tersebut sedangkan program adalah bahasa dari algoritma sedangkan komputer

yaitu eksekutornya.

Gambar Diagram Hubungan Algoritma, Pemrograman dan Program

Diagram di atas dapat menggambarkan hubungan antara pemrograman

dengan algoritma dan program. Dalam diagram ditunjukkan bahwa pemrograman

adalah proses yang dimulai dari munculnya suatu permasalahan yang diinginkan

untuk diselesaikan secara komputerisasi hingga menghasilkan sebuah produk

yaitu program. Ketika masalah itu muncul, maka tahap penyelesaiannya adalah

dimulai dengan membuat algoritma penyelesaian masalah yang kemudian melalui

suatu bahasa pemrograman yang ditentukan dan dipilih serta digunakan

berdasarkan penyesuaian algoritma yang telah dibuat, maka dihasilkanlah suatu

program yang sesuai dengan keinginan.

2.2 Konsep Algoritma

Ciri-Ciri Algoritma

Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX,

menyatakan bahwa ada beberapa cirri algoritma, yaitu:

Page 8: Makalah algoritma dan hubungannya dengan pemrograman

a. Algoritma mempunyai awal dan akhir: Suatu algoritma harus berhenti setelah

mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma

memiliki langkah yang terbatas.

b. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti

ganda (not ambiguous).

c. Memiliki masukan (input) atau kondisi awal.

d. Memiliki keluaran (output) atau kondisi akhir.

e. Algoritma harus efektif; bila didikuti benar-benar akan menyelesaikan

persoalan.

Sifat Algoritma

Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi

Algoritma maka dapat disimpulkan sifat utama suatu Algoritma, yaitu sebagai

berikut:

a. Input: Suatu Algoritma memiliki input atau kondisi awal sebelum algoritma

dilaksanakan.

b. Output: suatu Algoritma akan menghasilkan output setelah dilaksanakan,

atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana

nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

c. Definiteness: langkah-langkah yang dituliskan dalam algoritma terdefinisi

dengan jelas sehingga mudah dilaksanakn oleh pengguna logaritma.

d. Finiteness: Suatu algoritma harus memberi kondisi akhir atau output setelah

melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi

awal atau input yang diberikan.

e. Effectiveness: Setiap langah dalam algoritma bisa dilaksanakan dalam suatu

selang waktu tertentu sehingga pada akhirnya member solusi sesuai yang

diharapkan.

f. Generality: langkah-langkah algoritma berlaku untuk setiap himpunan input

yang sesuai dengan persoalan yang akan diberikan, tidah hanya untuk

himpunan tertentu.

Page 9: Makalah algoritma dan hubungannya dengan pemrograman

Suatu algoritma tentu dapat ditulis dengan menggunakan bahasa sehari-hari.

Namun, algoritma seperti itu masih sulit diterjemahkan apabila akan

diimplementasikan ke dalam suatu bahasa pemrograman komputer.

Setiap algoritma tentu saja memerlukan suatu langkah “peralihan” kesuatu

bahasa pemrograman ketika akan dilaksanakan dengan menggunakan komputer.

Sehingga semakin dekat bentuk algoritma ini ke bentuk program komputer maka

semakin mudah diterjemahkan.

Struktur Algoritma

Agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke dalam

beberapa bagian. Salah satu struktur yang sering dijadikan patokan dalah sebagai

berikut:

Bagian Kepala (Header) : memuat nama algoritma serta informasi atau

keterangan tentang algoritma yang ditulis.

Bagian Deklarasi/ Definisi Variabel : memuat definisi tentang nama

variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan

digunakan dalam algoritma.

Bagian Deskripsi/ Rincian Langkah: memuat langkah-langkah

penyelesaian masalah, termasuk beberapa perintah seperti baca data,

tampilkan, ulagi, yang mengubah data input menjadi output, dan

sebagainya.Contoh: algoritma untuk menghitung luas sebuah lingkaran

apabila jari-jarinya diberikan.

Algoritma Luas_lingkaran

{menghitung luas sebuah lingkaran apabila jari-jari lingkaran tersebut diberikan}

Deklarasi

{Definisi nama tetapan}

const N = 10;

const phi = 3.14;

{Definisi nama peubah/variabel}

real jari_jari, luas;

Page 10: Makalah algoritma dan hubungannya dengan pemrograman

Deskripsi

read(jari-jari);

luas= phi* jari_jari* jari_jari;

write(luas);

Penyajian Algoritma

Beberapa notasi yang digunakan dalam penulisan algoritma :

1. Notasi I : untaian kalimat deskriptif

2. Notasi II : diagram alir (flow chart)

3. Notasi III : pseudo-code; kode yang mirip dengan kode pemrograman yang

sebenarnya

Contoh masalah : menghitung luas segiempat.

Notasi I :

Algoritma Luas_Segiempat

Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang

segiempat

Deklarasi

Luas,panjang,lebar : bilangan bulat

Deskripsi

1. Masukkan nilai lebar dan panjang

2. Hitung luas sama dengan panjang kali lebar

Page 11: Makalah algoritma dan hubungannya dengan pemrograman

3. Tampilkan Luas

Notasi II :

Notasi III :

Algoritma Luas_Segiempat

Menghitung luas segiempat

dengan memasukkan nilai

lebar dan panjang segiempat

Deklarasi

Luas,panjang,lebar :integer

Deskripsi

Input(n)

Luas= panjang * lebar

Output(Luas)

2.2 Tipe Data, Variabel, Nilai dan Ekspresi

Tipe Data

Ada dua kategori tipe data yaitu:

a. Tipe Dasar, yaitu tipe data yang selalu tersedia pada setiap bahasa

pemrograman, antara lain:

Bilangan bulat (integer); bilangan atau angka yang tidak memiliki titik

decimal atau pecahan, seperti 10, +255, -1024, +32767. Dituliskan sebagai

integer atau int. Operasi untuk bilangan bulat adalah operasi aritmatik dan

operasi pembanding.

Bilangan biasa (real); bilangan atau angka yang bisa memiliki titik decimal

atau pecahan, seperti 235.45, -987.3456. Dituliskan sebagai real. Juga

berlaku operasi aritmatik dan pembanding.

Bilangan tetap (const); tipe bilangan, baik bernilai bulat maupun tidak,

yang nilainya tidak berubah selama algoritma dilaksanakan. Dituliskan

sebagai const.

Karakter (char); data tunggal yang mewakili semua huruf, symbol baca,

dan juga symbol angka yang tidak sioperasikan secara matematis,

Page 12: Makalah algoritma dan hubungannya dengan pemrograman

misalnya: „A‟,‟B‟,…,‟Z‟, ‟?‟, „!‟. Dituliskan sebagai char. Jangkauannya

meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap

tombol keyboard.

Logik (logical); tipe data yang digunakan untuk memberi nilai pada hasil

pembandingan, atau kombinasi pembandingan. Dituliskan sebagai

Boolean. Jangkauan nilai ada dua yaitu true dan false. Sementara, operasi

untuk data jenis logik, antara lain and, or, dan not. Contoh: 45 > 56

hasilnya false.

b. Tipe Bentukan, yaitu tipe data yang dibentuk dari kombinasi tipe dasar,

antara lain:

Array (Larik); tipe data bentukan yang merupakan wadah untuk

menampung beberapa nilai data yang sejenis. Kumpulan bilangan bulat

adalah array integer, kumpulan bilangan tidak bulat adalah array real.

Cara mendefinisikannya ada 2 macam, yaitu:

o Nilai_ujian:array [1..10] of integer; atau

o int nilai_ujian[10];

Kedua definisi di atas menunjukkan bahwa nilai_ujian adalah kumpulan

dari 10 nilai bertipe bilangan bulat.

String; tipe data bentukan yang merupakan deretan karakter yang

membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua

tanda kutip.Nama, alamat, dan judul adalah tipe string. Cara

mendefinisikannya adalah:

o String Nama, Alamat; atau

o Nama, Alamat: String;

Record (rekaman); tipe data bentukan yang merupakan wadah untuk

menampung elemen data yang tipenya tidak perlu sama dengan tujuan

mewakili satu jenis objek.Sebagai contoh mahasiswa sebagai satu jenis

objek memiliki beberapa elemen data seperti: nomor_stb, nama, umur,

t4lahir, jenkel.

Cara mendefinisikannya adalah:

Type DataMhs : record

Page 13: Makalah algoritma dan hubungannya dengan pemrograman

< nomer_stb : integer,

nama_mhs : string

umur : integer

t4lahir : string

jenkel : char >

Variabel

Variabel adalah nama yang mewakili suatu elemen data seperti: jenkel

untuk jenis kelamin, t4lahir untuk tempat lahir, alamat untuk alamat, dll. Ada

aturan tertentu yang waijb diikuti dalam pemberian nama variabel, antara lain:

Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol

Tidak boleh ada spasi di antaranya

Jangan menggunakan simbol-simbol yang membingungkan seperti titik

dua, titik koma, dan sebagainya.

Sebaiknya memiliki arti yang sesuai dengan elemen data

Sebaiknya tidak terlalu panjang.

Contoh variabel yang benar : Nama, Alamat, Nilai_Ujian

Contoh variabel yang salah: 4XYZ, IP rata.

Pemberian Nilai

Ada dua cara yang dapat digunakan untuk memberi nilai pada suatu

variabel, yaitu melalui proses assignment dan pembacaan.

Pemberian nilai dengan cara assignment mempunyai bentuk umum sebagai

berikut:

Variabel nilai;

Variabel1 variabel2;

Variabel ekspresi;

Contoh assignment:

Nama “Ali bin Abu Thalib”;

Jarak 100.56;

X Jarak;

Rentang X + 50 – 3* Y;

Page 14: Makalah algoritma dan hubungannya dengan pemrograman

Pemberian nilai dengan cara pembacaan dapat dilakukan melalui instruksi

pembacaan dengan bentuk umu sebagai berikut:

o read(variabel); atau

o read(variabel)1,variabel2,…);

Contoh pembacaan data:

o read(Nama);

o read(Jarak, Rentang, X);

Menampilkan Nilai

Agar hasil pelaksanaan algoritma dapat dikomunikasikan atau ditayangkan

maka nilai variabel yang telah diproses dalam algoritma dapat ditampilkan.

Instruksi untuk menampilkan nilai variabel adalah

Contoh penampilan nilai adalah sebagai berikut:

o write(“nama anda : ”, Nama);

o write(“nilai ujian = ”, nilai);

o write(“Jumlah variabel = ”, X+Y+Z);

Ekspresi (Expression)

Ekspresi adalah transformasi data dan peubah dalam bentuk persamaan yang

direlasikan oleh operator dan operand. Operand adalah data, tetapan, peubah,

atau hasil dari suatu fungsi, sedangkan operator adalah symbol-simbol yang

memiliki fungsi untuk menghubungkan operand sehingga terjadi transformasi.

Jenis-jenis operator adalah sebagai berikut:

o Operator aritmatika: operator untuk melakukan fungsi aritmatika

seperti: +(menjumlah), -(mengurangkan), *(mengalikan), /(membagi)

o Operator relational: operator untuk menyatakan relasi atau perbandingan

antara dua operand, seperti: >(lebih besar, <(lebih kecil), >=(lebih besar

atau sama), <=(lebih kecil atau sama), ==(sama), !=(tidak sama), atau ><,

<>.

o Operator logik: operator untuk merelasikan operand secara logis, seperti

&&(and), || (or), dan !(not)

o Operator string: operator untuk memanupulasi string seperti

+(concatenation), len (panjang string), dan substr(substring, mencuplik).

Page 15: Makalah algoritma dan hubungannya dengan pemrograman

Berdasarkan jenis operator yang digunakan maka da empat macam ekspresi,

yaitu ekspresi aritmetika, ekspresi relational, ekspresi logik, dan ekspresi

string.

Ekspresi Aritmetika: ekspresi yang memuat operator aritmetika,

contoh:

T 5 * (C+32)

Y 5 * ( (a+b) / (c+d) + m / (e * f) );

Ekspresi Relational: ekspresi yang memuat operator relational,

contoh:

Nilai_A > Nilai_B

( x + 57) != ( y +34)

Ekspresi Logik: ekspresi yang memuat operator logic, contoh:

m (x > y) && (5 + z)

Ekspresi String: ekspresi dengan operator string, contoh:

Alamat “Jl.P.Kemerdekaan” + “Km 9 Tamalanrea)”

Page 16: Makalah algoritma dan hubungannya dengan pemrograman

BAB III

PENUTUP

3.1 Kesimpulan

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang

disusun secara sistematis dan logis. Program adalah perwujudan atau

implementasi teknis Algoritma yang ditulis dalam bahasa pemrograman

tertentu sehingga dapat dilaksanakan oleh computer. Sedangkan

Pemrograman adalah proses membuat program.

Bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih

mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok

diterapkan dalam dunia pendidikan.

Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar

bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia

(TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI

(International Olympiad in Informatics).

Pemrograman adalah proses yang dimulai dari munculnya suatu

permasalahan yang diinginkan untuk diselesaikan secara komputerisasi

hingga menghasilkan sebuah produk yaitu program. Ketika masalah itu

muncul, maka tahap penyelesaiannya adalah dimulai dengan membuat

algoritma penyelesaian masalah yang kemudian melalui suatu bahasa

pemrograman yang ditentukan dan dipilih serta digunakan berdasarkan

penyesuaian algoritma yang telah dibuat, maka dihasilkanlah suatu

program yang sesuai dengan keinginan.

Page 17: Makalah algoritma dan hubungannya dengan pemrograman

DAFTAR PUSTAKA

http://belajar-program.ueuo.com

http://google.com

http://nusinau.com

http://wikipedia.com

http://wismarini.staff.unisbank.ac.id/2011/12/09/pengenalan-dasar-algoritma-dan-

pemrograman-3/