SlideShare a Scribd company logo
1 of 21
MAKALAH
ALGORITMA DAN PEMROGRAMAN
Disusun oleh :
Ujang Adi R.
JURUSAN REKAYASA PERANGKAT LUNAK
SMKBUDI BAKTI CIWIDEY
Jln.BabakanTiga,DesaCiwidey,Kec.Ciwidey,Kab.BandungNo.82(0220)5928262
KATA PENGANTAR
Alhamdulillah, puji syukur penulis haturkan kehadirat Allah SWT. Atas rahmat-
Nya lah Penulis dapat menyelesaikan makalah ini tepat pada waktunya. Tak lupa Penulis
juga menghaturkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah
mendukungdanmembantuPenulisdalammenyelesaikan makalah ini.
Dalam makalah yang berjudul ALGORITMA DAN PEMROGRAMAN ini, akan
dibahas mengenai pengertian Algoritma dan Pemrograman, sejarah Algoritma itu sendiri,
kemudian dasar-dasar pemrograman yang menjelaskan tentang variabel, tipe data, dan
operatoryang terdapat dalam bahasa pemrograman. Selain itu, untuk mempermudah
pemahaman juga sebagai bahan latihan, Penulis juga menyertakan contoh programyangdapat
dipraktekkanolehparapembaca.
Namun demikian, Penulis merasa masih banyak sekali kekurangan dalam
penyusunan makalah ini, sesuaidenganpepatah yang mengatakan bahwatakadagadingyang tak retak.Oleh
karenaitu,segalasarandankritikyangmembangun dari yang lebih berkompeten di bidang Algoritma
dan Pemrograman, penulis terima dengan penuh rasa terima kasih.
Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi para pembaca,
khususnyabagiyangakanmempelajariAlgoritmadanPemrograman.
Bandung, 30 Oktober 2013
Penulis
Ujang Adi R.
i
DAFTAR ISI
KATA PENGANTAR i
DAFTAR ISI ii
BAB 1 PENDAHULUAN 1
1.1. LATAR BELAKANG 1
1.2. TUJUAN 1
BAB 2 PEMBAHASAN
2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN 2
2.2. DEFINISI ALGORITMA 3
2.2.1. ALGORITMA MERUPAKAN JANTUNG ILMU
INFORMATIKA 3
2.2.2. MEKANISME PELAKSANAAN ALGORITMA OLEH
PEMROSES 4
2.2.3. BELAJAR MEMPROGRAM DAN BELAJAR BAHASA
PROGRAM 4
2.2.4. ALGORITMA 5
2.2.5. NOTASI ALGORITMA INDEPENDEN TERHADAP
BAHASA PEMROGRAMAN DAN MESIN KOMPUTER 7
2.3. ATURAN PENULISAN ALGORITMA 11
BAB 3 PENUTUP
3.1. KESIMPULAN 16
3.2. REFERENSI 16
ii
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 adalahAlgoritmadanPemrograman.
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 untuk memperbaiki nilai UTS.
1
1
BAB 2
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 dilakukan Mesin Turing, yaitu
memiliki variable integer dan operator aritmatik, pernyataan penugasan, pernyataan
sekuensial, pernyataan seleksi, dan pernyataan iterasi.
2
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 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.
3
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 :
Programming
Language Paradigm
Imperative Declarative
Prosedural C,
Pascal,
Fortran,
Basic
ObjOriented
Ada, Object
Pascal, C++,
Java,
Smalltalk,
Eiffel
Parallel
Processing :
Ada, Pascal S,
Occam,
CLinda
Logic :
PROLOG
Functional :
LISP, APL,
SCHEME
Database :
SQL
4
a. 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.
b. 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.
c. 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. Aksi :
• kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan
berakhir pada saat T1).
• Menghasilkan efek netto yang terdefinisi dengan baik dan
direncanakan.
5
b. Contoh :
• Ibu Tati mengupas kentang untuk mempersiapkan makan malam
(luas ruang lingkupnya).
• Karena ruang lingkup luas, maka harus didefinisikan keadaan awal
dan efek netto yang direncanakan ( Initial State dan Final State).
• Initial State (keadaan awal) : T0 kentang sudah ada dikantong
kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya.
• Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di
panci, siap untuk dimasak dan kantong kertasnya harus dikembalikan
ke rak lagi.
• Kejadian : urut-urutan dari beberapa aksi yang terjadi secara
berurutan.
• Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari
kejadian.
• Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung
dari sudut pandang. Contoh mengupas kentang dapat dijelaskan :
- Ambil kantong kentang dari rak
- Ambil panci dari almari
- Kupas kentang
- Kembalikan kantong kentang ke rak
• Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong
kentang diambil dari rak sebelum ambil panci) :
- Ambil kantong kentang dari rak dan ambil panci dari almari
- Kupas kentang
- Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga,
dan kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama?
Ini tergantung jawabannya bisa sama bisa tidak.
Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama
dengan kemarin.
Sama karena kemiripan pola yang dilakukan.
6
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 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.
7
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C
mendukung kegiatan pemrograman procedural, karena itu mereka dinamakan
juga bahasa procedural. Selain paradigma pemrograman procedural, ada lagi
paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented
Programming). Paradigma pemrograman ini merupakan trend baru dan
sangat populr akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman fungsional,
pemrogramn deklaratif dan pemrograman konkuren. Pada kesempatan ini
penulis hanya menyajikan paradigma pemrograman procedural saja.
Keuntungan pemakaian algoritma adalah: logika pemecahan masalah dapat
dibuat bertingkat (mulai dari global menuju terperinci), algoritma
merupakan bentuk fleksibel untuk diterapkan keberbagai bahasa
pemrograman.
Jadi Algoritma adalah:
1. penyusunaan aspekproses logika dari suatu pemecahan masalah tanpa
melihat karakteristik bahasa pemrograman yang akan digunakan.
2. Urutan notasi logika yang merupakan hasil analiss dan rancangan
sistematik dari strategi pemecahan maslah, untuk menggambarkan
urutan langkah kerja yang jika dikerjakan akan membawa ketujuannya.
3. Urutan logika langkah kerja untuk meyelesaikan suatu masalah.
Contoh algoritma dalam kehidupan sehari-hari, misalnya: menjahit
pakaian, membuat kue, jadwal harian, panduan merakit komputer, dan
lain-lain.
Beberapa notasi yang digunakan dalam penulisan algoritma :
1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
3. Notasi III : psudo-code
8
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
Simbol-simbol program flowchart
3. Tampilkan Luas
9
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)
10
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.
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 }
11
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.
Contoh :
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
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 }
Program Luas_Kubus ← {Judul Algoritma}
{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan
lalu mencetak hasilnya kepiranti keluaran} ← {Spesifikasi Algoritma}
• 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 dilakukan).
12
Contoh :
Kamus
{Nama type, hanya untuk type yang bukan type dasar}
type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh”
sebagai jam. “mm” sebagai menit dan “ss” sebagai detik}
{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
constant nama : string = ‘Alex’
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bilangan real}
Nama : string {suatu nilai yang merupakan kumpulan character}
P : point {suatu nilai pada bidang kartesian}
Cari : Boolean {suatu nilai logika}
Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau
pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam
pemrograman procedural dapat berupa :
• Instruksi dasar seperti input/output, assignment
• Sequence (runtutan)
• Analisa kasus
• Perulangan
Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi
penulisan menentuan urutan langkah pelaksanaan perintah.
13
Contoh :
Algoritma
input (c,d) {menerima masukan 2 bilangan c dan d}
if c < d then {operasi kondisional}
e ← a + b {e di assignment oleh nilai a dan b}
else
e ← a – boutput (e) {hasil keluaran berupa bilangan e}
Catatan :
Untuk kata-kata input, output, if then else, output akan dipelajari lebih
mendalam dalam bab-bab selanjutnya.
Contoh Penyelesaian Masalah Oleh Algoritma
Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti
Keluaran.
14
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan
dan menuliskan hasilnya ke piranti keluaran.
Program Cetak_string
{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke piranti
keluaran}
Kamus
{tidak ada}
Algoritma
Output (‘Selamat Belajar Algoritma dan Pemrograman’)
Program Nilai_Maksimal
{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan
hasilnya dicetak ke piranti keluaran}
Kamus
hasil,x,y : integer {hasil merupakan variabel untuk menampung nilai
keluaran}
{x,y adalah variabel untuk menampung nilai
masukan}
Algoritma
input (x,y) {membaca nilai x dan y dari piranti masukan}
if x < y then {operasi kondisional}
hasil ← x {hasil di assignment oleh nila terbesar}
else
hasil ← y
output (hasil) (nilai didalam variabel hasil dicetak ke piranti
keluaran}
15
BAB 3
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. Refferensi
 http://google.com/
 http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php
 https://wikipedia.co.id/
 Software materi Asep Baban Sobana, ST.
16

More Related Content

What's hot

Bab 1 pengantar logika algoritma
Bab 1 pengantar logika algoritmaBab 1 pengantar logika algoritma
Bab 1 pengantar logika algoritmarisal07
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarDisma Ariyanti W
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMartin Arale
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaKhairul Anwar
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrogramanhanary
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritmaIcha Dicaprio
 
Presentasi pemograman algoritma ali majid wd
Presentasi pemograman algoritma ali majid wdPresentasi pemograman algoritma ali majid wd
Presentasi pemograman algoritma ali majid wdAli Must Can
 
Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1azis syah
 
Algoritma pemrograman dasar
Algoritma pemrograman dasarAlgoritma pemrograman dasar
Algoritma pemrograman dasarZee-Tye Zaebah
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanMuraba Nasuha
 
Tugas Powerpoint Pemrograman Dasar
Tugas Powerpoint Pemrograman DasarTugas Powerpoint Pemrograman Dasar
Tugas Powerpoint Pemrograman DasarHelen Handa Mukti
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMAarstwn
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Adri Demmanongkan
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrogramanSahat Tua
 
Algoritma Pemrograman Komputer
Algoritma Pemrograman KomputerAlgoritma Pemrograman Komputer
Algoritma Pemrograman KomputerBambang Karyadi
 
Topik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaTopik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaI Komang Agustino
 

What's hot (20)

Bab 1 pengantar logika algoritma
Bab 1 pengantar logika algoritmaBab 1 pengantar logika algoritma
Bab 1 pengantar logika algoritma
 
Pertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman DasarPertemuan 2 Pemrograman Dasar
Pertemuan 2 Pemrograman Dasar
 
Materi Pemrograman Dasar SMK
Materi Pemrograman Dasar SMKMateri Pemrograman Dasar SMK
Materi Pemrograman Dasar SMK
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
 
Konsep algoritma pemograman
Konsep algoritma pemogramanKonsep algoritma pemograman
Konsep algoritma pemograman
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrograman
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritma
 
Presentasi pemograman algoritma ali majid wd
Presentasi pemograman algoritma ali majid wdPresentasi pemograman algoritma ali majid wd
Presentasi pemograman algoritma ali majid wd
 
Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1
 
Algoritma pemrograman dasar
Algoritma pemrograman dasarAlgoritma pemrograman dasar
Algoritma pemrograman dasar
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
Tugas Powerpoint Pemrograman Dasar
Tugas Powerpoint Pemrograman DasarTugas Powerpoint Pemrograman Dasar
Tugas Powerpoint Pemrograman Dasar
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrograman
 
Algoritma Pemrograman Komputer
Algoritma Pemrograman KomputerAlgoritma Pemrograman Komputer
Algoritma Pemrograman Komputer
 
Topik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaTopik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar Algoritma
 
Pengenalan bahasa pemrograman
Pengenalan bahasa pemrogramanPengenalan bahasa pemrograman
Pengenalan bahasa pemrograman
 

Similar to ALGORITMA DAN PEMROGRAMAN

Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman hanujisudiman
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptxssuser98f5ad
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...farizky berian
 
Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switchAhmad Exca
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Bay Cliquers
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 

Similar to ALGORITMA DAN PEMROGRAMAN (20)

Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Makalah Algoritma
Makalah AlgoritmaMakalah Algoritma
Makalah Algoritma
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Bab 1
Bab 1 Bab 1
Bab 1
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Alex algoritma-01
Alex algoritma-01Alex algoritma-01
Alex algoritma-01
 
Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switch
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Modul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdfModul Pemrograman Dasar.pdf
Modul Pemrograman Dasar.pdf
 
Modul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rplModul algoritma pemrograman-dasar x rpl
Modul algoritma pemrograman-dasar x rpl
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Chapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptxChapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptx
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 

ALGORITMA DAN PEMROGRAMAN

  • 1. MAKALAH ALGORITMA DAN PEMROGRAMAN Disusun oleh : Ujang Adi R. JURUSAN REKAYASA PERANGKAT LUNAK SMKBUDI BAKTI CIWIDEY Jln.BabakanTiga,DesaCiwidey,Kec.Ciwidey,Kab.BandungNo.82(0220)5928262
  • 2. KATA PENGANTAR Alhamdulillah, puji syukur penulis haturkan kehadirat Allah SWT. Atas rahmat- Nya lah Penulis dapat menyelesaikan makalah ini tepat pada waktunya. Tak lupa Penulis juga menghaturkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah mendukungdanmembantuPenulisdalammenyelesaikan makalah ini. Dalam makalah yang berjudul ALGORITMA DAN PEMROGRAMAN ini, akan dibahas mengenai pengertian Algoritma dan Pemrograman, sejarah Algoritma itu sendiri, kemudian dasar-dasar pemrograman yang menjelaskan tentang variabel, tipe data, dan operatoryang terdapat dalam bahasa pemrograman. Selain itu, untuk mempermudah pemahaman juga sebagai bahan latihan, Penulis juga menyertakan contoh programyangdapat dipraktekkanolehparapembaca. Namun demikian, Penulis merasa masih banyak sekali kekurangan dalam penyusunan makalah ini, sesuaidenganpepatah yang mengatakan bahwatakadagadingyang tak retak.Oleh karenaitu,segalasarandankritikyangmembangun dari yang lebih berkompeten di bidang Algoritma dan Pemrograman, penulis terima dengan penuh rasa terima kasih. Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi para pembaca, khususnyabagiyangakanmempelajariAlgoritmadanPemrograman. Bandung, 30 Oktober 2013 Penulis Ujang Adi R. i
  • 3. DAFTAR ISI KATA PENGANTAR i DAFTAR ISI ii BAB 1 PENDAHULUAN 1 1.1. LATAR BELAKANG 1 1.2. TUJUAN 1 BAB 2 PEMBAHASAN 2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN 2 2.2. DEFINISI ALGORITMA 3 2.2.1. ALGORITMA MERUPAKAN JANTUNG ILMU INFORMATIKA 3 2.2.2. MEKANISME PELAKSANAAN ALGORITMA OLEH PEMROSES 4 2.2.3. BELAJAR MEMPROGRAM DAN BELAJAR BAHASA PROGRAM 4 2.2.4. ALGORITMA 5 2.2.5. NOTASI ALGORITMA INDEPENDEN TERHADAP BAHASA PEMROGRAMAN DAN MESIN KOMPUTER 7 2.3. ATURAN PENULISAN ALGORITMA 11 BAB 3 PENUTUP 3.1. KESIMPULAN 16 3.2. REFERENSI 16
  • 4. ii
  • 5. 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 adalahAlgoritmadanPemrograman. 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 untuk memperbaiki nilai UTS. 1 1
  • 6. BAB 2 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 dilakukan Mesin Turing, yaitu memiliki variable integer dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi.
  • 7. 2 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 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.
  • 8. 3 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 : Programming Language Paradigm Imperative Declarative Prosedural C, Pascal, Fortran, Basic ObjOriented Ada, Object Pascal, C++, Java, Smalltalk, Eiffel Parallel Processing : Ada, Pascal S, Occam, CLinda Logic : PROLOG Functional : LISP, APL, SCHEME Database : SQL
  • 9. 4 a. 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. b. 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. c. 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. Aksi : • kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan berakhir pada saat T1).
  • 10. • Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan. 5 b. Contoh : • Ibu Tati mengupas kentang untuk mempersiapkan makan malam (luas ruang lingkupnya). • Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State). • Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya. • Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi. • Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan. • Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian. • Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang. Contoh mengupas kentang dapat dijelaskan : - Ambil kantong kentang dari rak - Ambil panci dari almari - Kupas kentang - Kembalikan kantong kentang ke rak • Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang diambil dari rak sebelum ambil panci) : - Ambil kantong kentang dari rak dan ambil panci dari almari - Kupas kentang - Kembalikan kantong kentang ke rak
  • 11. Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama? Ini tergantung jawabannya bisa sama bisa tidak. Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengan kemarin. Sama karena kemiripan pola yang dilakukan. 6 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 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.
  • 12. 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. 7 Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural. Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming). Paradigma pemrograman ini merupakan trend baru dan sangat populr akhir-akhir ini. Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrogramn deklaratif dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikan paradigma pemrograman procedural saja. Keuntungan pemakaian algoritma adalah: logika pemecahan masalah dapat dibuat bertingkat (mulai dari global menuju terperinci), algoritma merupakan bentuk fleksibel untuk diterapkan keberbagai bahasa pemrograman. Jadi Algoritma adalah: 1. penyusunaan aspekproses logika dari suatu pemecahan masalah tanpa melihat karakteristik bahasa pemrograman yang akan digunakan. 2. Urutan notasi logika yang merupakan hasil analiss dan rancangan sistematik dari strategi pemecahan maslah, untuk menggambarkan urutan langkah kerja yang jika dikerjakan akan membawa ketujuannya. 3. Urutan logika langkah kerja untuk meyelesaikan suatu masalah. Contoh algoritma dalam kehidupan sehari-hari, misalnya: menjahit pakaian, membuat kue, jadwal harian, panduan merakit komputer, dan lain-lain.
  • 13. Beberapa notasi yang digunakan dalam penulisan algoritma : 1. Notasi I : untaian kalimat deskriptif 2. Notasi II : diagram alir (flow chart) 3. Notasi III : psudo-code 8 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 Simbol-simbol program flowchart
  • 14. 3. Tampilkan Luas 9 Notasi II : Notasi III : Algoritma Luas_Segiempat Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat Deklarasi Luas,panjang,lebar :integer Deskripsi
  • 15. Input(n) Luas= panjang * lebar Output(Luas) 10 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. 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 }
  • 16. 11 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. Contoh : 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 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 } Program Luas_Kubus ← {Judul Algoritma} { Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu mencetak hasilnya kepiranti keluaran} ← {Spesifikasi Algoritma}
  • 17. • 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 dilakukan). 12 Contoh : Kamus {Nama type, hanya untuk type yang bukan type dasar} type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh” sebagai jam. “mm” sebagai menit dan “ss” sebagai detik} {Nama konstanta, harus menyebutkan type dan nilai } constant phi : real = 3,14159 constant nama : string = ‘Alex’ constant benar : boolean = true {Nama Informasi, menyebutkan type} x,y : integer {suatu nilai yang bertype bilangan bulat} NMax : real {nilai maksimum yang bertype bilangan real} Nama : string {suatu nilai yang merupakan kumpulan character} P : point {suatu nilai pada bidang kartesian} Cari : Boolean {suatu nilai logika} Algoritma (Deskripsi)
  • 18. Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa : • Instruksi dasar seperti input/output, assignment • Sequence (runtutan) • Analisa kasus • Perulangan Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah. 13 Contoh : Algoritma input (c,d) {menerima masukan 2 bilangan c dan d} if c < d then {operasi kondisional} e ← a + b {e di assignment oleh nilai a dan b} else e ← a – boutput (e) {hasil keluaran berupa bilangan e} Catatan : Untuk kata-kata input, output, if then else, output akan dipelajari lebih mendalam dalam bab-bab selanjutnya. Contoh Penyelesaian Masalah Oleh Algoritma
  • 19. Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti Keluaran. 14 Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran. Program Cetak_string {mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke piranti keluaran} Kamus {tidak ada} Algoritma Output (‘Selamat Belajar Algoritma dan Pemrograman’) Program Nilai_Maksimal {Menentukan nilai tertinggi yang dibaca dari piranti masukan dan hasilnya dicetak ke piranti keluaran} Kamus hasil,x,y : integer {hasil merupakan variabel untuk menampung nilai keluaran} {x,y adalah variabel untuk menampung nilai masukan} Algoritma input (x,y) {membaca nilai x dan y dari piranti masukan} if x < y then {operasi kondisional} hasil ← x {hasil di assignment oleh nila terbesar} else hasil ← y output (hasil) (nilai didalam variabel hasil dicetak ke piranti keluaran}
  • 20. 15 BAB 3 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
  • 21. menuliskan subprogram, prosedur, dan fungsi, dan dapat mengenali serta menjelaskan beberapa bentuk eksepsi dan penangananya. 3.2. Refferensi  http://google.com/  http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php  https://wikipedia.co.id/  Software materi Asep Baban Sobana, ST. 16