Disusun Oleh :
NIM 2212000205
2022
KATA PENGANTAR
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.
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 program yang dapat dipraktekkan oleh para pembaca.
Namun demikian, Penulis merasa masih banyak sekali kekurangan dalam
penyusunan makalah ini, sesuai dengan pepatah yang mengatakan bahwa tak ada
gading yang tak retak. Oleh karena itu, segala saran dan kritik yang membangun
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,
khususnya bagi yang akan mempelajari Algoritma dan Pemrograman.
KATA PENGANTAR……………………………………………………………..
DAFTAR ISI…………………………………………………………………….....
BAB 1
PENDAHULUAN
1.1 LATAR BELAKANG………………………………………….........................
1.2. TUJUAN…………………………………………………………………….....
BAB 2
PEMBAHASAN
2.1. PENGERTIAN ALGORITMA DAN PEMROGRAMAN……........................
2.2. DEFINISI ALGORITMA……………………………………………………...
2.2.1. ALGORITMA MERUPAKAN JANTUNG ILMU INFORMATIKA………
2.2.2. MEKANISME PELAKSANAAN ALGORITMA OLEH PEMROSES........
2.2.3. BELAJAR MEMPROGRAM DAN BELAJAR BAHASA PROGRAM…...
2.2.4. ALGORITMA…………………………………………………………….....
BAB 3
PENUTUP
3.1 KESIMPULAN…………………………………………………………….......
32. SARAN…………………………………………………………………………
3.3 DAFTAR PUSTAKA………………………………………………………….
BAB 1
PENDAHULUAN
1.2 TUJUAN
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.
Programming
Language Paradigm
Imperative Declarative
Prosedural C, ObjOriented Parallel Logic : Functional : Database :
Pascal, Ada, Object Processing : PROLOG LISP, APL, SQL
Fortran, Pascal, C++, Ada, Pascal S, SCHEME
Basic Java, Occam,
Smalltalk, CLinda
a. EiffelMemprogram
Belajar
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.
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.
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.
Algoritma
{ Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak
diantara
Judul tanda kurung kurawa akan dianggap sebagai notasi algoritma yang
(Header)
akan berpengaruh terhadap kebenaran algoritma }
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).
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}
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’)
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}
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 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.
DAFTAR PUSTAKA
http://google.com/
http://ikc.dinus.ac.id/berseri/alex-algoritma/index.php
https://wikipedia.co.id/
Software materi Asep Baban Sobana, ST.