Anda di halaman 1dari 32

PEMPROGRAMAN DASAR

SMKN 1 TOBOALI
TEKNIK KOMPUTER DAN JARINGAN

INDAR BISMOKO
NIP. 199004122015021001
ALGORITMA

 Diberikan setumpuk kartu pasien di sebuah tempat


praktek dokter yang tersusun acak. Setiap kartu
mempunyai nomor registrasi pasien. Bagaimana
mengurutkan kartu-kartu tadi berdasarkan nomor urut
pasien sehingga tersusun dengan nomor kecil di atas
dan nomor besar di bawah ? Jawaban dari masalah ini
adalah barisan kartu pasien yang sudah terurut dari
kecil ke besar
ALGORITMA

 [Masalah pengurutan] Diberikan sebuah senarai (list) S


yang terdiri dari n buah nilai bilangan bulat. Bagaimana
mengurutkan n buah nilai tersebut sehingga terurut
secara menaik?
ALGORITMA
 Diberikan sebuah daftar yang berisi nama-nama siswa
baru yang diterima di sebuah sekolah menengah
kejuruan. Daftar tersebut hanya berisi nomor peserta
ujian yang diterima. Carilah apakah seorang calon
mahasiswa baru yang nomor peserta ujiannya diketahui
terdapat di dalam daftar tersebut? Jawaban dari
masalah ini adalah "ya" jika nomor tersebut
ditemukan di dalam daftar, atau "tidak" jika tidak
terdapat di dalamnya.
ALGORITMA

 [Masalah pencarian] Tentukan apakah suatu nilai x


terdapat di dalam sebuah senarai S yang berisi n buah
bilangan bulat!
ALGORITMA

 Setiap masalah umumnya mengandung satu atau lebih


parameter yang dinyatakan di dalam masalah tersebut.
Misalnya pada contoh masalah pengurutan di atas, S
dan n adalah parameter masalah. Parameter ini di
dalam pernyataan masa1ah belum diberi nilai spesifik,
dan semua nilai parameter merupakan masukan (input)
untuk masalah tersebut. Setiap pemberian nilai untuk
semua parameter masalah dinamakan instansiasi
masalah (instance of a problem). Jawaban terhadap
instansiasi masalah disebut solusi
ALGORITMA

 Sebagai contoh, instansiasi masalah untuk masalah


pengurutan adalah
ALGORITMA

 Algoritma adalah urutan langkah-langkah untuk memecahkan


suatu masalah.
 Algoritma adalah deretan instruksi yang jelas untuk
memecahkan masalah, yaitu untuk memperoleh keluaran yang
dlinginkan dari suatu masukan dalam jumlah waktu yang
terbatas.
 Algoritma adalah prosedur komputasi yang terdefinisi dengan
baik yang menggunakan beberapa nilai sebagai masukan dan
menghasilkan beberapa nilai yang disebut keluaran. Jadl,
algoritma adalah deretan langkah komputasl yang
mentransformasikan masukan menjadi keluaran
ALGORITMA

 Misalkan ada dua buah ember atau bejana yang berisi air
larutan) yang berwarna, sebut ember A dan B. Ember A berisi air
yang berwarna merah, sedangkanan ember B berisi air berwama
biru . Volume air di dalam kedua ember sama. Bagaimana
mempertukarkan lsi kedua ember ltu sedemikian sehingga
nantinya ember A akan berisi air berwarna biru dan ember B
berisi air berwama merah.
ALGORITMA
ALGORITMA
ALGORITMA

 Misalkan anda mempunyai 2 buah ember, masing-


masing bervolume 5 dan 3 liter. Anda diminta
mendapatkan air (dari sebuah danau) sebanyak 4 liter
dengan menggunakan bantuan hanya kedua ember
tersebut (tidak ada peralatan lain yang tersedia, hanya
kedua ember itu saja yang ada), terserah bagaimana
caranya, Anda boleh memindahkan air dari satu ember
ke ember lain, membuang seluruh air dari ember, dan
sebagainya. Bagaimana algoritmanya ?
ALGORITMA
1. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
2. Tuangkan air dari ember 3-liter de dalam ember 2-liter . {ember 5-liter sekarang
berisi 3 liter air}
3. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
4. Tuangkan air dari ember 3-liter ke dalam ember 5-liter hingga penuh. {di dalam
ember 3-liter sekarang tersisa 1 liter air}
5. Buang seluruh air dari ember 5-liter {ember 5-liter kosong}
6. Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-iter sekarang
berisi 1 liter air}
7. Isi penuh ember 3-liter dengan air. {ember 3-liter berisi 3 liter air}
8. Tuangkan air dari ember 3-liter ke dalam ember 5-liter. {ember 5-liter sekarang
berisi 1 +3 = 4 liter air}
ALGORITMA

 Algoritma adalah jantung ilmu komputer atau


informatika. Banyak cabang dari ilmu komputer yang
diacu dalam terminologi algoritma, misalnya algoritmn
perutean (routing) pesan di dalam jaringan komputer,
algoritma brensenham untuk menggambar garis lurus
(bidang grafika komputer), algoritma Knuth-Morris-
Pratt untuk mencari suatu pola di dalam teks (bidang
information retrieval) , dan sebagainya.
PROGRAM DAN PEMPROGRAMAN

 Algoritma baru efektif jika dijalankan oleh sebuah


pemroses (processor).Pemroses itu bisa manusia,
komputer, robot, mesin, dan sebagainya. Pemroses
membaca setiap instruksi di dalam algoritma lalu
mengerjakannya. suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma,
2. Mengerjakan operas! yang bersesuaian dengan
langkah tersebut.
PROGRAM DAN PEMPROGRAMAN

 Algoritma yang ditulis dalam Bahasa komputer dinamakan


program.
 Bahasa komputer yang digunakan dalam menulis program
dinamakan bahasa pemrograman.
 Orang yang membuat program komputer disebut pemrogram /
programer.
 Kegiatan merancang dan menulis program disebut
pemrograman.
 Di dalam pemrograman ada aktivitas menulis kode program,
kegiatan ini dinamakan coding.
PROGRAM DAN PEMPROGRAMAN
BELAJAR MEMPROGRAM DAN BELAJAR
BAHASA PEMROGRAMAN
 Belajar memprogram berarti mernpelajari rnetodologi
pemecahan masalah, kemudian menuliskan algoritma
pemecahan masalah kedalam notasi tertentu.
 Belajar bahasa pemrograman berarti belajar memakai
suatu bahasa komputer, aturan tata bahasanya,
instruksi-lnstruksinya, tata cara pengoperasian
compiler-nya, dan memannfaatkan instruksi-instruksi
tersebut untuk membuat program yang ditulis hanya
dalam bahasa itu saja.
BAHASA PEMROGRAMAN

 Berdasarkan tujuan aplikasinya, bahasa pemrograman dapat


digolongkan menjadi dua kelompok:
1. Bahasa pemrograman bertujuan khusus (specific purpose
programming language). Yang termasuk kelompok ini adalah Cobol (untuk
terapan bisnis dan administrasi), Fortran (aplikasi komputasi ilmiah),
bahasa assembly (aplikasi pemrograman mesin), Prolog (aplikasi
kecerdasan buatan), bahasa-bahasa simulasi (Simscript), dan sebagainya.
2. Bahasa pemrograman bertujuan umun (general purpose
programming language) yang dapat digunakan untuk berbagai aplikasi.
Yang termasuk kelompok ini adalah bahasa Pascal, Basic, dan C,C++.
BAHASA PEMROGRAMAN

 Berdasarkan "kedekatan" bahasa pemrograman apakah lebih condong ke


bahasa mesin atau ke bahasa manusia :
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap
instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui
penerjemah (translator). Contohnya adalah bahasa mesin (machine
language) dan Bahasa assembly.
2. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih
mudah dlpaharni, lebih "manusiawi", dan lebih dekat ke Bahasa manusia
.Kelemahannya, program dalam bahasa tingkat tinggi tidak dapat
langsung dilaksannkan oleh komputer. la perlu diterjemahkan terlebih
dahulu oleh sebuah translator Bahasa (yang disebut kompilator atau
compiler) ke dalam bahasa mesin sebelum akhirnyaa dieksekusi oleh
CPU.
BAHASA PEMROGRAMAN
NOTASI ALGORITMIK
A. NOTASI PSEUDO-CODE
1. Bagian Judul (Header)
Pada bagian ini berisi judul serta IS & FS (initial State dan Final State)
dari program yang akan dibuat.
Bagian ini di buat dengan format :
Algoritma "judul Algoritma"
{.."berisi keterangan dan fungsi dari algoritma"..
IS : ..."merupakan keadaan awal sebelum program dijalankan"
FS : ..."merupakan keadaan akhir setelah program dijalankan"..
}
NOTASI ALGORITMIK
A. NOTASI PSEUDO-CODE
2. Bagian Deklarasi
Bagian ini merupakan space untuk mendeklarasikan semua nama
yang dipakai pada algoritma beserta properti yang dipakai
olehnya. nama tersebut dapat berupa variable, konstanta, tipe
data, procedure ataupun function.
Deklarasi
...."jenis Deklarasi"....
...."nama variable"....:..."Tipe data dari variable"
NOTASI ALGORITMIK
A. NOTASI PSEUDO-CODE
3. Bagian Isi
bagian inti dari Notasi Algoritma, pada bagian ini berisi langkah-
langkah yang ada pada algoritma tersebut.

Algoritma
 ... "Langkah-langkah penyelesaian program"..
NOTASI ALGORITMIK
A. NOTASI PSEUDO-CODE
NOTASI ALGORITMIK
B. FLOWCHART
 Flowchart adalah sekumpulan
symbol-symbol yang menunjukkan
atau menggambarkan rangkaian
kegiatan - kegiatan program dari
awal hingga akhir. gambaran
dalam bentuk diagram alir dari
algoritma – algoritma dalam suatu
program, yang menyatakan arah
alur program tersebut.
NOTASI ALGORITMIK
B. FLOWCHART
PEMROGRAMAN PROSEDURAL

Pada pemrograman prosedural, program dibedakan


antara bagian data dengan bagian instruksi. Bagian
instruksi terdiri atas runtunan (sequence) instruksi yang
dihasilkan satu per satu secara berurutan oleh sebuah
pemroses. Alur pelaksanaan instruksi dapat berubah
karena adanya Percabangan / kondisional. Data yang
disimpan di dalam memori dimanipulasi oleh instruksi
secara beruntun. Kita katakan bahwa tahapan
pelaksanaan program mengikuti pola beruntun atau
prosedural.
STRUKTUR DASAR ALGORITMA
KONSTRUKSI DASAR
 Sebuah algoritma dapat dibangun dari tiga buah konstruksi atau
struktur dasar, yaitu runtutan (sequence), pemilihan
(selection), dan pengulangan (repetition)
PEMPROGRAMAN DASAR
Buatlah notasi algoritma untuk menghitung
luas persegi panjang dengan notasi pseudo-
code dan notasi flowchart
LUAS = PANJANG * LEBAR
Dibaca 2 buah bilangan bulat A dan B,
Tuliskan notasi algoritma untuk
menukar 2 buah bilangan A dan B
menjadi A = B dan B = A

Anda mungkin juga menyukai