44
Algoritma & Pemrograman Minggu 2 Kelas D – Sistem Informasi Jonh Fredrik Ulysses, S.T ~ Alpro – Jonh – SI – STMIK Palangka Raya

Algoritma & Pemrograman

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

Page 1: Algoritma & Pemrograman

Algoritma & Pemrograman

Minggu 2Kelas D – Sistem Informasi

Jonh Fredrik Ulysses, S.T

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 2: Algoritma & Pemrograman

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

Page 3: Algoritma & Pemrograman

Algoritma

adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 4: Algoritma & Pemrograman

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

Page 5: Algoritma & Pemrograman

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

Page 6: Algoritma & Pemrograman

Program

Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 7: Algoritma & Pemrograman

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

Page 8: Algoritma & Pemrograman

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

Page 9: Algoritma & Pemrograman

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

Page 10: Algoritma & Pemrograman

DASAR-DASAR ALGORITMA dan FLOW

CHART

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 11: Algoritma & Pemrograman

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

Page 12: Algoritma & Pemrograman

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

Page 13: Algoritma & Pemrograman

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

Page 14: Algoritma & Pemrograman

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

Page 15: Algoritma & Pemrograman

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

Page 16: Algoritma & Pemrograman

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

Page 17: Algoritma & Pemrograman

Flow Chart

Input Processing Output (display) Decision (untuk mengevaluasi

suatu kondisi) Procedure/subroutine

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 18: Algoritma & Pemrograman

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

Page 19: Algoritma & Pemrograman

ATURAN PENULISAN TEKS ALGORITMA

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 20: Algoritma & Pemrograman

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

Page 21: Algoritma & Pemrograman

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

Page 22: Algoritma & Pemrograman

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

Page 23: Algoritma & Pemrograman

Pascal

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 24: Algoritma & Pemrograman

TIPE, NAMA, DAN NILAI

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 25: Algoritma & Pemrograman

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

Page 26: Algoritma & Pemrograman

Tipe Data(2)

Empat hal yang harus diperhatikan dalam pendefinisian tipe:

Nama Domain harga Konstanta Operator

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 27: Algoritma & Pemrograman

Tipe Data(3)

Page 28: Algoritma & Pemrograman

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

Page 29: Algoritma & Pemrograman

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

Page 30: Algoritma & Pemrograman

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

Page 31: Algoritma & Pemrograman

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

Page 32: Algoritma & Pemrograman

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

Page 33: Algoritma & Pemrograman

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

Page 34: Algoritma & Pemrograman

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

Page 35: Algoritma & Pemrograman

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

Page 36: Algoritma & Pemrograman

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

Page 37: Algoritma & Pemrograman

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

Page 38: Algoritma & Pemrograman

Ekspresi (3)

Ekspresi string Ekspresi dengan operator

penyambungan/concatenation “+”.

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 39: Algoritma & Pemrograman

Menuliskan Nilai ke Piranti Keluaran (monitor/printer)

Dilakukan dengan notasi write Contoh:

write (nama1, nama2, …, namaN)

~ Alpro – Jonh – SI – STMIK Palangka Raya

Page 40: Algoritma & Pemrograman

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

Page 41: Algoritma & Pemrograman
Page 42: Algoritma & Pemrograman
Page 43: Algoritma & Pemrograman
Page 44: Algoritma & Pemrograman

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