2. Mampu menjelaskan tentang pemrograman
Memahami definisi dan kegunaan bahasa
pemrograman
Mengerti tentang algoritma.
Membuat algoritma dari suatu permasalahan.
Mengerti tentang flowchart.
Membuat flowchart dari suatu permasalahan.
4. Karena manusia hidup
dengan masalah yang
melingkupinya.
Misalnya masalah
kebutuhan komunikasi
yang tidak dibatasi
ruang dan waktu.
Terciptalah teknologi
telepon,sms, email,
facebook, web blog,
dst..
Sms, email, facebook
lahir dari kegiatan
pemrograman.
Pemrograman sudah
menjadi kegiatan yang
penting di era
teknologi informasi
6.
Diberikan setumpuk kartu
pasien di sebuah tempat
praktek dokter yang
tersusun secara acak.
Setiap kartu mempunyai
nomor registrasi pasien.
Bagaimana mengurutkan
kartu tersebut dari
registrasi kecil ke besar?
Diberikan
daftar nama
pejabat baru
beserta
jumlah
kekayaannya.
Tentukan
pejabat mana
yang paling
‘gemerincing’
kekayaanya?
10. Sejarah Algoritma
•Asal kata Algoritma
(algorism – algorithm)
berasal dari nama Abu
Ja’far Muhammad ibn
Musa Al-Khuwarizmi
Ilmuan Persia yang menulis
kitab “al jabar w’almuqabala” (rules of
restoration and reduction –
aturan pemugaran dan
pengurangan) Tahun 825 M
• Berasal dari Iran
• Algoritma masuk
Indonesia tahun 1980-an
11.
Resep masakan
Panduan registrasi
Panduan pembukaan tabungan
Panduan instalasi software
Panduan pemasangan suatu perangkat
Semuanya menggunakan bahasa manusia
12.
13.
14. Algoritma baru efektif jika
Dijalankan oleh pemroses dalam
Hal ini difokuskan pada komputer
Komputer membaca
setiap instruksi di dalam
Algoritma lalu
mengerjakannya.
So, algoritma harus ditulis
dalam bahasa khusus
yangdimengerti komputer
15. Bahasa C
Bahasa Assembly
ST 1,[801]
x=1;
i=0;
ST 0,[802]
TOP:
while (i!=10) {
BEQ [802],10,BOT
INCR [802]
i++;
MUL [801],2,[803]
x=x*2;
ST [803],[801]
}
printf("%d",x);
JMP
BOT:
TOP
LD A,[801]
CALL PRINT
Bahasa Mesin
00000000001001011101001100000000
00000000001001001101010000000000
00000000100010100100100111110000
00000000010001000101010000000000
00000000010010001010011110100011
00000000111001011010101100000010
00000000001010010000000000000000
00000000110101010000000000000000
00000000110101001010100000000000
00000000100100010100010000000000
IF2031-Algoritma dan Struktur Data/Hamonangan Situmorang
15
16. “Algoritma yang ditulis dalam
bahasa komputer”
Program komputer : kumpulan perintah yang
diberikan pada komputer agar dapat
mengerjakan perintah yang dikehendaki oleh
programmer.
17. •
“Bahasa komputer yang
digunakan dalam menulis
program”
•
Macam Bahasa Pemrograman :
C, C++, Java, PHP, Visual basic, dll
Perbedaan: cara memberikan instruksi (sintaks)
Persamaan: bertujuan menghasilkan output
yang sama
Orang yang membuat program disebut pemrogram
18. “Kegiatan merancang dan
menulis program”
Di dalam pemrograman ada aktivitas menulis
kode program ( coding)
19. BELAJAR MEMPROGRAM
Mempelajari metodologi
pemecahan masalah,
kemudian menuliskan
algoritma pemecahan
masalah dalam bahasa
tertentu
BELAJAR BAHASA
PEMROGRAMAN
Belajar memakai suatu
bahasa pemrograman,
aturan tata bahasanya,
instruksi-instruksinya,
compilernya
Di dalam pemrograman, kita lebih menekankan pada pemecahan masalah.
Sedangkan menulis kode program adalah aktivitas terakhir
Karena belajar memprogram yang baik bukanlah belajar membuat program
Yang penting hasilnya benar.
20. •
Pemrograman Terstruktur
– Persoalan diselesaikan dengan menentukan
langkah per langkah
•
Pemrograman Berorientasi Objek
– Penyelesaian persoalan dilakukan dengan
membagi menjadi objek-objek
•
Pemrograman Deklaratif/Fungsional
– Persoalan diselesaikan dengan mengekspresikan
logika persoalan
20
21. Mengerti permasalahan yang akan
diselesaikan.
– Input layout
– Proses-proses
– Output layout
Menganalisa penyelesaian masalah.
Membuat algoritma dan flowchart.
Menulis program.
Melakukan testing program selesai.
Membuat dokumentasi
22.
Soal:
Menghitung luas lingkaran dengan masukan
berupa R petunjuk: Luas Lingkaran dapat dihitung
dengan rumus L =πR2
Jawab:
1. Tentukan kostanta phi = 3.14
2. Masukkan R
3. Hitung Luas Lingkaran
4. cetak Luas Lingkaran
23.
Soal:
Menukar dua buah bilangan X = 10 dan Y = 2, ditukar
menjadi X = 2 dan Y = 10, Bagaimana caranya?
Jawab 1:
1.
2.
3.
X = X +Y
Y = X –Y
X = X –Y
1.
2.
3.
tampung = X
X =Y
Y = tampung
Jawab 2:
24.
Buatlah algoritma untuk mencari nilai ratarata dari 3 bilangan?
Jawab:
1. Mulai
2. Masukkan nilai a, b, c
3. Hitung rata-rata = (a+b+c)/3
4. Tampilkan nilai rata-rata
5. Selesai
25.
Buatlah algoritma untuk mencari nilai terbesar
dari 2 bilangan?
Jawab:
1. Mulai
2. Input a,b
3. Cek apakah a > b
4. Jika langkah 3 benar tampilkan bilangan terbesar a
5. Kalau salah tampilkan bilangan terbesar b
Selesai
26.
Buatlah algoritma untuk menampilkan 10
bilangan positif pertama?
Jawab:
1. Mulai
2. Tentukan i =1, n = 10
3.Selama i<= n lakukan langkah 4 kalau tidak lakukan
langkah 6
4.Tampilkan nilai i
5. i = i+1
6. Selesai
27. Flowchart
Adalah suatu bentuk
penggambaran
algoritma berupa
diagram alir yang
menggunakan simbol
khusus untuk
menggambarkan alur
kerja dari sebuah
program.
Tujuan : untuk
memudahkan
programmer dalam
memahami alur
program yang akan
dibuat.
29.
Sebaiknya digambar dari atas ke bawah dan dimulai
dari bagian kiri suatu halaman
Kegiatan dlm Flowchart harus ditunjukkan dengan
jelas
Harus ditunjukkan kegiatan mulai dan selesai
Masing2 kegiatan dalam Flowchart sebaiknya
menggunakan suku kata yang mewakili pekerjaan
Masing2 kegiatan dalam Flowchart harus dalam
urutan yang tepat
Kegiatan yang terpotong dan akan disambungkan ke
tempat lain harus ditunjukkan dengan simbol
penghubung
Gunakan simbol-sinmol alir yang standar
30. SIMBOL
NAMA
FUNGSI
TERMINATOR
Permulaan/akhir program
GARIS ALIR
(FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian harga awal
PROSES
Proses perhitungan/proses pengolahan data
INPUT/OUTPUT DATA
Proses input/output data, parameter,
informasi
PREDEFINED PROCESS
(SUB PROGRAM)
Permulaan sub program/proses
menjalankan sub program
DECISION
Perbandingan pernyataan, penyeleksian
data yang memberikan pilihan untuk
langkah selanjutnya
ON PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang
berada pada satu halaman
OFF PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang
berada pada halaman berbeda
31. Sebuah algoritma dibangun dengan tiga buah
konstruksi :
a. Struktur Runtunan (sequence)
b. Struktur Pemilihan (selection)
c. Struktur Pengulangan (repetition)
32.
33.
34.
35.
36. Algoritma untuk menentukan apakah suatu
bilangan merupakan bilangan genap atau bilangan
ganjil.
Bentuk flowchart-nya sbb :
Start
A
Input
Bilangan
Bulat
Apakah
T
Sisa = 0
Hitung sisa
bagi antara
bilangan
dengan 2
Y
Cetak
Genap
End
A
Cetak
Ganjil