SlideShare a Scribd company logo
1 of 68
Algoritma dan
Pemrograman
Tujuan
memberikan pengetahuan konsep
dan penerapan algoritma sebagai
dasar pembuatan program dengan
menggunakan salah satu bahasa
pemrograman.
Kompetensi Matakuliah
 Mahasiswa mampu:
 menjelaskan logika berpikir komputer (computational
thinking),
 menjelaskan alasan-alasan komputer dapat mengerjakan
perintah-perintah yang diberikan,
 menjelaskan prinsip kerja program,
 menggambarkan logika jalannya program secara tertulis
dengan algoritma (pseudo code) dan dilengkapi dengan
diagram alir (flow chart) menggunakan suatu bahasa
pemrograman tertentu
 menjelaskan konsep pemrograman terstruktur
 membuat program sederhana dengan bahasa C
Buku Acuan Utama
Mengapa Belajar Algoritma dan
Pemrograman?
 Untuk menulis kode dalam bahasa yang dimengerti
komputer
 Untuk melatih logika berpikir
 Untuk dasar matakuliah lain di Teknik Informatika dan
Sistem Informasi
Apakah belajar programming
itu sulit?
 Hanya butuh waktu / “jam terbang”
 Hanya butuh semangat dan kemauan
 Hanya butuh sering mencoba / latihan!
 Kuncinya latihan dan diskusi!
Referensi
 Referensi
 Algoritma dan Pemrograman dalam Bahasa
Pascal dan C (Buku 1), Rinaldi Munir, Informatika
Bandung
 Algoritma dan Pemrograman dalam Bahasa
Pascal dan C (Buku2), Rinaldi Munir&Leoni Lidya,
Informatika Bandung
Computer
Bagan Sistem Komputer
Definisi Program
 Perwujudan atau implementasi algoritma yang ditulis dalam bahasa
pemrograman tertentu
 A computer program is just a collection of the instructions necessary
to solve a specific problem
 Program adalah kumpulan instruksi atau perintah yang disusun
sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk
menyelesaikan suatu persoalan.
 Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut
source code yang dibuat oleh programmer (pembuat program)
 Instruksi (statement) yang dimaksud adalah syntax (cara penulisan)
sesuai dengan bahasa pemrograman yang digunakan yang
mempunyai komponen-komponen : Input, Output, Proses,
Percabangan dan Perulangan.
Algoritma
 Penemunya adalah seorang ahli matematika dari
uzbekistan yang bernama Abu Abdullah Muhammad Ibn
Musa al-Khwarizmi (770-840).
 Di literatur barat dia lebih terkenal dengan sebutan
Algorizm. Panggilan inilah yang kemudian dipakai untuk
menyebut konsep algorithm yang ditemukannya. Dalam
bahasa Indonesia kita kemudian menyebutkannya sebagai
algoritma.
 Algoritma adalah kunci dari bidang ilmu komputer, karena
banyak bidang di bawah ilmu komputer yang lahir
berdasarkan konsep algoritma ini.
 Pada hakekatnya algoritma juga adalah kunci dari
kehidupan kita.
 Cara membuat masakan (resep masakan) adalah juga
sebuah contoh nyata dari algoritma.
Algoritma
 adalah logika, metode dan tahapan
(urutan) sistematis yang digunakan untuk
memecahkan suatu permasalahan.
urutan langkah logis untuk
menyelesaikan masalah tertentu
Algoritma
Ketika manusia berusaha memecahkan
masalah, metode atau teknik yang
digunakan untuk memecahkan masalah
itu ada kemungkinan bisa banyak (tidak
hanya satu).
Dan kita memilih mana yang terbaik
diantara teknik-teknik itu.
Hal ini sama juga dengan algoritma,
yang memungkinkan suatu
permasalahan dipecahkan dengan
metode dan logika yang berlainan.
Komunikasi Manusia dan
Komputer
 Proses komunikasi antara manusia dengan komputer adalah sebagai
berikut:
 Manusia mendesain Algoritma
 Manusia menterjemahkan Algoritma tersebut ke dalam bahasa
pemrograman yang dipilih sehingga menjadi sebuah program
 Komputer menjalankan program hasil penterjemahan algoritma menjdi
bahasa pemrograman diatas
 Komputer mengeluarkan respon kepada manusia
 User : Masukkan user name
 User : Masukkan Password
 Sistem :Cek apakah username terdaftar?
 Sistem :Jika tidak terdaftar, maka sistem akan
mengeluarkan peringatan adanya kesalahan. Jika terdaftar
maka, selanjutnya sistem akan mengecek apakah username
dan password cocok (sesuai dengan database)?
 Sistem :Jika Username dan password cocok maka user
diperbolehkan masuk ke Facebook ybs. Jika tidak cocok
maka sistem akan mengeluarkan peringatan adanya
kesalahan
 User : Dapat mengakses halaman facebook ybs
Algoritma Login ke Facebook
Belajar Memprogram & Belajar
Bahasa Pemrograman
 Belajar memprogram:
pemahaman persoalan, analisis, dan sintesis
 Belajar Bahasa Pemrograman :
 Belajar memakai suatu bahasa
aturan sintaks (tata bahasa)
Pemecahan Masalah
-Strategi
-Metodologi
-Sistematika
Notasi yang telah
disepakati
Bahasa Pemrograman
 Adalah alat untuk membuat program
 Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP,
Java, dll.
 Perbedaan: cara memberikan instruksi (sintaks)
 Persamaan: bertujuan menghasilkan output yang sama
Bahasa C di tingkat dunia
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Paradigma Pemrograman
 Pemrograman Prosedural / Terstruktur
 Berdasarkan urutan-urutan, sekuensial
 Program adalah suatu rangkaian prosedur untuk
memanipulasi data. Prosedur merupakan kumpulan instruksi
yang dikerjakan secara berurutan.
 Harus mengingat prosedur mana yang sudah dipanggil dan
apa yang sudah diubah.
 Program dapat dibagai-bagi menjadi prosedur dan fungsi.
 Contoh: PASCAL dan C
 Pemrograman Fungsional
 Berdasarkan teori fungsi matematika
 Fungsi merupakan dasar utama program.
 Pemrograman Modular
 Pemrograman ini membentuk banyak modul.
 Modul merupakan kumpulan dari prosedur dan fungsi yang
berdiri sendiri
 Sebuah program dapat merupakan kumpulan modul-modul.
 Contoh: MODULA-2 atau ADA
Paradigma Pemrograman
 Pemrograman Berorientasi Obyek
 Pemrograman berdasarkan prinsip obyek, dimana obyek
memiliki data/variabel/property dan
method/event/prosedur yang dapat dimanipulasi
 Contoh: C++, Object Pascal, dan Java.
 Pemrograman Berorientasi Fungsi
 Pemrograman ini berfokus pada suatu fungsi tertentu saja.
Sangat tergantung pada tujuan pembuatan bahasa
pemrograman ini.
 Contoh: SQL (Structured Query Language), HTML, XML
dan lain-lain.
 Pemrograman Deklaratif
 Pemrograman ini mendeskripsikan suatu masalah dengan
pernyataan daripada memecahkan masalah dengan
implementasi algoritma.
 Contoh: PROLOG
Pembagian Target Program
 Pemrograman Desktop
 Pemrograman Web
 Pemrograman Mobile
Siklus Hidup Perangkat
Lunak (Waterfall Model)
 Dilihat dari Siklus diatas, Algoritma Pemrograman menempati
posisi dibagian Code / implementasi karena bagian implementasi
merupakan bagian dimana pemrogram melakukan proses coding
(pembuatan program).
Aksi dalam algoritma
 Kejadian yang terjadi pada waktu yang terbatas dan
menghasilkan efek yang memang direncanakan
 Dari waktu0 ke waktuN
 Contoh: “aksi Bu Ani mengupas kentang untuk makan
malam”
 Batasan:
Apa kentang harus dibeli dulu atau sudah ada?
Apakah mengupas berarti sampai kentang terhidang?
Apakah setelah kentang selesai dikupas, harus ada kegiatan
lain seperti dibuat sup atau digoreng?
 Berarti harus ada kejadian awal = start dan kejadian akhir =
finish
 Kejadian bu Ani dapat juga diterapkan pada ibu-ibu
yang lain, yang juga akan mengupas kentang
 Cara (Metode) sebisa mungkin harus bersifat universal
Contoh kasus
 Ada 2 gelas kosong berukuran: 5 liter dan 3 liter
 Bagaimana cara kita mendapatkan air berukuran 4
liter?
 Bagaimana cara mendapatkan air berukuran 2 liter?
Cara
 Masukkan air ke 3 liter hingga penuh
 Masukkan air 3 liter ke 5 liter, sisa 2 liter
kosong
 Masukkan air ke 3 liter hingga penuh
 Tuangkan air 3 liter ke sisa 2 liter, berarti sisa
1 liter di gelas 2 liter
 Buang seluruh air di gelas 5 liter tadi
 Tuangkan air 1 liter yg ada di gelas 3 liter tadi
hingga ke 5 liter kosong
 Masukkan air ke 3 liter hingga penuh
 Tuangkan 3 liter ke gelas 5 liter yang sudah
ada 1 liter tadi, hingga kita dapat 4 liter
DASAR-DASAR
ALGORITMA dan
FLOW CHART
Proses, Instruksi, dan Aksi
Algoritma merupakan deskripsi urutan
pelaksanaan suatu proses
Algoritma tersusun oleh sederetan
langkah instruksi yang logis
Tiap langkah instruksi akan mengerjakan
suatu tindakan (Aksi)
Bila Aksi dilaksanakan, maka sejumlah
operasi yang bersesuaian akan
dikerjakan oleh CPU
Struktur Dasar Algoritma
 Runtunan (sequence)
 aksi-aksi dalam algoritma yang dikerjakan secara
berurutan
 contoh :
A1. Aksi 1
A2. Aksi 2
A3. Aksi 3
Struktur Dasar Algoritma(2)
Pemilihan (selection)
 aksi dikerjakan jika kondisi tertentu terpenuhi
 contoh :
IF kondisi1 THEN
Aksi1
ELSE
IF kondisi2 THEN
Aksi2
ELSE
Aksi3
(Aksi 3 dilakukan jika kondisi 1 dan 2
tidak terpenuhi)
IF kondisi THEN
aksi
IF kondisi THEN
aksi1
ELSE
aksi2
Struktur Dasar Algoritma (3)
 Pengulangan (repeatition)
 aksi-aksi yang dikerjakan berulang kali
 contoh :
 FOR pencacah pengulangan dari a sampai b DO
Aksi
(aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu
dari a sampai b yakni sebanyak b-a+1 kali)
 REPEAT
Aksi
UNTIL kondisi
(pengulangan aksi dilakukan sehingga kondisi/persyaratan
berhenti terpenuhi)
 WHILE kondisi DO
Aksi
(selama kondisi/persyaratan pengulangan masih benar, maka
aksi dikerjakan)
Flow Chart
Flow chart suatu bagan/diagram yang
menggambarkan aliran proses yang
dikerjakan program dari awal sampai
akhir.
Flow chart adalah algoritma yang
digambarkan dengan diagram
Fungsi dari flow chart adalah
mendeskripsikan urutan pelaksanaan
suatu proses (sama dengan fungsi
algoritma)
Penulisan Algoritma
TEKS ALGORITMA
berisi langkah-langkah penyelesaian masalah
yang ditulis dengan bahasa yang mudah
dipahami
Flow Chart
 Input
 Processing
 Output (display)
 Decision (untuk mengevaluasi suatu kondisi)
 Procedure/subroutine
Flow Chart(2)
 Flow lines
 Terminator (mengawali dan mengakhiri flow chart)
 On page connector
 Off page connector
 Annotation (memberi komentar
atau keterangan dalam flow chart)
ATURAN PENULISAN
TEKS ALGORITMA
Teks Algoritma
Teks algoritma berisi langkah-langkah
penyelesaian masalah
Tidak ada notasi baku tapi sebaiknya
berkorespondensi dengan bahasa
pemrograman umum, supaya mudah
ditranslasikan ke dalam bahasa
pemrograman
Notasi yang digunakan untuk menulis
algoritma disebut notasi algoritmik
Teks Algoritma
 Struktur teks algoritma
 Kepala algoritma
terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut
 Deklarasi
mendefinisikan semua nama (konstanta, peubah,
tipe, prosedur atau fungsi) yang dipakai dalam
algoritma
 Deskripsi
Berisi uraian langkah-langkah penyelesaian
Komentar ditulis diantara tanda kurung “{“ dan “}”
Contoh Teks Algoritma
Judul algoritma
spesifikasi algoritma
Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah
Pascal
TIPE, NAMA, DAN
NILAI
Tipe Data
Tipe data terdiri dari tipe:
 Tipe dasar
 Tipe yang dapat langsung dipakai (disediakan
oleh bahasa pemrograman)
 Contoh: boolean, integer, real, char, string (?)
 Tipe bentukan
 Tipe yang didefinisikan sendiri oleh pemrogram
 Tipe yang dibentuk dari tipe dasar atau dari tipe
bentukan lain yang sudah didefinisikan
 Contoh: tipe dasar yang diberi nama tipe baru,
record
Tipe Data(2)
Empat hal yang harus diperhatikan dalam pendefinisian tipe:
 Nama
 Domain harga
 Konstanta
 Operator
Tipe Data(3)
Tipe Bentukan
 Tipe dasar yang diberi nama tipe baru
 Nama baru untuk tipe dasar menggunakan kata kunci type
 Domain nilai, cara menulis konstanta, dan operasi-operasi
yang dapat dijalankan pada tipe baru tersebut tidak
berubah, sama seperti tipe dasarnya.
 Contoh: type BilanganBulat: integer
 Rekaman (record)
 Rekaman disusun atas satu atau lebih field
 Tipe field menyimpan data dan tipe dasar tertentu atau dari
tipe bentukan lain yang sudah didefinisikan sebelumnya
 Nama rekaman ditentukan oleh pemrogram
 Rekaman disebut juga tipe terstruktur
Contoh Record
DEKLARASI
type MataKuliah : record <KodeMK : string, {kode matakuliah}
NamaMK : string, {nama matakuliah}
Nilai : char {indeks nilai}
>
type Mahasiswa : record <NIM : integer, {nomor mhs}
NamaMhs : string, {nama mhs}
MK : array[1..4] of MataKuliah
>
LarikMhs : array[1..100] of Mahasiswa
Nama
 Untuk mengidentifikasikan dan membedakan obyek
 Unik dan tidak boleh sama
 Dalam algoritma nama diberikan pada:
 Variabel
 Tempat penyimpanan data/informasi di memori yang nilainya
dapat diubah selama pelaksanaan program
 Konstanta
 Tempat penyimpanan di memori yang nilainya tidak dapat diubah
selama pelaksanaan program
 Tipe bentukan
 Tipe data baru yang didefinisikan oleh program dari tipe data
yang sudah ada
 Prosedur
 Modul program (sederetan instruksi) yang ditulis terpisah dari
badan program utamadan dapat dipanggil berulang dari program
utama
 Fungsi
 Prosedur yang mengembalikan suatu nilai dengan tipe data
sederhana
Aturan Penulisan Nama
 Harus dimulai dengan huruf alfabet, tidak boleh
dimulai dengan angka, spasi, atau karakter
khusus lainnya.
 Tidak case sensitif (beda dengan bahasa
pemrograman)
 Karakter penyusun nama hanya boleh: huruf
alfabet, angka dan “_” (underscore)
 Tidak boleh dipisahkan dengan spasi
 Panjang nama tidak terbatas
 Semua nama yang dipakai harus dideklarasikan
dulu pada bagian deklarasi
Contoh Penamaan
 SALAH
 6titik {dimulai dg angka}
 nilai ujian {dipisahkan spasi}
 PT-1 {mengandung operator kurang}
 hari! {mengandung karakter khusus}
 BENAR
 titik6 atau titik_6
 nilai_ujian atau nilaiUjian
 PT_1 atau PT1
 hari
Nilai
 Merupakan besaran dari tipe data yang sudah
didefinisikan (tipe dasar maupun tipe bentukan)
 Nilai dapat berupa:
 Isi variabel atau konstanta
 Nilai dari hasil perhitungan
 Nilai yang dihasilkan oleh fungsi
 Nilai yang disimpan di variabel dimanipulasi
dengan cara:
 Mengisikan ke variabel lain yang bertipe sama
 Dipakai untuk perhitungan
 Dituliskan ke piranti keluaran
Nilai(2)
Pengisian nilai ke variabel:
 Pengisian nilai secara langsung(assignment)
 Memasukkan sebuah nilai ke dalam nama
variabel langsung di dalma teks algoritma
 Syaratnya nilai yang didisikan harus bertipe
sama dengan tipe peubah
 Notasi: 
 Contoh:
variabel  konstanta NoMhs  1234
variabel1 variabel2 Nil_prev  Nil_cur
variabel  ekspresi Luas  0.5 * p * l
Nilai(3)
 Pembacaan nilai dari piranti masukan
 Nilai untuk nama variabel dapt diisi dari piranti
masukan, misalnya dari keyboard.
 Dinamakan dengan operasi pembacaan data
 Notasi dalam teks algoritma: read
 Contoh:
read (nama1, nama2,…namaN)
Ekspresi
 Ekspresi terdiri atas: operand dan operator
 Operand adalah nilai yang dioperasikan dengan
operator tertentu
 Operand dapat berupa konstanta, nama
variabel, nama konstanta, atau hasil suatu
fungsi
 Hasil evaluasi dari sebuah ekspresi adalah nilai
di dalam domain yang sesuai dengan tipe
operand yang dipakai, ada tiga macam: ekspresi
aritmetik, ekspresi relasional, ekspresi string.
Ekspresi(2)
 Ekspresi Aritmetika
 Ekspresi yang baik operand dan hasilnya berupa
numerik
 (ingat: tingkat prioritas operator)
i. / , div, mod
ii. *
iii.+, -
 Ekspresi relasional
 Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or,
dan xor
 Hasil evaluasi adalah nilai bertipe boolean
 Ekspresi string
Ekspresi (3)
 Ekspresi string
 Ekspresi dengan operator
penyambungan/concatenation “+”.
Menuliskan Nilai ke Piranti
Keluaran (monitor/printer)
 Dilakukan dengan notasi write
 Contoh:
write (nama1, nama2, …, namaN)
Contoh Algoritma
Algoritma Hello_World
{mencetak string Hello World diikuti nama orang. Nama
orang diinputkan dari piranti masukan}
DEKLARASI
const ucapan = ‘Hello World’
namaUser : string
DESKRIPSI
read(namaUser)
write(ucapan + ‘ ‘ + namaUser)
Dasar Algoritma
 Dalam penulisan Algoritma ada beberapa
ketentuan yaitu:
Program atau metode penyelesaian
masalah harus sesuai tahapan / urutan
Tahapan tersebut tidak baku, yang
penting efektif
Program bersifat terstruktur
Tidak bermakna ganda
Struktur Badan Algoritma
 Kepala Program
Berisi judul program dan keterangan tentang
program
Bahasa Algoritma : Algoritma judul_program
Ex. Algoritma menghitung_luas_segitiga
Ex. Algoritma MenghitungLuasSegitiga
Bisa ditambahkan komentar tentang program
dengan menggunakan operator “{ }”
Struktur Badan Algoritma (2)
 Deklarasi
Berisi variabel yang digunakan dalam
program
Bahasa Algoritma : nama_variabel : Tipe
Data
Ex. AlasSegitiga : integer
Ex. TinggiSegitiga : integer
Ex. LuasSegitiga : integer
Struktur Badan Algoritma (3)
 Deskripsi
Berisi uraian langkah penyelesaian
Example:
read(PanjangSegitiga)
read(LebarSegitiga)
LuasSegitiga ← ½ * PanjangSegitiga *
LebarSegitiga
write(LuasSegitiga)
Struktur Badan Algoritma (4)
Algoritma menghitung_luas_segitiga
{menghitung luas segitiga dengan inputan alas dan tinggi
segitiga berasal dari keyboard}
DEKLARASI
AlasSegitiga : Integer
TinggiSegitiga : Integer
LuasSegitiga: Integer
DESKRIPSI
read(AlasSegitiga)
read(TinggiSegitiga)
LuasSegitiga ← ½ * AlasSegitiga * TinggiSegitiga
write(LuasSegitiga)
Kasus
 Deklarasi data untuk mobil
Merk : String {Contoh: Honda}
NoKendaraan : String {Contoh: KH1A}
TahunProduksi : Integer {Contoh: 2007}
 Deklarasi data untuk Mata kuliah
 Deklarasi data untuk Waktu
Deklarasi data untuk Alamat Rumah
Deklarasi data untuk Data Pribadi <min
6 variabel>
Tugas di kumpul minggu depan
 Buatlah algoritma lengkap tentang perhitungan konversi
dari jam ke detik
 Inputan berupa jam. Misalnya
Masukan jam : 1
 Ouput
Detik : 3600

More Related Content

What's hot

Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Adri Demmanongkan
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritmalinda_rosalina
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman hanujisudiman
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Rachmat Narendra
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritmaChusnul Khotimah
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma casnadi
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaKhairul Anwar
 
Pertemuan 1 - Algoritma - Tri Lux
Pertemuan 1 - Algoritma - Tri LuxPertemuan 1 - Algoritma - Tri Lux
Pertemuan 1 - Algoritma - Tri Luxtri lux
 
Makalah logika dan algoritma
Makalah logika dan algoritmaMakalah logika dan algoritma
Makalah logika dan algoritmaAgung Surono
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 

What's hot (20)

Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
 
Algoritama & Pseudocode
Algoritama & PseudocodeAlgoritama & Pseudocode
Algoritama & Pseudocode
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Alex algoritma-01
Alex algoritma-01Alex algoritma-01
Alex algoritma-01
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Makalah Algoritma
Makalah AlgoritmaMakalah Algoritma
Makalah Algoritma
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Pengenalan Algoritma Komputer
Pengenalan Algoritma KomputerPengenalan Algoritma Komputer
Pengenalan Algoritma Komputer
 
Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1Dasar dasar algoritma - 1-1
Dasar dasar algoritma - 1-1
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritma
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
 
Pertemuan 1 - Algoritma - Tri Lux
Pertemuan 1 - Algoritma - Tri LuxPertemuan 1 - Algoritma - Tri Lux
Pertemuan 1 - Algoritma - Tri Lux
 
Makalah logika dan algoritma
Makalah logika dan algoritmaMakalah logika dan algoritma
Makalah logika dan algoritma
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 

Similar to ALOGARITMA

Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptBKKSMKN2Jombang
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
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 flowchartMaryanto Sumringah SMA 9 Tebo
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritmaHardini_HD
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaAvenzz Venzz
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaChabil_Juniar
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaFisma Ananda
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutanBilly Alhamra
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrogramanReza Optoriter
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptxssuser98f5ad
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrogramanhanary
 

Similar to ALOGARITMA (20)

Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-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
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Bab i
Bab iBab i
Bab i
 
Bab i
Bab iBab i
Bab i
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
algoritma dan pemrograman
algoritma dan pemrogramanalgoritma dan pemrograman
algoritma dan pemrograman
 

Recently uploaded

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 

Recently uploaded (20)

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 

ALOGARITMA

  • 2. Tujuan memberikan pengetahuan konsep dan penerapan algoritma sebagai dasar pembuatan program dengan menggunakan salah satu bahasa pemrograman.
  • 3. Kompetensi Matakuliah  Mahasiswa mampu:  menjelaskan logika berpikir komputer (computational thinking),  menjelaskan alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan,  menjelaskan prinsip kerja program,  menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir (flow chart) menggunakan suatu bahasa pemrograman tertentu  menjelaskan konsep pemrograman terstruktur  membuat program sederhana dengan bahasa C
  • 5. Mengapa Belajar Algoritma dan Pemrograman?  Untuk menulis kode dalam bahasa yang dimengerti komputer  Untuk melatih logika berpikir  Untuk dasar matakuliah lain di Teknik Informatika dan Sistem Informasi
  • 6. Apakah belajar programming itu sulit?  Hanya butuh waktu / “jam terbang”  Hanya butuh semangat dan kemauan  Hanya butuh sering mencoba / latihan!  Kuncinya latihan dan diskusi!
  • 7. Referensi  Referensi  Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, Informatika Bandung  Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku2), Rinaldi Munir&Leoni Lidya, Informatika Bandung
  • 8.
  • 11. Definisi Program  Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu  A computer program is just a collection of the instructions necessary to solve a specific problem  Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.  Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)  Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
  • 12. Algoritma  Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840).  Di literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma.  Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma ini.  Pada hakekatnya algoritma juga adalah kunci dari kehidupan kita.  Cara membuat masakan (resep masakan) adalah juga sebuah contoh nyata dari algoritma.
  • 13. Algoritma  adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. urutan langkah logis untuk menyelesaikan masalah tertentu
  • 14. Algoritma Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik diantara teknik-teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan.
  • 15. Komunikasi Manusia dan Komputer  Proses komunikasi antara manusia dengan komputer adalah sebagai berikut:  Manusia mendesain Algoritma  Manusia menterjemahkan Algoritma tersebut ke dalam bahasa pemrograman yang dipilih sehingga menjadi sebuah program  Komputer menjalankan program hasil penterjemahan algoritma menjdi bahasa pemrograman diatas  Komputer mengeluarkan respon kepada manusia
  • 16.  User : Masukkan user name  User : Masukkan Password  Sistem :Cek apakah username terdaftar?  Sistem :Jika tidak terdaftar, maka sistem akan mengeluarkan peringatan adanya kesalahan. Jika terdaftar maka, selanjutnya sistem akan mengecek apakah username dan password cocok (sesuai dengan database)?  Sistem :Jika Username dan password cocok maka user diperbolehkan masuk ke Facebook ybs. Jika tidak cocok maka sistem akan mengeluarkan peringatan adanya kesalahan  User : Dapat mengakses halaman facebook ybs Algoritma Login ke Facebook
  • 17. Belajar Memprogram & Belajar Bahasa Pemrograman  Belajar memprogram: pemahaman persoalan, analisis, dan sintesis  Belajar Bahasa Pemrograman :  Belajar memakai suatu bahasa aturan sintaks (tata bahasa) Pemecahan Masalah -Strategi -Metodologi -Sistematika Notasi yang telah disepakati
  • 18. Bahasa Pemrograman  Adalah alat untuk membuat program  Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.  Perbedaan: cara memberikan instruksi (sintaks)  Persamaan: bertujuan menghasilkan output yang sama
  • 19. Bahasa C di tingkat dunia http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 20. Paradigma Pemrograman  Pemrograman Prosedural / Terstruktur  Berdasarkan urutan-urutan, sekuensial  Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.  Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.  Program dapat dibagai-bagi menjadi prosedur dan fungsi.  Contoh: PASCAL dan C  Pemrograman Fungsional  Berdasarkan teori fungsi matematika  Fungsi merupakan dasar utama program.  Pemrograman Modular  Pemrograman ini membentuk banyak modul.  Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri  Sebuah program dapat merupakan kumpulan modul-modul.  Contoh: MODULA-2 atau ADA
  • 21. Paradigma Pemrograman  Pemrograman Berorientasi Obyek  Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi  Contoh: C++, Object Pascal, dan Java.  Pemrograman Berorientasi Fungsi  Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.  Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.  Pemrograman Deklaratif  Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.  Contoh: PROLOG
  • 22. Pembagian Target Program  Pemrograman Desktop  Pemrograman Web  Pemrograman Mobile
  • 23. Siklus Hidup Perangkat Lunak (Waterfall Model)  Dilihat dari Siklus diatas, Algoritma Pemrograman menempati posisi dibagian Code / implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).
  • 24. Aksi dalam algoritma  Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang memang direncanakan  Dari waktu0 ke waktuN  Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”  Batasan: Apa kentang harus dibeli dulu atau sudah ada? Apakah mengupas berarti sampai kentang terhidang? Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup atau digoreng?  Berarti harus ada kejadian awal = start dan kejadian akhir = finish  Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentang  Cara (Metode) sebisa mungkin harus bersifat universal
  • 25. Contoh kasus  Ada 2 gelas kosong berukuran: 5 liter dan 3 liter  Bagaimana cara kita mendapatkan air berukuran 4 liter?  Bagaimana cara mendapatkan air berukuran 2 liter?
  • 26. Cara  Masukkan air ke 3 liter hingga penuh  Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong  Masukkan air ke 3 liter hingga penuh  Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di gelas 2 liter  Buang seluruh air di gelas 5 liter tadi  Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5 liter kosong  Masukkan air ke 3 liter hingga penuh  Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter tadi, hingga kita dapat 4 liter
  • 28. Proses, Instruksi, dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan suatu proses Algoritma tersusun oleh sederetan langkah instruksi yang logis Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi) Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU
  • 29. Struktur Dasar Algoritma  Runtunan (sequence)  aksi-aksi dalam algoritma yang dikerjakan secara berurutan  contoh : A1. Aksi 1 A2. Aksi 2 A3. Aksi 3
  • 30. Struktur Dasar Algoritma(2) Pemilihan (selection)  aksi dikerjakan jika kondisi tertentu terpenuhi  contoh : IF kondisi1 THEN Aksi1 ELSE IF kondisi2 THEN Aksi2 ELSE Aksi3 (Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi) IF kondisi THEN aksi IF kondisi THEN aksi1 ELSE aksi2
  • 31. Struktur Dasar Algoritma (3)  Pengulangan (repeatition)  aksi-aksi yang dikerjakan berulang kali  contoh :  FOR pencacah pengulangan dari a sampai b DO Aksi (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai b yakni sebanyak b-a+1 kali)  REPEAT Aksi UNTIL kondisi (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi)  WHILE kondisi DO Aksi (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)
  • 32. Flow Chart Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari awal sampai akhir. Flow chart adalah algoritma yang digambarkan dengan diagram Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma)
  • 33. Penulisan Algoritma TEKS ALGORITMA berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami
  • 34. Flow Chart  Input  Processing  Output (display)  Decision (untuk mengevaluasi suatu kondisi)  Procedure/subroutine
  • 35. Flow Chart(2)  Flow lines  Terminator (mengawali dan mengakhiri flow chart)  On page connector  Off page connector  Annotation (memberi komentar atau keterangan dalam flow chart)
  • 37. Teks Algoritma Teks algoritma berisi langkah-langkah penyelesaian masalah Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik
  • 38. Teks Algoritma  Struktur teks algoritma  Kepala algoritma terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut  Deklarasi mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma  Deskripsi Berisi uraian langkah-langkah penyelesaian Komentar ditulis diantara tanda kurung “{“ dan “}”
  • 39. Contoh Teks Algoritma Judul algoritma spesifikasi algoritma Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah
  • 42. Tipe Data Tipe data terdiri dari tipe:  Tipe dasar  Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman)  Contoh: boolean, integer, real, char, string (?)  Tipe bentukan  Tipe yang didefinisikan sendiri oleh pemrogram  Tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan  Contoh: tipe dasar yang diberi nama tipe baru, record
  • 43. Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe:  Nama  Domain harga  Konstanta  Operator
  • 45. Tipe Bentukan  Tipe dasar yang diberi nama tipe baru  Nama baru untuk tipe dasar menggunakan kata kunci type  Domain nilai, cara menulis konstanta, dan operasi-operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe dasarnya.  Contoh: type BilanganBulat: integer  Rekaman (record)  Rekaman disusun atas satu atau lebih field  Tipe field menyimpan data dan tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya  Nama rekaman ditentukan oleh pemrogram  Rekaman disebut juga tipe terstruktur
  • 46. Contoh Record DEKLARASI type MataKuliah : record <KodeMK : string, {kode matakuliah} NamaMK : string, {nama matakuliah} Nilai : char {indeks nilai} > type Mahasiswa : record <NIM : integer, {nomor mhs} NamaMhs : string, {nama mhs} MK : array[1..4] of MataKuliah > LarikMhs : array[1..100] of Mahasiswa
  • 47. Nama  Untuk mengidentifikasikan dan membedakan obyek  Unik dan tidak boleh sama  Dalam algoritma nama diberikan pada:  Variabel  Tempat penyimpanan data/informasi di memori yang nilainya dapat diubah selama pelaksanaan program  Konstanta  Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan program  Tipe bentukan  Tipe data baru yang didefinisikan oleh program dari tipe data yang sudah ada  Prosedur  Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari program utama  Fungsi  Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana
  • 48. Aturan Penulisan Nama  Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.  Tidak case sensitif (beda dengan bahasa pemrograman)  Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore)  Tidak boleh dipisahkan dengan spasi  Panjang nama tidak terbatas  Semua nama yang dipakai harus dideklarasikan dulu pada bagian deklarasi
  • 49. Contoh Penamaan  SALAH  6titik {dimulai dg angka}  nilai ujian {dipisahkan spasi}  PT-1 {mengandung operator kurang}  hari! {mengandung karakter khusus}  BENAR  titik6 atau titik_6  nilai_ujian atau nilaiUjian  PT_1 atau PT1  hari
  • 50. Nilai  Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun tipe bentukan)  Nilai dapat berupa:  Isi variabel atau konstanta  Nilai dari hasil perhitungan  Nilai yang dihasilkan oleh fungsi  Nilai yang disimpan di variabel dimanipulasi dengan cara:  Mengisikan ke variabel lain yang bertipe sama  Dipakai untuk perhitungan  Dituliskan ke piranti keluaran
  • 51. Nilai(2) Pengisian nilai ke variabel:  Pengisian nilai secara langsung(assignment)  Memasukkan sebuah nilai ke dalam nama variabel langsung di dalma teks algoritma  Syaratnya nilai yang didisikan harus bertipe sama dengan tipe peubah  Notasi:   Contoh: variabel  konstanta NoMhs  1234 variabel1 variabel2 Nil_prev  Nil_cur variabel  ekspresi Luas  0.5 * p * l
  • 52. Nilai(3)  Pembacaan nilai dari piranti masukan  Nilai untuk nama variabel dapt diisi dari piranti masukan, misalnya dari keyboard.  Dinamakan dengan operasi pembacaan data  Notasi dalam teks algoritma: read  Contoh: read (nama1, nama2,…namaN)
  • 53. Ekspresi  Ekspresi terdiri atas: operand dan operator  Operand adalah nilai yang dioperasikan dengan operator tertentu  Operand dapat berupa konstanta, nama variabel, nama konstanta, atau hasil suatu fungsi  Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi string.
  • 54. Ekspresi(2)  Ekspresi Aritmetika  Ekspresi yang baik operand dan hasilnya berupa numerik  (ingat: tingkat prioritas operator) i. / , div, mod ii. * iii.+, -  Ekspresi relasional  Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor  Hasil evaluasi adalah nilai bertipe boolean  Ekspresi string
  • 55. Ekspresi (3)  Ekspresi string  Ekspresi dengan operator penyambungan/concatenation “+”.
  • 56. Menuliskan Nilai ke Piranti Keluaran (monitor/printer)  Dilakukan dengan notasi write  Contoh: write (nama1, nama2, …, namaN)
  • 57. Contoh Algoritma Algoritma Hello_World {mencetak string Hello World diikuti nama orang. Nama orang diinputkan dari piranti masukan} DEKLARASI const ucapan = ‘Hello World’ namaUser : string DESKRIPSI read(namaUser) write(ucapan + ‘ ‘ + namaUser)
  • 58.
  • 59.
  • 60.
  • 61. Dasar Algoritma  Dalam penulisan Algoritma ada beberapa ketentuan yaitu: Program atau metode penyelesaian masalah harus sesuai tahapan / urutan Tahapan tersebut tidak baku, yang penting efektif Program bersifat terstruktur Tidak bermakna ganda
  • 62. Struktur Badan Algoritma  Kepala Program Berisi judul program dan keterangan tentang program Bahasa Algoritma : Algoritma judul_program Ex. Algoritma menghitung_luas_segitiga Ex. Algoritma MenghitungLuasSegitiga Bisa ditambahkan komentar tentang program dengan menggunakan operator “{ }”
  • 63. Struktur Badan Algoritma (2)  Deklarasi Berisi variabel yang digunakan dalam program Bahasa Algoritma : nama_variabel : Tipe Data Ex. AlasSegitiga : integer Ex. TinggiSegitiga : integer Ex. LuasSegitiga : integer
  • 64. Struktur Badan Algoritma (3)  Deskripsi Berisi uraian langkah penyelesaian Example: read(PanjangSegitiga) read(LebarSegitiga) LuasSegitiga ← ½ * PanjangSegitiga * LebarSegitiga write(LuasSegitiga)
  • 65. Struktur Badan Algoritma (4) Algoritma menghitung_luas_segitiga {menghitung luas segitiga dengan inputan alas dan tinggi segitiga berasal dari keyboard} DEKLARASI AlasSegitiga : Integer TinggiSegitiga : Integer LuasSegitiga: Integer DESKRIPSI read(AlasSegitiga) read(TinggiSegitiga) LuasSegitiga ← ½ * AlasSegitiga * TinggiSegitiga write(LuasSegitiga)
  • 66. Kasus  Deklarasi data untuk mobil Merk : String {Contoh: Honda} NoKendaraan : String {Contoh: KH1A} TahunProduksi : Integer {Contoh: 2007}  Deklarasi data untuk Mata kuliah  Deklarasi data untuk Waktu
  • 67. Deklarasi data untuk Alamat Rumah Deklarasi data untuk Data Pribadi <min 6 variabel>
  • 68. Tugas di kumpul minggu depan  Buatlah algoritma lengkap tentang perhitungan konversi dari jam ke detik  Inputan berupa jam. Misalnya Masukan jam : 1  Ouput Detik : 3600