Algoritma dan Pemrograman

79
Algoritma dan Algoritma dan Pemrograman Pemrograman Fasilkom-Kelas C Fasilkom-Kelas C Tubagus Purworusmiardi, Tubagus Purworusmiardi, S.Kom S.Kom

description

Algoritma dan Pemrograman. Fasilkom-Kelas C. Tubagus Purworusmiardi , S.Kom. Tujuan. memberikan pengetahuan konsep dan penerapan algoritma sebagai dasar pembuatan program dengan menggunakan salah satu bahasa pemrograman. ~ Alpro – Tubagus Purworusmiardi , S.Kom. Silabus. - PowerPoint PPT Presentation

Transcript of Algoritma dan Pemrograman

Page 1: Algoritma dan Pemrograman

Algoritma dan PemrogramanAlgoritma dan Pemrograman

Fasilkom-Kelas CFasilkom-Kelas C

Tubagus Purworusmiardi, S.KomTubagus Purworusmiardi, S.Kom

Page 2: Algoritma dan Pemrograman

TujuanTujuan

memberikan pengetahuan konsep memberikan pengetahuan konsep dan penerapan algoritma sebagai dan penerapan algoritma sebagai dasar pembuatan program dasar pembuatan program dengan menggunakan salah satu dengan menggunakan salah satu bahasa pemrograman.bahasa pemrograman.

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 3: Algoritma dan Pemrograman

SilabusSilabus

Chapter 1 PendahuluanChapter 1 Pendahuluan Pengenalan mengenai sistem Pengenalan mengenai sistem

komputerkomputer Pengenalan algoritma dan Pengenalan algoritma dan

pemrogramanpemrograman Chapter 2. Dasar-dasar algoritmaChapter 2. Dasar-dasar algoritma

Struktur dasar algoritmaStruktur dasar algoritma Chapter 3. Tipe, nama dan nilaiChapter 3. Tipe, nama dan nilai

Penjelasan tipe data untuk algoritma Penjelasan tipe data untuk algoritma dan bhs pemrogramandan bhs pemrograman

Pembuatan penamaan dan nilaiPembuatan penamaan dan nilai Chapter 4. Chapter 4. RuntunanRuntunan

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 4: Algoritma dan Pemrograman

SilabusSilabus

Chapter 5. PemilihanChapter 5. Pemilihan PemilihanPemilihan CaseCase

Chapter 6. PengulanganChapter 6. Pengulangan For..to..do..For..to..do.. While do..While do.. Repeat untilRepeat until

Chapter 7. Prosedur dan FungsiChapter 7. Prosedur dan Fungsi RutinRutin ProsedurProsedur FungsiFungsi

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 5: Algoritma dan Pemrograman

SilabusSilabus

Chapter 8. ArrayChapter 8. Array Chapter 9. RecordChapter 9. Record Chapter 10. RekursifChapter 10. Rekursif

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 6: Algoritma dan Pemrograman

ReferensiReferensi

ReferensiReferensi Algoritma dan Pemrograman Algoritma dan Pemrograman

dalam Bahasa Pascal dan C dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, (Buku 1), Rinaldi Munir, Informatika BandungInformatika Bandung

Algoritma dan Pemrograman Algoritma dan Pemrograman dalam Bahasa Pascal dan C dalam Bahasa Pascal dan C (Buku2), Rinaldi Munir&Leoni (Buku2), Rinaldi Munir&Leoni Lidya, Informatika BandungLidya, Informatika Bandung

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 7: Algoritma dan Pemrograman

PenilaianPenilaian

Tugas = 20%Tugas = 20% UTS = 30%UTS = 30% UAS = 40%UAS = 40% Kehadiran = 10%Kehadiran = 10%

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 8: Algoritma dan Pemrograman

AlatAlat

Dev C++Dev C++ Turbo PascalTurbo Pascal VB ScriptVB Script RaptorRaptor

~ Alpro – Tubagus Purworusmiardi, S.Kom~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 9: Algoritma dan Pemrograman

Algoritma & Algoritma & PemrogramanPemrograman

Minggu 2Minggu 2

Kelas C – Sistem InformasiKelas C – Sistem Informasi

Tubagus Purworusmiardi, S.KomTubagus Purworusmiardi, S.Kom

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 10: Algoritma dan Pemrograman

AlgoritmaAlgoritma

Penemunya adalah seorang ahli matematika dari Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi (770-840).Muhammad Ibn Musa al-Khwarizmi (770-840).

Di literatur barat dia lebih terkenal dengan sebutan Di literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang untuk menyebut konsep algorithm yang ditemukannya. Dalam bahasa Indonesia kita ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma. kemudian menyebutkannya sebagai algoritma.

Algoritma adalah kunci dari bidang ilmu komputer, Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma ini. yang lahir berdasarkan konsep algoritma ini.

Pada hakekatnya algoritma juga adalah kunci dari Pada hakekatnya algoritma juga adalah kunci dari kehidupan kita.kehidupan kita.

Cara membuat masakan (resep masakan) adalah Cara membuat masakan (resep masakan) adalah juga sebuah contoh nyata dari algoritma.juga sebuah contoh nyata dari algoritma.

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 11: Algoritma dan Pemrograman

AlgoritmaAlgoritma

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

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 12: Algoritma dan Pemrograman

AlgoritmaAlgoritma

Ketika manusia berusaha Ketika manusia berusaha memecahkan masalah, metode atau memecahkan masalah, metode atau teknik yang digunakan untuk teknik yang digunakan untuk memecahkan masalah itu ada memecahkan masalah itu ada kemungkinan bisa banyak (tidak kemungkinan bisa banyak (tidak hanya satu). hanya satu).

Dan kita memilih mana yang terbaik Dan kita memilih mana yang terbaik diantara teknik-teknik itu. diantara teknik-teknik itu.

Hal ini sama juga dengan algoritma, Hal ini sama juga dengan algoritma, yang memungkinkan suatu yang memungkinkan suatu permasalahan dipecahkan dengan permasalahan dipecahkan dengan metode dan logika yang berlainan. metode dan logika yang berlainan.

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 13: Algoritma dan Pemrograman

ProgramProgram

Perwujudan atau implementasi Perwujudan atau implementasi algoritma yang ditulis dalam algoritma yang ditulis dalam bahasa pemrograman tertentu bahasa pemrograman tertentu

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 14: Algoritma dan Pemrograman

Belajar Memprogram & Belajar Memprogram & Belajar Bahasa Belajar Bahasa PemrogramanPemrograman Belajar memprogramBelajar memprogram::

pemahaman persoalan, analisis, pemahaman persoalan, analisis, dan sintesisdan sintesis

Belajar Bahasa Pemrograman Belajar Bahasa Pemrograman :: Belajar memakai suatu bahasa Belajar memakai suatu bahasa aturan sintaks (tata bahasa)aturan sintaks (tata bahasa)

Pemecahan Masalah

-Strategi-Metodologi-Sistematika

Notasi yang telah disepakati

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 15: Algoritma dan Pemrograman

DASAR-DASAR DASAR-DASAR ALGORITMA dan ALGORITMA dan

FLOW CHARTFLOW CHART

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 16: Algoritma dan Pemrograman

Proses, Instruksi, dan AksiProses, Instruksi, dan Aksi

Algoritma merupakan deskripsi Algoritma merupakan deskripsi urutan pelaksanaan suatu urutan pelaksanaan suatu prosesproses

Algoritma tersusun oleh sederetan Algoritma tersusun oleh sederetan langkah langkah instruksi instruksi yang logisyang logis

Tiap langkah instruksi akan Tiap langkah instruksi akan mengerjakan suatu mengerjakan suatu tindakan (Aksi)tindakan (Aksi)

Bila Aksi dilaksanakan, maka Bila Aksi dilaksanakan, maka sejumlah sejumlah operasioperasi yang bersesuaian yang bersesuaian akan dikerjakan oleh CPUakan dikerjakan oleh CPU

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 17: Algoritma dan Pemrograman

Struktur Dasar AlgoritmaStruktur Dasar Algoritma

Runtunan (sequence)Runtunan (sequence) aksi-aksi dalam algoritma yang aksi-aksi dalam algoritma yang

dikerjakan secara berurutandikerjakan secara berurutan contoh :contoh :

A1. Aksi 1A1. Aksi 1

A2. Aksi 2A2. Aksi 2

A3. Aksi 3A3. Aksi 3

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 18: Algoritma dan Pemrograman

Struktur Dasar Algoritma(2)Struktur Dasar Algoritma(2)

Pemilihan (selection)Pemilihan (selection) aksi dikerjakan jika kondisi tertentu terpenuhiaksi dikerjakan jika kondisi tertentu terpenuhi contoh :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 19: Algoritma dan Pemrograman

Struktur Dasar Algoritma (3)Struktur Dasar Algoritma (3)

Pengulangan (repeatition)Pengulangan (repeatition) aksi-aksi yang dikerjakan berulang kaliaksi-aksi yang dikerjakan berulang kali contoh :contoh :

FORFOR pencacah pengulangan dari a sampai b pencacah pengulangan dari a sampai b DODOAksiAksi

(aksi dilakukan sebanyak hitungan pencacah (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai bpengulangan, yaitu dari a sampai b yakni sebanyak b- yakni sebanyak b-a+1 kali)a+1 kali)

REPEATREPEAT AksiAksi

UNTILUNTIL kondisikondisi(pengulangan aksi dilakukan sehingga (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi)kondisi/persyaratan berhenti terpenuhi)

WHILEWHILE kondisi kondisi DODOAksiAksi

(selama kondisi/persyaratan pengulangan masih benar, (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)maka aksi dikerjakan)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 20: Algoritma dan Pemrograman

Flow ChartFlow Chart

Flow chart suatu bagan/diagram Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang menggambarkan aliran proses yang dikerjakan program dari awal yang dikerjakan program dari awal sampai akhir.sampai akhir.

Flow chart adalah algoritma yang Flow chart adalah algoritma yang digambarkan dengan diagramdigambarkan dengan diagram

Fungsi dari flow chart adalah Fungsi dari flow chart adalah mendeskripsikan urutan mendeskripsikan urutan pelaksanaan suatu proses (sama pelaksanaan suatu proses (sama dengan fungsi algoritma)dengan fungsi algoritma)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 21: Algoritma dan Pemrograman

Penulisan AlgoritmaPenulisan Algoritma

FLOW CHARTFLOW CHART Flow chart Flow chart adalah suatu bagan/diagram adalah suatu bagan/diagram

yang menggambarkan aliran proses yang yang menggambarkan aliran proses yang dikerjakan suatu program dari awal sampai dikerjakan suatu program dari awal sampai akhir akhir

Flow chart Flow chart adalah algoritma yang adalah algoritma yang digambarkan dengan diagramdigambarkan dengan diagram

Fungsi dari Fungsi dari flow chart flow chart adalah adalah mendeskripsikan urutan pelaksanaan suatu mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi dari algoritma)proses (sama dengan fungsi dari algoritma)

TEKS ALGORITMATEKS ALGORITMA berisi langkah-langkah penyelesaian berisi langkah-langkah penyelesaian

masalah yang ditulis dengan bahasa yang masalah yang ditulis dengan bahasa yang mudah dipahamimudah dipahami

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 22: Algoritma dan Pemrograman

Flow ChartFlow Chart

InputInput ProcessingProcessing Output (display)Output (display) Decision (untuk mengevaluasi Decision (untuk mengevaluasi

suatu kondisi)suatu kondisi) Procedure/subroutineProcedure/subroutine

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 23: Algoritma dan Pemrograman

Flow Chart(2)Flow Chart(2)

Flow linesFlow lines Terminator (mengawali dan Terminator (mengawali dan

mengakhiri flow chart)mengakhiri flow chart) On page connectorOn page connector Off page connectorOff page connector Annotation (memberi komentar Annotation (memberi komentar

atau keterangan dalam flow atau keterangan dalam flow chart)chart)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 24: Algoritma dan Pemrograman

ATURAN PENULISAN ATURAN PENULISAN TEKS ALGORITMATEKS ALGORITMA

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 25: Algoritma dan Pemrograman

Teks AlgoritmaTeks Algoritma

Teks algoritma berisi langkah-Teks algoritma berisi langkah-langkah penyelesaian masalahlangkah penyelesaian masalah

Tidak ada notasi baku tapi sebaiknya Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa berkorespondensi dengan bahasa pemrograman umum, supaya mudah pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa ditranslasikan ke dalam bahasa pemrogramanpemrograman

Notasi yang digunakan untuk Notasi yang digunakan untuk menulis algoritma disebut menulis algoritma disebut notasi notasi algoritmikalgoritmik

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 26: Algoritma dan Pemrograman

Teks AlgoritmaTeks Algoritma

Struktur teks algoritmaStruktur teks algoritma Kepala algoritmaKepala algoritma

terdiri atas nama algoritma dan penjelasan terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut(spesifikasi) tentang algoritma tersebut

DeklarasiDeklarasimendefinisikan semua nama (konstanta, mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritmadalam algoritma

DeskripsiDeskripsiBerisi uraian langkah-langkah penyelesaianBerisi uraian langkah-langkah penyelesaian

Komentar ditulis diantara tanda kurung “{“ dan “}”Komentar ditulis diantara tanda kurung “{“ dan “}”

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 27: Algoritma dan Pemrograman

Contoh Teks AlgoritmaContoh Teks Algoritma

Judul 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 – Tubagus Purworusmiardi, S.Kom

Page 28: Algoritma dan Pemrograman

PascalPascal

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 29: Algoritma dan Pemrograman

TIPE, NAMA, DAN TIPE, NAMA, DAN NILAINILAI

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 30: Algoritma dan Pemrograman

Tipe DataTipe Data

Tipe data terdiri dari tipe:Tipe data terdiri dari tipe: Tipe dasarTipe dasar

Tipe yang dapat langsung dipakai Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman)(disediakan oleh bahasa pemrograman)

Contoh: boolean, integer, real, char, Contoh: boolean, integer, real, char, stringstring (?)(?)

Tipe bentukanTipe bentukan Tipe yang didefinisikan sendiri oleh Tipe yang didefinisikan sendiri oleh

pemrogrampemrogram Tipe yang dibentuk dari tipe dasar atau Tipe yang dibentuk dari tipe dasar atau

dari tipe bentukan lain yang sudah dari tipe bentukan lain yang sudah didefinisikandidefinisikan

Contoh: tipe dasar yang diberi nama tipe Contoh: tipe dasar yang diberi nama tipe baru, recordbaru, record

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 31: Algoritma dan Pemrograman

Tipe Data(2)Tipe Data(2)

Empat hal yang harus Empat hal yang harus diperhatikan dalam diperhatikan dalam pendefinisian tipe:pendefinisian tipe:

NamaNama Domain hargaDomain harga KonstantaKonstanta OperatorOperator

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 32: Algoritma dan Pemrograman

Tipe Data(3)Tipe Data(3)

Page 33: Algoritma dan Pemrograman

Tipe BentukanTipe Bentukan

Tipe dasar yang diberi nama tipe baruTipe dasar yang diberi nama tipe baru Nama baru untuk tipe dasar menggunakan kata Nama baru untuk tipe dasar menggunakan kata

kunci kunci typetype Domain nilai, cara menulis konstanta, dan Domain nilai, cara menulis konstanta, dan

operasi-operasi yang dapat dijalankan pada tipe operasi-operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe baru tersebut tidak berubah, sama seperti tipe dasarnya.dasarnya.

Contoh: Contoh: typetype BilanganBulat: BilanganBulat: integerinteger Rekaman (record)Rekaman (record)

Rekaman disusun atas satu atau lebih fieldRekaman disusun atas satu atau lebih field Tipe field menyimpan data dan tipe dasar tertentu Tipe field menyimpan data dan tipe dasar tertentu

atau dari tipe bentukan lain yang sudah atau dari tipe bentukan lain yang sudah didefinisikan sebelumnyadidefinisikan sebelumnya

Nama rekaman ditentukan oleh pemrogramNama rekaman ditentukan oleh pemrogram Rekaman disebut juga tipe terstrukturRekaman disebut juga tipe terstruktur

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 34: Algoritma dan Pemrograman

Contoh RecordContoh Record

DEKLARASIDEKLARASItypetype MataKuliah : MataKuliah : recordrecord <KodeMK : <KodeMK : stringstring, {kode , {kode

matakuliah}matakuliah} NamaMK : NamaMK : stringstring, {nama , {nama

matakuliah}matakuliah} Nilai : Nilai : charchar {indeks nilai} {indeks nilai}>>

typetype Mahasiswa : Mahasiswa : recordrecord <NIM : <NIM : integerinteger, {nomor , {nomor mhs}mhs}

NamaMhs : NamaMhs : stringstring, {nama mhs}, {nama mhs} MKMK : : arrayarray[1..4] [1..4] ofof

MataKuliahMataKuliah>>

LarikMhs : LarikMhs : arrayarray[1..100] [1..100] ofof Mahasiswa Mahasiswa

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 35: Algoritma dan Pemrograman

NamaNama

Untuk mengidentifikasikan dan membedakan obyekUntuk mengidentifikasikan dan membedakan obyek Unik dan tidak boleh samaUnik dan tidak boleh sama Dalam algoritma nama diberikan pada:Dalam algoritma nama diberikan pada:

VariabelVariabel Tempat penyimpanan data/informasi di memori yang Tempat penyimpanan data/informasi di memori yang

nilainya dapat diubah selama pelaksanaan programnilainya dapat diubah selama pelaksanaan program KonstantaKonstanta

Tempat penyimpanan di memori yang nilainya tidak Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan programdapat diubah selama pelaksanaan program

Tipe bentukanTipe bentukan Tipe data baru yang didefinisikan oleh program dari tipe Tipe data baru yang didefinisikan oleh program dari tipe

data yang sudah adadata yang sudah ada ProsedurProsedur

Modul program (sederetan instruksi) yang ditulis Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil terpisah dari badan program utamadan dapat dipanggil berulang dari program utamaberulang dari program utama

FungsiFungsi Prosedur yang mengembalikan suatu nilai dengan tipe Prosedur yang mengembalikan suatu nilai dengan tipe

data sederhanadata sederhana

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 36: Algoritma dan Pemrograman

Aturan Penulisan NamaAturan Penulisan Nama

Harus dimulai dengan huruf alfabet, tidak Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.karakter khusus lainnya.

Tidak case sensitif (beda dengan bahasa Tidak case sensitif (beda dengan bahasa pemrograman)pemrograman)

Karakter penyusun nama hanya boleh: Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore)huruf alfabet, angka dan “_” (underscore)

Tidak boleh dipisahkan dengan spasiTidak boleh dipisahkan dengan spasi Panjang nama tidak terbatasPanjang nama tidak terbatas Semua nama yang dipakai harus Semua nama yang dipakai harus

dideklarasikan dulu pada bagian deklarasidideklarasikan dulu pada bagian deklarasi

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 37: Algoritma dan Pemrograman

Contoh PenamaanContoh Penamaan

SALAHSALAH 6titik6titik {dimulai dg angka}{dimulai dg angka} nilai ujiannilai ujian {dipisahkan spasi}{dipisahkan spasi} PT-1PT-1 {mengandung operator kurang}{mengandung operator kurang} hari!hari! {mengandung karakter khusus}{mengandung karakter khusus}

BENARBENAR titik6 titik6 atauatau titik_6 titik_6 nilai_ujian nilai_ujian atauatau nilaiUjian nilaiUjian PT_1 PT_1 atauatau PT1 PT1 harihari

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 38: Algoritma dan Pemrograman

NilaiNilai

Merupakan besaran dari tipe data yang Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun sudah didefinisikan (tipe dasar maupun tipe bentukan)tipe bentukan)

Nilai dapat berupa:Nilai dapat berupa: Isi variabel atau konstantaIsi variabel atau konstanta Nilai dari hasil perhitunganNilai dari hasil perhitungan Nilai yang dihasilkan oleh fungsiNilai yang dihasilkan oleh fungsi

Nilai yang disimpan di variabel Nilai yang disimpan di variabel dimanipulasi dengan cara:dimanipulasi dengan cara: Mengisikan ke variabel lain yang bertipe samaMengisikan ke variabel lain yang bertipe sama Dipakai untuk perhitunganDipakai untuk perhitungan Dituliskan ke piranti keluaranDituliskan ke piranti keluaran

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 39: Algoritma dan Pemrograman

Nilai(2)Nilai(2)

Pengisian nilai ke variabel:Pengisian nilai ke variabel: Pengisian nilai secara Pengisian nilai secara

langsung(assignment)langsung(assignment) Memasukkan sebuah nilai ke Memasukkan sebuah nilai ke

dalam nama variabel langsung dalam nama variabel langsung di dalma teks algoritmadi dalma teks algoritma

Syaratnya nilai yang didisikan Syaratnya nilai yang didisikan harus bertipe sama dengan harus bertipe sama dengan tipe peubahtipe peubah

Notasi: Notasi: Contoh: Contoh:

variabel konstanta

NoMhs 1234

variabel1 variabel2

Nil_prev Nil_cur

variabel ekspresi

Luas 0.5 * p * l ~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 40: Algoritma dan Pemrograman

Nilai(3)Nilai(3)

Pembacaan nilai dari piranti Pembacaan nilai dari piranti masukanmasukan Nilai untuk nama variabel dapt diisi Nilai untuk nama variabel dapt diisi

dari piranti masukan, misalnya dari dari piranti masukan, misalnya dari keyboard.keyboard.

Dinamakan dengan operasi Dinamakan dengan operasi pembacaan datapembacaan data

Notasi dalam teks algoritma: Notasi dalam teks algoritma: readread Contoh: Contoh:

read read (nama1, nama2,…namaN)(nama1, nama2,…namaN)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 41: Algoritma dan Pemrograman

EkspresiEkspresi

Ekspresi terdiri atas: operand dan Ekspresi terdiri atas: operand dan operatoroperator

Operand adalah nilai yang dioperasikan Operand adalah nilai yang dioperasikan dengan operator tertentudengan operator tertentu

Operand dapat berupa konstanta, Operand dapat berupa konstanta, nama variabel, nama konstanta, atau nama variabel, nama konstanta, atau hasil suatu fungsihasil suatu fungsi

Hasil evaluasi dari sebuah ekspresi Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang adalah nilai di dalam domain yang sesuai dengan tipe operand yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi aritmetik, ekspresi relasional, ekspresi string.string.

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 42: Algoritma dan Pemrograman

Ekspresi(2)Ekspresi(2)

Ekspresi AritmetikaEkspresi Aritmetika Ekspresi yang baik operand dan hasilnya Ekspresi yang baik operand dan hasilnya

berupa numerikberupa numerik (ingat: tingkat prioritas operator)(ingat: tingkat prioritas operator)

i. / , i. / , divdiv, , modmodii. *ii. *iii.+, -iii.+, -

Ekspresi relasionalEkspresi relasional Ekspresi dengan operator <,Ekspresi dengan operator <,≤,>,≥,=,≠, ≤,>,≥,=,≠, notnot, , andand, ,

oror, dan , dan xorxor Hasil evaluasi adalah nilai bertipe booleanHasil evaluasi adalah nilai bertipe boolean Ekspresi stringEkspresi string

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 43: Algoritma dan Pemrograman

Ekspresi (3)Ekspresi (3)

Ekspresi stringEkspresi string Ekspresi dengan operator Ekspresi dengan operator

penyambungan/concatenation penyambungan/concatenation “+”.“+”.

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 44: Algoritma dan Pemrograman

Menuliskan Nilai ke Piranti Menuliskan Nilai ke Piranti Keluaran (monitor/printer)Keluaran (monitor/printer)

Dilakukan dengan notasi Dilakukan dengan notasi writewrite Contoh: Contoh:

write write (nama1, nama2, …, namaN)(nama1, nama2, …, namaN)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 45: Algoritma dan Pemrograman

Contoh AlgoritmaContoh Algoritma

Algoritma Hello_WorldAlgoritma Hello_World{mencetak string Hello World diikuti nama orang. {mencetak string Hello World diikuti nama orang.

Nama orang diinputkan dari piranti masukan}Nama orang diinputkan dari piranti masukan}

DEKLARASIDEKLARASIconstconst ucapan = ‘Hello World’ ucapan = ‘Hello World’

namaUser : namaUser : stringstring

DESKRIPSIDESKRIPSIreadread(namaUser)(namaUser)writewrite(ucapan + ‘ ‘ + namaUser)(ucapan + ‘ ‘ + namaUser)

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 46: Algoritma dan Pemrograman
Page 47: Algoritma dan Pemrograman
Page 48: Algoritma dan Pemrograman
Page 49: Algoritma dan Pemrograman

SumberSumber

Algoritma dan Pemrograman Algoritma dan Pemrograman dalam Bahasa Pascal dan C dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, (Buku 1), Rinaldi Munir, Informatika BandungInformatika Bandung

ilmukomputer.comilmukomputer.com

~ Alpro – Tubagus Purworusmiardi, S.Kom

Page 50: Algoritma dan Pemrograman

Dasar-

dasar

Dasar-

dasar

Algoritma

Algoritma

Kelas C – S

istem In

formasi

Kelas C – S

istem In

formasi

Tubagus Purw

orusm

iardi, S

.Kom

Tubagus Purw

orusm

iardi, S

.Kom

Page 51: Algoritma dan Pemrograman

Dasar AlgoritmaDasar Algoritma

Dalam penulisan Algoritma ada Dalam penulisan Algoritma ada beberapa ketentuan yaitu:beberapa ketentuan yaitu: Program atau metode penyelesaian Program atau metode penyelesaian

masalah harus sesuai tahapan / masalah harus sesuai tahapan / urutanurutan

Tahapan tersebut tidak baku, yang Tahapan tersebut tidak baku, yang penting efektifpenting efektif

Program bersifat terstrukturProgram bersifat terstruktur Tidak bermakna gandaTidak bermakna ganda

Page 52: Algoritma dan Pemrograman

Struktur Badan AlgoritmaStruktur Badan Algoritma

Kepala ProgramKepala Program Berisi judul program dan keterangan Berisi judul program dan keterangan

tentang programtentang program Bahasa Algoritma : Bahasa Algoritma : Algoritma Algoritma

judul_programjudul_program Ex. Algoritma menghitung_luas_segitiga Ex. Algoritma menghitung_luas_segitiga Ex. Algoritma MenghitungLuasSegitigaEx. Algoritma MenghitungLuasSegitiga

Bisa ditambahkan komentar tentang Bisa ditambahkan komentar tentang program dengan menggunakan program dengan menggunakan operator “{ }”operator “{ }”

Page 53: Algoritma dan Pemrograman

Struktur Badan Algoritma (2)Struktur Badan Algoritma (2)

DeklarasiDeklarasi Berisi variabel yang digunakan Berisi variabel yang digunakan

dalam programdalam program Bahasa Algoritma : nama_variabel Bahasa Algoritma : nama_variabel

: Tipe Data: Tipe Data Ex. AlasSegitiga : integerEx. AlasSegitiga : integer Ex. TinggiSegitiga : integerEx. TinggiSegitiga : integer Ex. LuasSegitiga : integer Ex. LuasSegitiga : integer

Page 54: Algoritma dan Pemrograman

Struktur Badan Algoritma (3)Struktur Badan Algoritma (3)

DeskripsiDeskripsi Berisi uraian langkah Berisi uraian langkah

penyelesaianpenyelesaian Example:Example:

read(PanjangSegitiga)read(PanjangSegitiga)

read(LebarSegitiga)read(LebarSegitiga)

LuasSegitiga LuasSegitiga ←← ½ * PanjangSegitiga * ½ * PanjangSegitiga * LebarSegitigaLebarSegitiga

write(LuasSegitiga)write(LuasSegitiga)

Page 55: Algoritma dan Pemrograman

Struktur Badan Algoritma (4)Struktur Badan Algoritma (4)

Algoritma Algoritma menghitung_luas_segitigamenghitung_luas_segitiga

{menghitung luas segitiga dengan inputan alas dan {menghitung luas segitiga dengan inputan alas dan tinggi segitiga berasal dari keyboard}tinggi segitiga berasal dari keyboard}

DEKLARASIDEKLARASIAlasSegitiga : AlasSegitiga : IntegerIntegerTinggiSegitiga : TinggiSegitiga : IntegerIntegerLuasSegitigaLuasSegitiga : : IntegerInteger

DESKRIPSIDESKRIPSIreadread(AlasSegitiga)(AlasSegitiga)readread(TinggiSegitiga)(TinggiSegitiga)

LuasSegitiga LuasSegitiga ←← ½ * AlasSegitiga * TinggiSegitiga ½ * AlasSegitiga * TinggiSegitiga

writewrite(LuasSegitiga)(LuasSegitiga)

Page 56: Algoritma dan Pemrograman

KasusKasus

Deklarasi data untuk mobil Deklarasi data untuk mobil MerkMerk : : StringString {Contoh: Honda} {Contoh: Honda} NoKendaraanNoKendaraan : : StringString {Contoh: KH1A} {Contoh: KH1A} TahunProduksiTahunProduksi : : IntegerInteger {Contoh: 2007} {Contoh: 2007}

Deklarasi data untuk Mata kuliahDeklarasi data untuk Mata kuliah Deklarasi data untuk WaktuDeklarasi data untuk Waktu

Page 57: Algoritma dan Pemrograman

Deklarasi data untuk Alamat Deklarasi data untuk Alamat RumahRumah

Deklarasi data untuk Data Deklarasi data untuk Data Pribadi <min 6 variabel>Pribadi <min 6 variabel>

Page 58: Algoritma dan Pemrograman

TIPE, NAMA, DAN TIPE, NAMA, DAN NILAINILAI

Page 59: Algoritma dan Pemrograman

Tipe DataTipe Data

Tipe data terdiri dari tipe:Tipe data terdiri dari tipe: Tipe dasarTipe dasar

Tipe yang dapat langsung dipakai Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman)(disediakan oleh bahasa pemrograman)

Contoh: boolean, integer, real, char, Contoh: boolean, integer, real, char, stringstring (?)(?)

Tipe bentukanTipe bentukan Tipe yang didefinisikan sendiri oleh Tipe yang didefinisikan sendiri oleh

pemrogrampemrogram Tipe yang dibentuk dari tipe dasar atau Tipe yang dibentuk dari tipe dasar atau

dari tipe bentukan lain yang sudah dari tipe bentukan lain yang sudah didefinisikandidefinisikan

Contoh: tipe dasar yang diberi nama tipe Contoh: tipe dasar yang diberi nama tipe baru, recordbaru, record

Page 60: Algoritma dan Pemrograman

Tipe Data(2)Tipe Data(2)

Empat hal yang harus Empat hal yang harus diperhatikan dalam diperhatikan dalam pendefinisian tipe:pendefinisian tipe:

NamaNama Domain hargaDomain harga KonstantaKonstanta OperatorOperator

Page 61: Algoritma dan Pemrograman

Tipe Data(3)Tipe Data(3)

Page 62: Algoritma dan Pemrograman

Tipe BentukanTipe Bentukan

Tipe dasar yang diberi nama tipe baruTipe dasar yang diberi nama tipe baru Nama baru untuk tipe dasar menggunakan kata Nama baru untuk tipe dasar menggunakan kata

kunci kunci typetype Domain nilai, cara menulis konstanta, dan Domain nilai, cara menulis konstanta, dan

operasi-operasi yang dapat dijalankan pada tipe operasi-operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe baru tersebut tidak berubah, sama seperti tipe dasarnya.dasarnya.

Contoh: Contoh: typetype BilanganBulat: BilanganBulat: integerinteger Rekaman (record)Rekaman (record)

Rekaman disusun atas satu atau lebih fieldRekaman disusun atas satu atau lebih field Tipe field menyimpan data dan tipe dasar tertentu Tipe field menyimpan data dan tipe dasar tertentu

atau dari tipe bentukan lain yang sudah atau dari tipe bentukan lain yang sudah didefinisikan sebelumnyadidefinisikan sebelumnya

Nama rekaman ditentukan oleh pemrogramNama rekaman ditentukan oleh pemrogram Rekaman disebut juga tipe terstrukturRekaman disebut juga tipe terstruktur

Page 63: Algoritma dan Pemrograman

Contoh RecordContoh Record

DEKLARASIDEKLARASItypetype MataKuliah : MataKuliah : recordrecord <KodeMK : <KodeMK : stringstring, {kode , {kode

matakuliah}matakuliah} NamaMK : NamaMK : stringstring, {nama , {nama

matakuliah}matakuliah} Nilai : Nilai : charchar {indeks nilai} {indeks nilai}>>

typetype Mahasiswa : Mahasiswa : recordrecord <NIM : <NIM : integerinteger, {nomor , {nomor mhs}mhs}

NamaMhs : NamaMhs : stringstring, {nama mhs}, {nama mhs} MKMK : : arrayarray[1..4] [1..4] ofof

MataKuliahMataKuliah>>

LarikMhs : LarikMhs : arrayarray[1..100] [1..100] ofof Mahasiswa Mahasiswa

Page 64: Algoritma dan Pemrograman

NamaNama

Untuk mengidentifikasikan dan membedakan obyekUntuk mengidentifikasikan dan membedakan obyek Unik dan tidak boleh samaUnik dan tidak boleh sama Dalam algoritma nama diberikan pada:Dalam algoritma nama diberikan pada:

VariabelVariabel Tempat penyimpanan data/informasi di memori yang nilainya Tempat penyimpanan data/informasi di memori yang nilainya

dapat diubah selama pelaksanaan programdapat diubah selama pelaksanaan program KonstantaKonstanta

Tempat penyimpanan di memori yang nilainya tidak dapat Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan programdiubah selama pelaksanaan program

Tipe bentukanTipe bentukan Tipe data baru yang didefinisikan oleh program dari tipe data Tipe data baru yang didefinisikan oleh program dari tipe data

yang sudah adayang sudah ada ProsedurProsedur

Modul program (sederetan instruksi) yang ditulis terpisah dari Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari badan program utamadan dapat dipanggil berulang dari program utamaprogram utama

FungsiFungsi Prosedur yang mengembalikan suatu nilai dengan tipe data Prosedur yang mengembalikan suatu nilai dengan tipe data

sederhanasederhana

Page 65: Algoritma dan Pemrograman

Aturan Penulisan NamaAturan Penulisan Nama

Harus dimulai dengan huruf alfabet, tidak Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.karakter khusus lainnya.

Tidak case sensitif (beda dengan bahasa Tidak case sensitif (beda dengan bahasa pemrograman)pemrograman)

Karakter penyusun nama hanya boleh: Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore)huruf alfabet, angka dan “_” (underscore)

Tidak boleh dipisahkan dengan spasiTidak boleh dipisahkan dengan spasi Panjang nama tidak terbatasPanjang nama tidak terbatas Semua nama yang dipakai harus Semua nama yang dipakai harus

dideklarasikan dulu pada bagian deklarasidideklarasikan dulu pada bagian deklarasi

Page 66: Algoritma dan Pemrograman

Contoh PenamaanContoh Penamaan

SALAHSALAH 6titik6titik {dimulai dg angka}{dimulai dg angka} nilai ujiannilai ujian {dipisahkan spasi}{dipisahkan spasi} PT-1PT-1 {mengandung operator kurang}{mengandung operator kurang} hari!hari! {mengandung karakter khusus}{mengandung karakter khusus}

BENARBENAR titik6 titik6 atauatau titik_6 titik_6 nilai_ujian nilai_ujian atauatau nilaiUjian nilaiUjian PT_1 PT_1 atauatau PT1 PT1 harihari

Page 67: Algoritma dan Pemrograman

NilaiNilai

Merupakan besaran dari tipe data yang Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun sudah didefinisikan (tipe dasar maupun tipe bentukan)tipe bentukan)

Nilai dapat berupa:Nilai dapat berupa: Isi variabel atau konstantaIsi variabel atau konstanta Nilai dari hasil perhitunganNilai dari hasil perhitungan Nilai yang dihasilkan oleh fungsiNilai yang dihasilkan oleh fungsi

Nilai yang disimpan di variabel Nilai yang disimpan di variabel dimanipulasi dengan cara:dimanipulasi dengan cara: Mengisikan ke variabel lain yang bertipe samaMengisikan ke variabel lain yang bertipe sama Dipakai untuk perhitunganDipakai untuk perhitungan Dituliskan ke piranti keluaranDituliskan ke piranti keluaran

Page 68: Algoritma dan Pemrograman

Nilai(2)Nilai(2)Pengisian nilai ke variabel:Pengisian nilai ke variabel:Pengisian nilai secara langsung(assignment)Pengisian nilai secara langsung(assignment)

Memasukkan sebuah nilai ke dalam nama Memasukkan sebuah nilai ke dalam nama variabel langsung di dalma teks algoritmavariabel langsung di dalma teks algoritma

Syaratnya nilai yang didisikan harus bertipe Syaratnya nilai yang didisikan harus bertipe sama dengan tipe peubahsama dengan tipe peubah

Notasi: Notasi: Contoh: Contoh:

variabel konstanta NoMhs 1234

variabel1 variabel2 Nil_prev Nil_cur

variabel ekspresi Luas 0.5 * p * l

Page 69: Algoritma dan Pemrograman

Nilai(3)Nilai(3)

Pembacaan nilai dari piranti Pembacaan nilai dari piranti masukanmasukan Nilai untuk nama variabel dapt diisi Nilai untuk nama variabel dapt diisi

dari piranti masukan, misalnya dari dari piranti masukan, misalnya dari keyboard.keyboard.

Dinamakan dengan operasi Dinamakan dengan operasi pembacaan datapembacaan data

Notasi dalam teks algoritma: Notasi dalam teks algoritma: readread Contoh: Contoh:

read read (nama1, nama2,…namaN)(nama1, nama2,…namaN)

Page 70: Algoritma dan Pemrograman

EkspresiEkspresi

Ekspresi terdiri atas: operand dan Ekspresi terdiri atas: operand dan operatoroperator

Operand adalah nilai yang dioperasikan Operand adalah nilai yang dioperasikan dengan operator tertentudengan operator tertentu

Operand dapat berupa konstanta, Operand dapat berupa konstanta, nama variabel, nama konstanta, atau nama variabel, nama konstanta, atau hasil suatu fungsihasil suatu fungsi

Hasil evaluasi dari sebuah ekspresi Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang adalah nilai di dalam domain yang sesuai dengan tipe operand yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi aritmetik, ekspresi relasional, ekspresi string.string.

Page 71: Algoritma dan Pemrograman

Ekspresi(2)Ekspresi(2)

Ekspresi AritmetikaEkspresi Aritmetika Ekspresi yang baik operand dan hasilnya Ekspresi yang baik operand dan hasilnya

berupa numerikberupa numerik (ingat: tingkat prioritas operator)(ingat: tingkat prioritas operator)

i. / , i. / , divdiv, , modmodii. *ii. *iii.+, -iii.+, -

Ekspresi relasionalEkspresi relasional Ekspresi dengan operator <,Ekspresi dengan operator <,≤,>,≥,=,≠, ≤,>,≥,=,≠, notnot, , andand, ,

oror, dan , dan xorxor Hasil evaluasi adalah nilai bertipe booleanHasil evaluasi adalah nilai bertipe boolean Ekspresi stringEkspresi string

Page 72: Algoritma dan Pemrograman

Ekspresi (3)Ekspresi (3)

Ekspresi stringEkspresi string Ekspresi dengan operator Ekspresi dengan operator

penyambungan/concatenation penyambungan/concatenation “+”.“+”.

Page 73: Algoritma dan Pemrograman

Menuliskan Nilai ke Piranti Menuliskan Nilai ke Piranti Keluaran (monitor/printer)Keluaran (monitor/printer)

Dilakukan dengan notasi Dilakukan dengan notasi writewrite Contoh: Contoh:

write write (nama1, nama2, …, namaN)(nama1, nama2, …, namaN)

Page 74: Algoritma dan Pemrograman

Contoh AlgoritmaContoh Algoritma

Algoritma Hello_WorldAlgoritma Hello_World{mencetak string Hello World diikuti nama orang. {mencetak string Hello World diikuti nama orang.

Nama orang diinputkan dari piranti masukan}Nama orang diinputkan dari piranti masukan}

DEKLARASIDEKLARASIconstconst ucapan = ‘Hello World’ ucapan = ‘Hello World’

namaUser : namaUser : stringstring

DESKRIPSIDESKRIPSIreadread(namaUser)(namaUser)writewrite(ucapan + ‘ ‘ + namaUser)(ucapan + ‘ ‘ + namaUser)

Page 75: Algoritma dan Pemrograman
Page 76: Algoritma dan Pemrograman
Page 77: Algoritma dan Pemrograman
Page 78: Algoritma dan Pemrograman

Tugas di kumpul minggu Tugas di kumpul minggu depandepan

Buatlah algoritma lengkap Buatlah algoritma lengkap tentang perhitungan konversi tentang perhitungan konversi dari jam ke detikdari jam ke detik Inputan berupa jam. MisalnyaInputan berupa jam. Misalnya

Masukan jam : 1Masukan jam : 1 OuputOuput

Detik : 3600Detik : 3600

Page 79: Algoritma dan Pemrograman

SumberSumber

Algoritma dan Pemrograman Algoritma dan Pemrograman dalam Bahasa Pascal dan C dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, (Buku 1), Rinaldi Munir, Informatika BandungInformatika Bandung

ilmukomputer.comilmukomputer.com