Anda di halaman 1dari 15

BAB 1

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. Oleh karena itulah, yang akan dibahas dalam
makalah ini adalah Algoritma dan 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
matakuliah Pemrograman I, dikarenakan Penulis masih berstatus sebagai
mahasiswa Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu
Komputer,Universitas Bhayangkara Jakarta Raya.

1
BAB II
PEMBAHASAN

2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN


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.
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk
mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh
komputer dan manusia. Proses komputasi umumnya didefinisikan secara
formal menggunakan konsep matematika dari Mesin Turing. Pada dasarnya
bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara
manusia dengan komputer.
Sebuah bahasa pemrograman disebut Turing Complete jika dapat
dipergunakan untuk mendeskripsikan semua komputasi yang dapat

2
dilakukan Mesin Turing, yaitu memiliki variable integer dan operator
aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi,
dan pernyataan iterasi.

2.2. DEFINISI ALGORITMA


“Algoritma adalah urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis dan logis”. Kata Logis merupakan
kata kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis
dan harus dapat ditentukan bernilai salah atau benar.

2.2.1. Algoritma Merupakan Jantung Ilmu Informatika


Algoritma adalah jantung ilmu komputer atau informatika. Banyak
cabang ilmu computer 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-lankah membuat masakan. Bila langkah-langkahnya tidak
logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang
mencoba suatu resep masakan akan membaca satu per satu langkah-
langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia
baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia,
komputer, robot atau alat alat elektronik lainnya. Pemroses
melakukan suatu proses dengan melaksanakan atau “mengeksekusi”
algoritma yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di
dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai
dengan algoritma yang diberikan kepadanya. Juru masak membuat
kue berdasarkan resep yang diberikan kepadanya, pianis memainkan

3
lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus
dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi
suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

2.2.2. Mekanisme Pelaksanan Algoritma Oleh Pemroses


Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan
oleh komputer, algoritma hasrus ditulis dalam notasi bahasa
pemrograman sehingga dinamakan program. Jadi program adalah
prwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh
komputer.

2.2.3. Belajar Memprogram Dan Belajar Bahasa Pemrograman


Belajar memprogram tidak sama dengan belajar bahasa
pemrograman. Belajar memprogram adalah belajar tentang
metodologi pemecahan masalah, kemudian menuangkannya dalam
suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan
belajar bahasa pemrograman berarti belajar memakai suatu bahasa
aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi
tersebut untuk membuat program yang ditulis hanya dalam bahasa
itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat
dibedakan berdasarkan tujuan dan fungsinya. Diantaranya adalah :

4
Imperative Declarative

Prosedural C, ObjOriented Parallel Logic : Functional : Database :


Pascal, Ada, Object Processing : LISP, APL, SQL
PROLOG
Fortran, Pascal, C++, Ada, Pascal S, SCHEME
Basic Java, Occam,
Smalltalk, CLinda
Eiffel

 Belajar Memprogram
 Belajar memprogram ≠ belajar bahasa pemrograman
 Belajar memprogram : belajar tentang strategi pemecahan
masalah, metodologi dan sistematika pemecahan masalah
kemudian menuliskannya dalam notasi yang disepakati
bersama.
 Belajar memprogram : bersifat pemahaman persoalan,
analisis dan sintesis.
 Belajar memprogram, titik berat : designer program.

 Belajar Bahasa Pemrograman


 Belajar bahasa pemrograman : belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk memanfaatkan
instruksi yang spesifik untuk setiap bahasa.
 Belajar bahasa pemrograman, titik berat : coder.

5
 Produk yang dihasilkan Pemrogram :

 Program dengan rancangan yang baik (metodologis,


sistematis).
 Dapat dieksekusi oleh mesin.
 Berfungsi dengan benar.
 Sanggup melayani segala kemungkinan masukan.
 Disertai dokumentasi.
 Belajar memprogram, titik berat : designer program.

2.2.4. Algoritma
a. File Header adalah file yang berisi deklarasi untuk berbagai
fungsi yang dibutuhkan oleh program baik itu sebagai standar
Input/Output maupun sebagai syntax. File Header dalam C++
digunakan untuk memanggil library library yang ada sehingga
suatu fungsi dapat digunakan secara baik dan benar.

Macam Macam File Header :


1. stdio.h merupakan singkatan dari standar input output header
yang digunakan sebagai standar input output operasi yang
digunakan oleh bahasa C, akan tetapi bisa juga digunakan
dalam bahasa C++. Fungsi fungsi yang terdapat pada stdio.h
adalah printf() puts() putchar() scanf() gets()
2. stdio.h merupakan file Header yang berfungsi untuk
menampilkan hasil antarmuka kepada pengguna. Fungsi
fungsi yang terdapat pada conio.h adalah getch() getche()
clrscr()
3. math.h merupakan file header yang berfungsi untuk operasi
matematika. Fungsi fungsi yang terdapat pada math.h adalah
sqrt() powl() sin() cos() tan()

6
4. stdlib.h merupakan file header yang berfungi untuk operasi
pembanding dan operasi konversi. Fungsi fungsi yang
terdapat pada stdlib.h adalah max() min() atof() atoi()
5. string.h merupakan file header yang berfungsi untuk
melakukan manipulasi string. Fungsi fungsi yang terdapat
pada string.h adalah strcpy() strien() strcmp() strrev()
strlwr() strupr() strcat()
6. iostream merupakan file header yang berfungsi untuk input /
output dalam C + + programming language. Ini adalah
bagian dari C + + standar perpustakaan. Nama singkatan dari
Input / Output Stream. Dalam C + + dan pendahulunya,
bahasa pemrograman C, tidak ada sintaks khusus untuk
streaming input data atau output. Fungsi fungsi yang
terdapat pada iostream adalah cin, cout, endl, ends

b. Array adalah sekumpulan variable yang memiliki tipe data yang


sama dan dinyatakan dengan nama yang sama. Array merupakan
konsep yang penting dalam pemrograman, karna array
memungkinkan untuk menyimpan data maupun referensi objek
dalam jumlah banyak dan terindeks. Variabel array
dideklarasikan dengan mencantumkan tipe dan nama variable
yang diikuti dengan banyaknya lokasi memori yang ingin
dibuat.

c. Percabangan adalah suatu pemilihan statemen yang akan


dieksekusi dimana pilihan tersebut didasarkan atas kondisi
tertentu untuk mengarahkan perjalanan suatu proses. Artinya
statemen yang terdapat pada suatu blok percabangan akan
dieksekusi jika kondisi yang didefinisikan terpenuhi ﴾bernilai
benar﴿ tetapi jika kondisi tersebut tidak terpenuhi ﴾bernilai salah﴿
maka statemen tersebut tidak akan dieksekusi atau diabaikan

7
oleh compiler. Jenis yang terdapat pada percabangan adalah IF,
IF-ELSE, NESTED IF

 Perulangan adalah data atau yang biasa disebut dengan


“looping” adalah proses yang dilakukan secara berulangulang
sampai batas yang ditentukan. Biasanya bila dalam perulangan
tersebut tidak disertakan batasnya maka syntax akan error karena
proses itu akan berulang terus hingga tak terhingga sementara
variabel dalam komputer masih terbatas. Jenis yang terdapat
pada perulangan/looping adalah for, while, do while
 Karakter (Char) merupakan tipe data yang hanya mampu
menyimpan 1 digit karakter. Ukuran untuk tipe data karakter
adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada
sejumlah 256 macam karakter yaitu dari kode karakter (ASCII),
0 sampai dengan 255. Untuk penulisan karakter menggunakan
tanda petik tunggal (‘ ) di depan dan belakang karakter yang
ditulis. Contoh : ‘a’, ‘A’,’&’ dll.
Nilai-nilai yang termasuk karakter adalah :
1. Karakter huruf : ‘a’..’z’,’A’..’Z’
2. Karakter angka : ‘0’..’9’
3. Karakter tanda baca : titik, koma, titik koma, titik dua
dan sebagainya
4. Karakter khusus : $, %, #, @ dan sebagainya.

8
 Integer Merupakan tipe data berupa bilangan bulat, terbagi atas
beberapa kategori seperti table dibawah ini
Tipe Data Ukuran Tempat Rentang Nilai
Byte 1 byte 0 s/d 255
Shortint 1 byte -28 s/d +127
Integer 2 bytes -32768 s/d 32767
Word 2 bytes 0 s/d 65535
Longint 4 bytes 2147483648 s/d
2147483647

 String adalah sederetan simbol yang tidak tertentu panjangnya,


yang dianggap sebagai panjang satu unit” (World Agreement
Agenda O812). String dapat berupa huruf, angka, karakter
khusus, maupun karakter Unicode. Dalam bahasa C++ terdapat
beberapa fungsi yang digunakan untuk operasi pengolahan
string. Fungsi Manipulasi String, String dapat dimanipulasi
dengan aturan tertentu. Di mana bahasa C++ telah menyediakan
semua ini ke dalam pustakanya

2.2.5. Notasi Algoritma Independen Terhadap Bahasa Pemrograman


Dan Mesin Komputer
Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Analoginya sama dengan resep membuat kue. Sebuah
resep dapat ditulis dalam bahasa apapun dan hasilnya akan sama
asalkan semua aturan pada resep diikuti. Mengapa demikian ?
Karena setiap juru masak (sebagai pemroses) dapat melakukan

operasi dasar yang sama, seperti mengocok telur, menimbang berat


gula, dan lain sebagainya.
Demikian juga halnya dengan komputer. Meskipun setiap komputer
berbeda teknologinya, tetapi secara umum semua komputer dapat
melakukan operasi-operasi dasar dalam pemrograman seperti operasi

9
pembacaan data, operasi perbandingan, operasi aritmatika, dan
sebagainya. Perkembangan teknologi komputer tidak mengubah
operasi-operasi dasar itu, yang berubah hanyalah kecepatan, biaya,
atau tingkat ketelitian. Pada sisi lain setiap program dalam bahasa
tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelum
akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin
menyajikan operasi dasar yang sesuai, dan menghasilkan efek netto
yang sama pada setiap komputer.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini
berarti Algoritma adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan
suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian
data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan
(sequence) instruksi yang dilaksanakan satu per satu secara
berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah
karena adanya pencabangan kondisional. Data yang disimpan di
dalam memori dimanipulasi oleh instrusi secara beruntun atau
procedural. Paradigma pemrograman seperti ini dinamakan
pemrograman procedural.

Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C


mendukung kegiatan pemrograman procedural, karena itu

operasi dasar yang sama, seperti mengocok telur, menimbang berat


gula, dan lain sebagainya.
Demikian juga halnya dengan komputer. Meskipun setiap komputer
berbeda teknologinya, tetapi secara umum semua komputer dapat
melakukan operasi-operasi dasar dalam pemrograman seperti operasi

10
pembacaan data, operasi perbandingan, operasi aritmatika, dan
sebagainya. Perkembangan teknologi komputer tidak mengubah
operasi-operasi dasar itu, yang berubah hanyalah kecepatan, biaya,
atau tingkat ketelitian. Pada sisi lain setiap program dalam bahasa
tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelum
akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin
menyajikan operasi dasar yang sesuai, dan menghasilkan efek netto
yang sama pada setiap komputer.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini
berarti Algoritma adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan
suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian
data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan
(sequence) instruksi yang dilaksanakan satu per satu secara
berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah
karena adanya pencabangan kondisional. Data yang disimpan di
dalam memori dimanipulasi oleh instrusi secara beruntun atau
procedural. Paradigma pemrograman seperti ini dinamakan
pemrograman procedural.

2.3. ATURAN PENULISAN ALGORITMA


Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah
tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan
dimengerti, karena memang tidak ada notasi baku dalam penulisan
algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma
sendiri. Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa

pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden


dengan notasi bahasa pemrograman secara umum.

11
a. Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
 Judul (Header)
 Kamus
 Algoritma
Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai
setiap bagian tersebut dituliskan diantara tanda kurung kurawa contoh {
Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak
akan dieksekusi oleh program.
Contoh :
Judul
{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi awal dan
kondisi akhir dari algoritma }

Kamus
{ Pada bagian ini, didefinifikan nama konstanta, nama variable, nama
prosedur dan nama fungsi }

Algoritma
{ Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak
diantara tanda kurung kurawa akan dianggap sebagai notasi algoritma yang
akan berpengaruh terhadap kebenaran algoritma }

Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah
program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan
spesifikasi singkat dari teks algoritma tersebut. Nama algoritma
sebaiknya singkat namun cukup menggambarkan apa yang akan
dilakukan oleh algoritma tersebut.

12
Contoh :

Program Luas_Kubus ← {Judul Algoritma}


{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan
lalu mencetak hasilnya kepiranti keluaran} ← {Spesifikasi Algoritma}

Catatan :
Untuk memisahkan antara kata dalam judul algoritma menggunakan
tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan
LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak
menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama
algoritma.

Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk
mendefinisikan :
 Nama type
 Nama konstanta
 Nama variable
 Nama fungsi
 Nama prosedur
Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah
didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan
nama dalam kamus sebaiknya dikelompokan menurut jenis nama
tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan.
Pendefinisian nama konstanta sekaligus memberikan harga konstanta
tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain
/ range serta spesifikasinya. Pendefinisian nama prosedur sekaligus
dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur
(kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses
yang

13
BAB III
PENUTUP

3.1 Kesimpulan
Imperative program beranalogi dibawah bahasa pemograman yang memacu
atau berorientasi pada objek objek system informasi yang mengarah pada
system informasi. Pembuatan program program komputer dengan
penguasaan data yang ada pada bahasa pemograman untuk dikuasai agar
menjadi seorang programmer handal. Beberapa sub dari bidang
pemograman imperative diantaranya adalah variable dan penugasan ;
perintah tidak struktur ; perintah tidak terstruktur ; subprogram, prosedur
dan fungsi; dan penanganan eksepsi. Mengenali dan memberi contoh
variable dan penguasaaanya, mengenali bentuk perintah tidak terstruktur,
mengenali bentuk perintah terstruktur, dapat menjelaskan bentuk-
bentuk struktur control, dapat menuliskan subprogram, prosedur, dan fungsi,
dan dapat mengenali serta menjelaskan beberapa bentuk eksepsi dan
penangananya.

3.2 Saran
Saran saya sebagai penulis ialah, bahwa setidaknya kita harus selalu
konsisten dalam belajar agar dapat bersaing di era globalisasi.
Demikian pula dalam mempelajari algoritma dan pemrograman, sehingga
kita selaku mahasiswa atau peserta didik dapat dibekali dengan
kecakapan menggunakan komputer sebagai sarana dalam mencapai tujuan
sehari-hari. Sekiranya saran yang saya buat ini jika ada kata dan penulisan
yang salah mohon dimaafkan. Wassalamualaikum Wr. Wb.

14
DAFTAR PUSTAKA

 http://hannan.h08.alumni.ipb.ac.id/2010/06/12/pengertian-pemrograman/
 http://azizah.ilearning.me/programming/pengertian-array-cara-kerja-dan-
contohnya/
 https://antonyworld.wordpress.com/2011/08/25/mengenal-fungsi-string-int-
double-dan-char-pada-java/
 http://www.belajarcpp.com/2016/03/pengertian-dan-fungsi-file-header-
cplusplus.html
 https://ekaswantara.wordpress.com/looping-dalam-c/
 http://www.gatewan.com/2014/07/mengenal-percabangan-dalam-cpp.html
 http://tekhno-silver.blogspot.co.id/2014/03/jenis-header-file-c-dan-
contoh.html
 http://rahman011.blogspot.co.id/2012/05/pengenalan-include.html
 http://kokododi.blogspot.co.id/2014/09/pembahasan-dan-contoh-file-header-
pada-c.html
 http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php
 tugaskuliah.googlecode.com/files/a980b55869178243a3cca38490ce9711.pdf

15

Anda mungkin juga menyukai