Professional Documents
Culture Documents
Makalah Bryan Fauzi Anam (160202057) S-1 TD Bravo
Makalah Bryan Fauzi Anam (160202057) S-1 TD Bravo
Disusun oleh :
Bryan Fauzi Anam
160202057
YOGYAKARTA
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 mendukung dan membantu Penulis dalam menyelesaikan 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
mempermudahpemahaman juga sebagai bahan latihan, Penulis juga menyertakan
contoh program yang dapat dipraktekkan oleh para pembaca.
Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi parapembaca,
khususnya bagi yang akan mempelajari Algoritma dan Pemrograman.
DAFTAR ISI
HALAMAN JUDUL……………………………………………………………………………..
KATA PENGANTAR………………………………………………………………………….. ii
DAFTAR
ISI………………………………………………………………………………………… iii
BAB 1PENDAHULUAN………………………………………………………………………. 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.4.ALGORITMA………………………………………………………… 6
BAB 3 PENUTUP
3.1.KESIMPULAN………………………………………………………………….. 18
3.2.SARAN…………………………………………………………………………….. 18
DAFTAR PUSTAKA…………………………………………………………………………….
19
BAB 1
PENDAHULUAN
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.
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 Indraprasta PGRI.
BAB II
PEMBAHASAN
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
computer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan
algoritma selaluidentik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun
banyak terdapatproses yang dinyatakan dalam suatu algoritma. Cara-cara membuat
kue atau masakan yangdinyatakan dalam suatu resep juga dapat disebut sebagai
algoritma. Pada setiap resep selaluada urutan langkah-lankah membuat masakan. Bila
langkah-langkahnya tidak logis, tidakdapat dihasilkan masakan yang diinginkan. Ibu-ibu
yang mencoba suatu resep masakanakan membaca satu per satu langkah-langkah
pembuatannya lalu ia mengerjakan prosessesuai yang ia baca. Secara umum, pihak
(benda) yang mengerjakan proses disebutpemroses (processor). Pemroses tersebut
dapat berupa manusia, komputer, robot atau alatalatelektronik lainnya. Pemroses
melakukan suatu proses dengan melaksanakan atau“mengeksekusi” algoritma yang
menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam
Algoritmatersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang
diberikan kepadanya.Juru masak membuat kue berdasarkan resep yang diberikan
kepadanya, pianis memainkanlagu berdasarkan papan not balok. Karena itu suatu
Algoritma harus dinyatakan dalambentuk 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 dalambahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh
komputer.
1. Belajar Memprogram
Belajar memprogram ≠ belajar bahasa pemrograman
Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi
dansistematika pemecahan masalah kemudian menuliskannya dalam notasi
yangdisepakati bersama.
Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis.
Belajar memprogram, titik berat : designer program.
1. Belajar Bahasa Pemrograman
Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman,
aturansintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap
bahasa.
Belajar bahasa pemrograman, titik berat : coder.
1. 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
1. Aksi :
kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 danberakhir pada
saat T1).
Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan.
1. Contoh :
Ibu Tati mengupas kentang untuk mempersiapkan makan malam (luasruang
lingkupnya).
Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efeknetto
yang direncanakan ( Initial State dan Final State).
Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, danditaruh
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 darisudut
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 kentangdiambil
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, dankita
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 dengankemarin.
Sama karena kemiripan pola yang dilakukan.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti
Algoritmaadalah proses yang procedural.
1. penyusunaan aspek proses logika dari suatu pemecahan masalah tanpa melihat
karakteristik bahasa pemrograman yang akan digunakan.
2. Urutan notasi logika yang merupakan hasil analisis dan rancangan sistematik dari
strategi pemecahan maslah, untuk menggambarkanurutan 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.
Notasi I :
Algoritma Luas_Segiempat
segiempat
Deklarasi
Deskripsi
Notasi III :
Algoritma Luas_Segiempat
segiempat
Deklarasi
Luas,panjang,lebar :integer
Deskripsi
Input(n)
Output(Luas)
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.
Judul
{ Komentar mengenai Algoritma seperti cara kerja program, Kondisi awal dan
kondisi akhir dari algoritma }
Contoh :
Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan namadengan menentukan apakah teks tersebut adalah program,
prosedur, fungsi. Setelah juduldisarankan untuk menuliskan spesifikasi singkat dari teks
algoritma tersebut. Namaalgoritma sebaiknya singkat namun cukup menggambarkan
apa yang akan dilakukan olehalgoritma tersebut.
Contoh :
Catatan :
Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_”
bukanlahsuatu keharusan. Anda dapat menuliskan LuasLingkaran atau
Luas_Lingkaran. Tetapisebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan
antara kata di dalam namaalgoritma.
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
terlebihdahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya
dikelompokanmenurut jenis nama tersebut.Nama variabel belum terdefinisi nilainya
ketika didefinisikan. Pendefinisian namakonstanta sekaligus memberikan harga
konstanta tersebut, pendefinisian nama fungsidilakukan sekaligus dengan domain /
range serta spesifikasinya. Pendefinisian namaprosedur sekaligus dengan
pendefinisian parameter (jika ada) dan spesifikasi prosedur(kondisi awal “Initial State”,
Kondisi akhir “ Final State” dan proses yang dilakukan).
Contoh :
Kamus
{Nama type, hanya untuk type yang bukan type dasar}
typejam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh” sebagaijam.
“mm” sebagai menit dan “ss” sebagai detik}
{Nama konstanta, harus menyebutkan type dan nilai }
Contoh :
Algoritma
input(c,d) {menerima masukan 2 bilangan c dan d}
ifc < 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.
Program Cetak_string
{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke
piranti
keluaran}
Kamus
{tidak ada}
Algoritma
Output (‘Selamat Belajar Algoritma dan Pemrograman’)
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan
danmenuliskan hasilnya ke piranti keluaran.
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}
ifx < y then {operasi kondisional}
hasil ← x {hasil di assignment oleh nila terbesar}
else
hasil ← y
program maximal;
uses wincrt;
type
tabint =array[1..100] of integer;
var
M: array[1..100]of integer;
nilai: tabint;
n,i:integer;
max,temp:integer;function maxtab(n:integer):integer;
begin
write(‘masukkan jumlah bilangan =’);readln(M[i]);
for i:= 1 to n do
begin
if(M[i])>max then
max:=M[i];
end;writeln(‘Nilai maximum adalah:’,max);
for i:=1 to n do
begin
if (i mod 2=1) then
begin
temp:= M[i];
M[i]:= M[i+1];
M[i+1]:= temp;
end;
writeln(‘M[i]’);
end;
end.
BAB III
PENUTUP
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.
DAFTAR PUSTAKA
http://hannan.h08.alumni.ipb.ac.id/2010/06/12/pengertian-pemrograman/
http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php
googlecode.com/files/a980b55869178243a3cca38490ce9711.pdf