Upload
blaze-phelps
View
61
Download
1
Embed Size (px)
DESCRIPTION
Algoritma & Pemrograman. Minggu 2 Kelas D – Sistem Informasi Jonh Fredrik Ulysses, S.T. ~ Alpro – Jonh – SI – STMIK Palangka Raya. Algoritma. Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840). - PowerPoint PPT Presentation
Citation preview
Algoritma & Pemrograman
Minggu 2Kelas D – Sistem Informasi
Jonh Fredrik Ulysses, S.T
~ Alpro – Jonh – SI – STMIK Palangka Raya
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.
~ Alpro – Jonh – SI – STMIK Palangka Raya
Algoritma
adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
~ Alpro – Jonh – SI – STMIK Palangka Raya
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.
~ Alpro – Jonh – SI – STMIK Palangka Raya
Algoritma
Lima ciri penting algoritma Selesai dalam jumlah langkah
terbatas Tidak memiliki arti ganda Memiliki nol atau lebih input Memiliki nol atau lebih output Efektif
~ Alpro – Jonh – SI – STMIK Palangka Raya
Program
Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
Tahapan Pemecahan Masalah
Algoritma
Program dalamBahasa Tingkat
Tinggi
Program dalamBahasa Mesin
Operasi(Baca, tulis, hitung, perbandingan, dll)
Translasi
Interpretasi oleh CPU
Kompilasi
~ Alpro – Jonh – SI – STMIK Palangka Raya
Paradigma Pemrograman Prosedural (imperatif)
Program = Struktur + Datamis : Pascal, C, Basic
Object Oriented data dan instruksi dibungkus menjadi satu, disebut: kelas, kelas pada saat run-time disebut objek. mis : C++, Java
Fungsional konsep pemetaan dan fungsi pada matematikamis : Matlab
Deklaratif pendefinisian relasi antar individu yang dinyatakan sebagai predikatmis : Prolog
~ Alpro – Jonh – SI – STMIK Palangka Raya
DASAR-DASAR ALGORITMA dan FLOW
CHART
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
Struktur Dasar Algoritma
Runtunan (sequence)Runtunan (sequence) aksi-aksi dalam algoritma yang
dikerjakan secara berurutan contoh :
A1. Aksi 1A2. Aksi 2A3. Aksi 3
~ Alpro – Jonh – SI – STMIK Palangka Raya
Struktur Dasar Algoritma(2)
Pemilihan (selection)Pemilihan (selection) aksi dikerjakan jika kondisi tertentu terpenuhi contoh :
IF kondisi1 THENAksi1
ELSEIF kondisi2 THEN
Aksi2ELSE
Aksi3(Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi)
IF kondisi THEN aksi
IF kondisi THENaksi1
ELSEaksi2
Struktur Dasar Algoritma (3) Pengulangan (repeatition)
aksi-aksi yang dikerjakan berulang kali contoh :
FOR pencacah pengulangan dari a sampai b DOAksi
(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 DOAksi
(selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)
~ Alpro – Jonh – SI – STMIK Palangka Raya
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)
~ Alpro – Jonh – SI – STMIK Palangka Raya
Penulisan Algoritma FLOW CHART
Flow chart adalah suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan suatu 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 dari algoritma)
TEKS ALGORITMA berisi langkah-langkah penyelesaian masalah
yang ditulis dengan bahasa yang mudah dipahami
~ Alpro – Jonh – SI – STMIK Palangka Raya
Flow Chart
Input Processing Output (display) Decision (untuk mengevaluasi
suatu kondisi) Procedure/subroutine
~ Alpro – Jonh – SI – STMIK Palangka Raya
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)
~ Alpro – Jonh – SI – STMIK Palangka Raya
ATURAN PENULISAN TEKS ALGORITMA
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
Teks Algoritma Struktur teks algoritma
Kepala algoritmaterdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut
Deklarasimendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma
DeskripsiBerisi uraian langkah-langkah penyelesaian
Komentar ditulis diantara tanda kurung “{“ dan “}”
~ Alpro – Jonh – SI – STMIK Palangka Raya
Contoh Teks AlgoritmaJudul algoritmaJudul algoritma
spesifikasi algoritmaspesifikasi algoritma
Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawahKata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah
~ Alpro – Jonh – SI – STMIK Palangka Raya
Pascal
~ Alpro – Jonh – SI – STMIK Palangka Raya
TIPE, NAMA, DAN NILAI
~ Alpro – Jonh – SI – STMIK Palangka Raya
Tipe DataTipe 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
~ Alpro – Jonh – SI – STMIK Palangka Raya
Tipe Data(2)
Empat hal yang harus diperhatikan dalam pendefinisian tipe:
Nama Domain harga Konstanta Operator
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
Contoh RecordDEKLARASItype 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
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
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
~ Alpro – Jonh – SI – STMIK Palangka Raya
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 ~ Alpro – Jonh – SI – STMIK Palangka Raya
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)
~ Alpro – Jonh – SI – STMIK Palangka Raya
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.
~ Alpro – Jonh – SI – STMIK Palangka Raya
Ekspresi(2) Ekspresi Aritmetika
Ekspresi yang baik operand dan hasilnya berupa numerik
(ingat: tingkat prioritas operator)i. / , div, modii. *iii.+, -
Ekspresi relasional Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or,
dan xor Hasil evaluasi adalah nilai bertipe boolean Ekspresi string
~ Alpro – Jonh – SI – STMIK Palangka Raya
Ekspresi (3)
Ekspresi string Ekspresi dengan operator
penyambungan/concatenation “+”.
~ Alpro – Jonh – SI – STMIK Palangka Raya
Menuliskan Nilai ke Piranti Keluaran (monitor/printer)
Dilakukan dengan notasi write Contoh:
write (nama1, nama2, …, namaN)
~ Alpro – Jonh – SI – STMIK Palangka Raya
Contoh AlgoritmaAlgoritma Hello_World{mencetak string Hello World diikuti nama orang. Nama
orang diinputkan dari piranti masukan}
DEKLARASIconst ucapan = ‘Hello World’
namaUser : string
DESKRIPSIread(namaUser)write(ucapan + ‘ ‘ + namaUser)
~ Alpro – Jonh – SI – STMIK Palangka Raya
Sumber
Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, Informatika Bandung
Bahan Matakuliah Algoritma dan Pemrograman Universitas Atma Jaya Yogyakarta
ilmukomputer.com ~ Alpro – Jonh – SI – STMIK Palangka Raya