SlideShare a Scribd company logo
1 of 38
DASAR
PEMROGRAMAN
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.







PROGRAM
PEMROGRAMAN
BAHASA PEMROGRAMAN
PROGRAMMER
ALGORITMA
FLOWCHART
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

Program
Komputer
Yang membuat
komputer layak
disebut hebat dan
berdaya guna bagi
individu

Dapat menyelesaikan
proses-proses yang
selama ini dikerjakan
secara manual.


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?
ALGORITMA
Untuk masalah
dengan kartu
yang sedikit kita
dapat
menemukan
solusinya secara
cepat.
Bagaimana jika
data kartu yang
diurutkan
berjumlah
ribuan??
ALGORITMA
Butuh prosedur
yang berisi
langkah-langkah
pengurutan
sehingga
prosedur tersebut
dapat dijalankan
oleh sebuah
pemroses
(komputer, robot,
manusia,mesin,
etc).

Kita fokuskan pemroses algoritma
pada komputer

Langkah-langkah untuk
menyelesaikan masalah = Algoritma
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


Resep masakan
Panduan registrasi
Panduan pembukaan tabungan
Panduan instalasi software
Panduan pemasangan suatu perangkat



Semuanya menggunakan bahasa manusia





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
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
 “Algoritma yang ditulis dalam

bahasa komputer”


Program komputer : kumpulan perintah yang
diberikan pada komputer agar dapat
mengerjakan perintah yang dikehendaki oleh
programmer.
•

“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
 “Kegiatan merancang dan

menulis program”


Di dalam pemrograman ada aktivitas menulis
kode program ( coding)
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.
•

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
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


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


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:



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



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



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
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.
Fungsi Flowchart
Sebelum pembuatan
program
Mempermudah
programmer dalam
menentukan alur
logika program

Sesudah pembuatan
program
Menjelaskan alur
program kepada
orang lain










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
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
Sebuah algoritma dibangun dengan tiga buah
konstruksi :
a. Struktur Runtunan (sequence)
b. Struktur Pemilihan (selection)
c. Struktur Pengulangan (repetition)

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


Buatlah Flowchart untuk masing-masing
latihan tadi..


Pengenalan Bahasa C Plus Praktikum

More Related Content

What's hot

Contoh ms. access aplikasi penjualan
Contoh ms. access aplikasi penjualanContoh ms. access aplikasi penjualan
Contoh ms. access aplikasi penjualan
Sis Wanti
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
nur achlish rosyadi
 
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
Annisa Hayatunnufus
 

What's hot (20)

[RPL2] Design Sprint
[RPL2] Design Sprint[RPL2] Design Sprint
[RPL2] Design Sprint
 
Contoh ms. access aplikasi penjualan
Contoh ms. access aplikasi penjualanContoh ms. access aplikasi penjualan
Contoh ms. access aplikasi penjualan
 
Modul Open Office Writer
Modul Open Office WriterModul Open Office Writer
Modul Open Office Writer
 
Soal uts pemrograman web
Soal uts pemrograman webSoal uts pemrograman web
Soal uts pemrograman web
 
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
 
Keterampilan Berpikir Komputasional
Keterampilan Berpikir KomputasionalKeterampilan Berpikir Komputasional
Keterampilan Berpikir Komputasional
 
MODUL AJAR INFORMATIKA 5 - ANALISIS DATA.docx
MODUL AJAR INFORMATIKA 5 - ANALISIS DATA.docxMODUL AJAR INFORMATIKA 5 - ANALISIS DATA.docx
MODUL AJAR INFORMATIKA 5 - ANALISIS DATA.docx
 
Administrasi pembelajaran basis data 2016
Administrasi pembelajaran basis data 2016Administrasi pembelajaran basis data 2016
Administrasi pembelajaran basis data 2016
 
Konsep I/O pada Pemrograman Berorientasi Obyek
Konsep I/O pada Pemrograman Berorientasi ObyekKonsep I/O pada Pemrograman Berorientasi Obyek
Konsep I/O pada Pemrograman Berorientasi Obyek
 
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdfMODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
MODUL AJAR INFORMATIKA 1 - BERPIKIR KOMPUTASIONAL.pdf
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
 
06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx06.1 Berpikir Komputasional.pptx
06.1 Berpikir Komputasional.pptx
 
INTEGRASI APLIKASI PERKANTORAN.pptx
INTEGRASI APLIKASI PERKANTORAN.pptxINTEGRASI APLIKASI PERKANTORAN.pptx
INTEGRASI APLIKASI PERKANTORAN.pptx
 
Materi lengkap tentang power point
Materi lengkap tentang power pointMateri lengkap tentang power point
Materi lengkap tentang power point
 
Berpikir Komputasional.pptx
Berpikir Komputasional.pptxBerpikir Komputasional.pptx
Berpikir Komputasional.pptx
 
Pelatihan Microsoft Office.pptx
Pelatihan Microsoft Office.pptxPelatihan Microsoft Office.pptx
Pelatihan Microsoft Office.pptx
 
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
Fungsi Menu dan Icon Microsoft Publisher [ICT SMPN49]
 
Materi Sistem Komputer Kelas X Semester 1
Materi Sistem Komputer Kelas X Semester 1Materi Sistem Komputer Kelas X Semester 1
Materi Sistem Komputer Kelas X Semester 1
 
Latihan powerpoint
Latihan powerpointLatihan powerpoint
Latihan powerpoint
 
Praktek Power Point
Praktek Power PointPraktek Power Point
Praktek Power Point
 

Viewers also liked

Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Nabil Muhammad Firdaus
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran
mocoz
 

Viewers also liked (11)

Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran
 
Flowchart
FlowchartFlowchart
Flowchart
 
Lap.praktikum
Lap.praktikumLap.praktikum
Lap.praktikum
 
Diktat penuntun praktikum fortran
Diktat penuntun praktikum fortranDiktat penuntun praktikum fortran
Diktat penuntun praktikum fortran
 
Laporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanLaporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma Pemrograman
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 
Penyelesaian Akar-akar Persamaan Kuadrat Menggunakan Program QBasic
Penyelesaian Akar-akar Persamaan Kuadrat Menggunakan Program QBasicPenyelesaian Akar-akar Persamaan Kuadrat Menggunakan Program QBasic
Penyelesaian Akar-akar Persamaan Kuadrat Menggunakan Program QBasic
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
 

Similar to dasar-pemrograman-algoritma-flowchart

M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
Billy Alhamra
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
dedisusanto41
 

Similar to dasar-pemrograman-algoritma-flowchart (20)

Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Pemrograman komputer
Pemrograman komputerPemrograman komputer
Pemrograman komputer
 
Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritma
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 

More from PT. Likers Fice.com

Pedoman penulisan karya ilmiah 0 2
Pedoman penulisan karya ilmiah 0 2Pedoman penulisan karya ilmiah 0 2
Pedoman penulisan karya ilmiah 0 2
PT. Likers Fice.com
 

More from PT. Likers Fice.com (20)

Potensial listrik dan kapasitor(hizkia glorius soma)
Potensial listrik dan kapasitor(hizkia glorius soma)Potensial listrik dan kapasitor(hizkia glorius soma)
Potensial listrik dan kapasitor(hizkia glorius soma)
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
 
P1 algoritma dan flowchart
P1 algoritma dan flowchartP1 algoritma dan flowchart
P1 algoritma dan flowchart
 
Contoh proposal pkm yang didanai dikti
Contoh proposal pkm yang didanai diktiContoh proposal pkm yang didanai dikti
Contoh proposal pkm yang didanai dikti
 
Ruang & warna
Ruang & warnaRuang & warna
Ruang & warna
 
Presentation2
Presentation2Presentation2
Presentation2
 
Algoritma pemrograman-a[2]
Algoritma pemrograman-a[2]Algoritma pemrograman-a[2]
Algoritma pemrograman-a[2]
 
Abc01 algoritma-dan-flowchart
Abc01 algoritma-dan-flowchartAbc01 algoritma-dan-flowchart
Abc01 algoritma-dan-flowchart
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
 
Pedoman penulisan skripsi
Pedoman penulisan skripsiPedoman penulisan skripsi
Pedoman penulisan skripsi
 
Pedoman penulisan karya ilmiah 0 2
Pedoman penulisan karya ilmiah 0 2Pedoman penulisan karya ilmiah 0 2
Pedoman penulisan karya ilmiah 0 2
 
Gravitasi newton
Gravitasi newtonGravitasi newton
Gravitasi newton
 
Silogisme
SilogismeSilogisme
Silogisme
 
Pedoman penulisan skripsi
Pedoman penulisan skripsiPedoman penulisan skripsi
Pedoman penulisan skripsi
 
Masjid jami
Masjid jamiMasjid jami
Masjid jami
 
Masjid jami part 2
Masjid jami part 2Masjid jami part 2
Masjid jami part 2
 
Klasifikasi makhluk hidup
Klasifikasi makhluk hidupKlasifikasi makhluk hidup
Klasifikasi makhluk hidup
 
Biotek pengolahan limbah_cair
Biotek pengolahan limbah_cairBiotek pengolahan limbah_cair
Biotek pengolahan limbah_cair
 
Biology project
Biology projectBiology project
Biology project
 
Materi awal biologi sma
Materi awal biologi smaMateri awal biologi sma
Materi awal biologi sma
 

dasar-pemrograman-algoritma-flowchart

  • 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 
  • 5. Program Komputer Yang membuat komputer layak disebut hebat dan berdaya guna bagi individu Dapat menyelesaikan proses-proses yang selama ini dikerjakan secara manual.
  • 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?
  • 7. ALGORITMA Untuk masalah dengan kartu yang sedikit kita dapat menemukan solusinya secara cepat. Bagaimana jika data kartu yang diurutkan berjumlah ribuan??
  • 8. ALGORITMA Butuh prosedur yang berisi langkah-langkah pengurutan sehingga prosedur tersebut dapat dijalankan oleh sebuah pemroses (komputer, robot, manusia,mesin, etc). Kita fokuskan pemroses algoritma pada komputer Langkah-langkah untuk menyelesaikan masalah = Algoritma
  • 9.
  • 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.
  • 28. Fungsi Flowchart Sebelum pembuatan program Mempermudah programmer dalam menentukan alur logika program Sesudah pembuatan program Menjelaskan alur program kepada orang lain
  • 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
  • 37.  Buatlah Flowchart untuk masing-masing latihan tadi..
  • 38.  Pengenalan Bahasa C Plus Praktikum