Professional Documents
Culture Documents
Penyusun
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
A. 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”.
B. Rumusan Masalah
1. Apa pengertian algoritme
2. Bagaimana sifat konsep dan struktur algoritme
3. Bagaimana tipe data variable dan Nilai Ekspektasi
1
C. 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.
2
BAB II
PEMBAHASAN
1. Definisi Algoritma
2. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk
kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan
sistematis.
3. Dan kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal
mendefinisikan algoritma sebagai berikut:
4. “Algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah.”
3
5. “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:
Proses Algoritma Contoh langkah
4
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
2. Konsep Algoritma
Ciri-Ciri Algoritma
Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan
bahwa ada beberapa cirri algoritma, yaitu:
1. Algoritma mempunyai awal dan akhir: Suatu algoritma harus berhenti
setelah mengerjakan serangkaian tugas atau dengan kata lain suatu
algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki
arti ganda (not ambiguous).
3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5
5. Algoritma harus efektif; bila didikuti benar-benar akan menyelesaikan
persoalan.
3. 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.
6
4. Struktur Algoritma
1. Agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke dalam
beberapa bagian. Salah satu struktur yang sering dijadikan patokan dalah
sebagai berikut:
2. Bagian Kepala (Header) : memuat nama algoritma serta informasi atau
keterangan tentang algoritma yang ditulis.
3. Bagian Deklarasi/ Definisi Variabel : memuat definisi tentang nama
variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan
digunakan dalam algoritma.
4. 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);
5. Penyajian Algoritma
Beberapa notasi yang digunakan dalam penulisan algoritma :
1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
7
3. Notasi III : pseudo-code; kode yang mirip dengan kode pemrograman
yang sebenarnya
8
Notasi III :
Algoritma Luas Segi empat
Menghitung luas segiempat dengan memasukkan nilai lebar dan
panjang segi empat
Deklarasi
Luas, panjang, lebar: integer Deskripsi
Input(n)
Luas= panjang * lebar
Output(Luas)
B. Konsep Algoritma
1. Ciri-Ciri Algoritma
Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan
bahwa ada beberapa cirri algoritma, yaitu:
1) Algoritma mempunyai awal dan akhir: Suatu algoritma harus berhenti
setelah mengerjakan serangkaian tugas atau dengan kata lain suatu
algoritma memiliki langkah yang terbatas.
2) Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki
arti ganda (not ambiguous).
3) Memiliki masukan (input) atau kondisi awal.
4) Memiliki keluaran (output) atau kondisi akhir.
5) Algoritma harus efektif; bila didikuti benar-benar akan menyelesaikan
persoalan.
2. Sifat Algoritma
Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi
Algoritma maka dapat disimpulkan sifat utama suatu Algoritma, yaitu sebagai
berikut:
1) Input: Suatu Algoritma memiliki input atau kondisi awal sebelum
algoritma dilaksanakan.
2) Output: suatu Algoritma akan menghasilkan output setelah dilaksanakan,
atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana
9
nilai output diperoleh dari nilai input yang telah diproses melalui
algoritma.
3) Definiteness: langkah-langkah yang dituliskan dalam algoritma terdefinisi
dengan jelas sehingga mudah dilaksanakn oleh pengguna logaritma.
4) Finiteness: Suatu algoritma harus memberi kondisi akhir atau output
setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap
kondisi awal atau input yang diberikan.
5) Effectiveness: Setiap langah dalam algoritma bisa dilaksanakan dalam
suatu selang waktu tertentu sehingga pada akhirnya member solusi sesuai
yang diharapkan.
6) 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.
3. 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
10
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);
4. Penyajian Algoritma
Beberapa notasi yang digunakan dalam penulisan algoritma :
a) Notasi I : untaian kalimat deskriptif
b) Notasi II : diagram alir (flow chart)
c) Notasi III : pseudo-code; kode yang mirip dengan kode pemrograman
yang sebenarnya
11
C. Tipe Data, Variabel, Nilai dan Ekspresi
1. 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.
12
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.
13
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:
read(variabel); atau
read(variabel)1,variabel2,…);
Contoh pembacaan data:
read(Nama);
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:
write(“nama anda : ”, Nama);
write(“nilai ujian = ”, nilai);
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:
Operator aritmatika: operator untuk melakukan fungsi aritmetika
seperti: +(menjumlah), -(mengurangkan), *(mengalikan), /(membagi)
Operator relational: operator untuk menyatakan relasi atau perbandingan
14
antara dua operand, seperti: >(lebih besar, <(lebih kecil), >=(lebih besar
atau sama), <=(lebih kecil atau sama), ==(sama), !=(tidak sama), atau ><,
Operator logik: operator untuk merelasikan operand secara logis, seperti
&&(and), || (or), dan !(not)
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) );
15
BAB III
PENUTUP
A. 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.
16
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/
17