Upload
wanakuroyuri
View
16.881
Download
10
Embed Size (px)
DESCRIPTION
Citation preview
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.
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
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.
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/