DASAR PEMOGRAMAN
Disusun Oleh :
Segala puji syukur kami panjatkan kepada Tuhan Yang Maha Esa. Karena atas
izin-Nya kami dapat menyelsesaikan makalah ini dengan baik. makalah ini diselesaikan
untuk memenuhi tugas mata kuliah Bahasa Indonesia, dan kami mengucap terimakasih
kepada dosen selaku pembimbing kami dalam menyelesaikan makalah ini yaitu Ibu RINI
OKTARI BATUBARA, S.Kom, M.Kom.
Kami berharap makalah ini sedikit banyak memberi manfaat bagi pembaca maupun
bagi penyusun. Akhir kata kami meminta maaf apabila ada kesalahan kami dalam
penyusunn makalah ini karena kami jauh dari kata sempurna. Dari mengharaapkan kritik
dan saran dari para pembaca yang membangun agar kedepannya kami dapat Menyusun
makalah berikutnya dengan baik dan lebih sempurna. Semoga apa yang kami susun ini
dapat bermanfaat.
Tim Penyusun
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
BAB 3 PENUTUP
3.1. KESIMPULAN 16
3.2. REFERENSI 16
ii
BAB 1
PENDAHULUAN
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
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
Judul algoritma merupakan bagian yang menjelaskan tentang nama algoritma dan
penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat tapi culup untuk
menggambar kan apa yang akan dilakukan. Dibawah ini ada contoh nama algoritma
disertai penjelasan singkat atau apa yang akan dilakukan oleh algoritma. Nama algoritma
juga sering disebut dengan spesifikasi algoritma. Algoritma aharus dituliskan sesuai
dengan spesifikasi yang ditentukan.
3
2.2.2. Mekanisme Pelaksanan Algoritma Oleh Pemroses
Programming
Language Paradigm
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
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.
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.
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
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.
Notasi I :
Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang
segiempat
Deklarasi
Luas,panjang,lebar : bilangan bulat
Deskripsi
1. Masukkan nilai lebar dan panjang
2. Hitung luas sama dengan panjang kali lebar
3. Tampilkan Luas
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.
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 }
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
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}
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.
Program Cetak_string
{mencetak string “Selamat Belajar Algoritma dan Pemrograman” ke piranti
keluaran}
Kamus
{tidak ada}
Algoritma
Output (‘Selamat Belajar Algoritma dan Pemrograman’)
14
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan
dan menuliskan 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}
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