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
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
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
pemrograman yang sekarang semakin banyak diminati. Selain itu, tujuan
disusunnya makalah ini adalah untuk memenuhi tugas SCL matakuliah Pengantar
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.”
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
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:
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.
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;
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
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,
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
< 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;
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).
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)”
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.
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/