• Tidak ada hasil yang ditemukan

Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs."

Copied!
51
0
0

Teks penuh

(1)

Algoritma Pemrograman 1

(Alpro1) 4 sks

By. Rita Wiryasaputra, ST., M. Cs.

ritasaputra@gmail.com

(2)

Ketentuan Mahasiswa Jurusan

Informatika (S1) UIGM

Atasan Baju batik, Bawahan celana panjang

hitam (1 semester)

Aktif dalam kegiatan kampus

Sertifikat akan merupakan prasyarat ujian

praskripsi

(3)

Komponen Penilaian UIGM

Total Nilai Grade Konversi Nilai

80 > NA >= 100 A 4 68 > NA >= 80 B 3 56 > NA >= 68 C 2 45 > NA >= 56 D 1

NA <= 45 E 0

(4)

Ketentuan Mata Kuliah Algoritma Pemrog.1

Jurusan Informatika (S1) UIGM

Datang tepat waktu, sebelum dosen memasuki

ruangan

Sebelum dan setelah perkuliahan, papan tulis

dibersihkan

Nilai tugas, apabila

dikerjakan sendiri tanpa

menjiblak

hasil karya orang lain dan

dikumpulkan tepat pada waktunya.

Nilai Mid (UTS) apabila telah selesai melakukan

pembayaran uang perkuliahan

(5)

Tugas 1

Student Profile berisi biografi (nama, npm,

date of birth, favorite things…) prestasi, foto

latar belakang merah. Dikumpul 15 September

2015 jam 08.00 UIGM,ukuran kertas A4,

(6)

Website Universitas

Uigm.ac.id

(7)
(8)
(9)
(10)
(11)
(12)

Buku 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

(13)

Alat

Live coding C++

Turbo Pascal 7.0

Borland C++

(14)

Pendahuluan

Sistem Komputer terdiri dari :

• Hardware (perangkat keras)

I, P, O

• Software (perangkat lunak)

Operating System ,

Programming Language, Application Program

• Brainware

user (end), administrator, desainer,

(15)
(16)
(17)
(18)
(19)
(20)

Ciri Program yang bagus

Correct

Program dapat memberikan solusi yang tepat dari suatu

masalah

Clear

Program harus jelas, dapat dimengerti dengan mudah, dan

dapat di trace dengan mudah

Efesien

Terkait dengan sumber daya yang dibutuhkan. Kecepatan

juga menjadi hal yang perlu diperhatikan

(21)

Definisi

Algoritma

urutan langkah dari awal hingga akhir disusun secara

sistematis dan bersifat logis untuk menyelesaikan suatu masalah.

Urutan langkah logis  berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.

Asal kata:

Penulis buku Arab Al-Khowarizmi (dibaca algorism) seorang ahli

matematika, geografi, astronomi dan musik dari Uzbekistan yang

bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi

(770-840).

Kitab Al-jabar wal-muqabala (buku pemugaran dan pengurangan)

Dalam bidang komputer, algoritma sangat diperlukan dalam

menyelesaikan berbagai masalah pemrograman, terutama dalam

komputasi numeris

Tanpa algoritma yang dirancang baik maka proses pemrograman

(22)

Contoh Algoritma Sederhana

Masalah : Membuat Kopi Panas

Algoritma :

Ambil gelas

Ambil gula masukkan ke dalam gelas

Ambil kopi masukkan ke dalam gelas

Ambil air panas, tuangkan ke dalam gelas

Aduk air, gula dan kopi sampai rata

(23)

Contoh Algoritma

Memasak Mie Instant

Jika seseorang ingin mengirim surat kepada kenalannya di

tempat lain, langkah yang harus dilakukan adalah :

– Menulis surat

– Surat dimasukkan kedalam amplop tertutup

– Amplop ditempeli perangko secukupnya

(24)

Penulisan Algoritma

1. Uraian Deskriptif

 dengan bahasa natural (Indonesia, Jawa) seperti contoh sebelumnya yaitu pembuatan kopi panas

 Terlalu banyak akan membingungkan

2. Pseudocode

 Pseudo : tidak sebenarnya, PseudoCode : Code yang tidak sebenarnya

 Bahasa Natural tapi Lebih dekat ke bahasa pemrograman

 Sulit dimengerti kecuali yang tahu pemrograman

3. Flow-Chart (Diagram Alir)

 Bagus secara visual dan mudah dimengerti

 Merepotkan untuk menggambar kalau algoritmanya besar/banyak

(25)

What is the difference??

Belajar memprogram

:

pemahaman persoalan, analisis, dan sintesis

Identifikasi masalah

(input,proses,output)

Algoritma

Implementasi algoritma yang ditulis dengan

bahasa pemrograman (program)

Belajar Bahasa Pemrograman

:

Belajar memakai suatu bahasa,aturan sintaks (tata

bahasa)

Pemecahan Masalah -Strategi -Metodologi -Sistematika

Notasi yang telah disepakati

(26)

Notasi

Tidak ada notasi baku dalam penulisan teks

algoritma (notasi algoritmik) sebagaimana

pada notasi bahasa pemrograman. Namun,

agar notasi algoritmik mudah ditranslasikan ke

dalam notasi bahasa pemrograman, sebaiknya

notasi algoritmik tersebut berkoresponden

dengan notasi bahasa pemrograman secara

umum.

(27)

Penyajian dan Struktur Algoritma

Algoritma disajikan dalam 2 bentuk :

Tulisan ( Pseudocode, English structure)

Gambar (Structure chart, HIPO, Flowchart,

Nassi-Scheiderman chart)

Pada dasarnya struktur algoritma meliputi:

Runtunan/sequence

Pemilihan/selection (If dan Case)

(28)

Karakteristik Algoritma (IDETO)

Input

-terdapat nol masukkan atau lebih yang diberikan

secara eksternal

Definite (pasti)

-harus secara sempurna menyatakan

apa yang dilakukan (instruksi-instruksi jelas dan tidak

ambigu)

Efective

-setiap instruksi harus dapat dilakukan secara

manual dalam jumlah waktu yang terhingga. Contoh

instruksi yang tidak efektif adalah: A=A+0 atau A=A*1

Terminate/finite

-harus

berhenti

setelah

sejumlah

terbatas operasi

(29)
(30)

30

Masalah dan Model

Mathematical Modeling

is a procedure that

recognizes and verbalizes a problem and then

quantifies it by turning the words into

mathematical expressions.

Mathematical Modeling is an art that

improves with experience

A constrained mathematical model consists of

An objective

(31)

Electrocomp. Corporation

The Electrocomp Corporation manufactures two electrical

products: air conditioners and large fans. The assembly

process for each is similar in that both require a certain

amount of wiring and drilling. Each air conditioner takes 3

hours of wiring and 2 hours of drilling. Each fan must go

through 2 hours of wiring and 1 hour of drilling. During the

next production period, 240 hours of wiring time are

available and up to 140 hours of drilling time may be used.

Each air conditioner sold yields a profit of $25. Each fan

assembled may be sold for a $15 profit. Formulate and

solve this LP production mix situation to find the best

combination of air conditioners and fans that yields the

highest profit.

(32)

Solution Electrocomp.

X

1

= number of air conditioner to be produced

X

2

= number of large fans to be produced

Max = 25 X

1

+ 15 X

2

3 X

1

+ 2 X

2

≤ 240 (hours of wiring constraint)

2 X

1

+ X

2

≤ 140 (hours of drilling constraint)

X

1

≥ 0 ( first nonnegativity constraint)

(33)
(34)

Struktur Dasar Algoritma

Runtunan (sequence)

aksi-aksi dalam algoritma yang dikerjakan secara

berurutan

contoh :

A1. Aksi 1

A2. Aksi 2

A3. Aksi 3

(35)

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

(36)

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

UNTILkondisi

(pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi)

WHILEkondisi DO

Aksi

(37)
(38)
(39)

Contoh Masalah dan Pemecahannya

dengan algoritma

Masalah : memilih bilangan terbesar dari tiga

bilangan

Algoritma :

(40)

Contoh Penulisan Algoritma (Bahasa

Natural)

1. Sediakan wadah sementara untuk menyimpan bilangan

terbesar, beri nama

maks

2. Ambil bilangan pertama dan set

maks

sama dengan bilangan

pertama

3. Ambil bilangan kedua dan bandingkan dengan

maks

4. Apa bila bilangan kedua lebih besar dari

maks

, set

maks

sama dengan bilangan kedua

5. Ambil blangan ketiga dan bandingan dengan

maks

6. Apabila bilangan ketiga lebih besar dari

maks

, set

maks

sama

dengan bilangan ketiga

(41)

Contoh Penulisan Algoritma (Flow Chart)

Mulai maks = bilangan pertama maks < bilangan kedua? maks < bilangan ketiga? maks = bilangan kedua maks = bilangan ketiga Sediakan wadah bernama maks Selesai Ya Tdk Ya Tdk

(42)

Contoh Penulisan Algoritma

(Pseudocode)

maks

bilangan pertama

if (

maks

< bilangan kedua)

Then maks

bilangan kedua

if (

maks

< bilangan ketiga)

(43)

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

(44)

Contoh Teks Algoritma

Judul algoritma spesifikasi algoritma

(45)
(46)

Pemrograman

Program

kumpulan instruksi/perintah tersendiri yang

biasanya disebut source code disusun sedemikian rupa

sehingga mempunyai urutan nalar yang tepat untuk

menyelesaikan suatu persoalan dan dibuat oleh programmer.

Instruksi (statement)

syntax (cara penulisan) sesuai dengan

bahasa pemrograman yang digunakan.

Komponen : input, output, proses, percabangan dan

perulangan.

Pemrograman

proses mengimplementasikan algoritma

dengan menggunakan suatu bahasa

(47)

Bahasa Pemrograman

Bahasa Pemrograman

prosedur/tata cara

penulisan program

Fungsi bahasa pemrograman

media untuk

menyusun dan memahami sehingga pemrogram

dengan komputer dapat berkomunikasi.

Contoh : C, C++, C#, Pascal, Basic, Perl, PHP, ASP,

JHP, Java dan sebagainya

Perbedaan : cara memberikan instruksi

Persamaan : bertujuan menghasilkan output yang

sama.

(48)

Bahasa Pemrograman

• Dunia komputer  beraneka ragam bahasa pemrograman.

• Bahasa pemrograman dikelompokkan berdasarkan kriteria tertentu.

Contohnya level bahasa (high, middle, low), procedural/functional programming, object oriented programming, dan sebagainya.

• Dasarnya  bahasa pemrograman memiliki bagian yang serupa.

• Perbedaannya  tata bahasa yang digunakan.

• Analogi  belajar bahasa Indonesia, bahasa Jawa, bahasa asing. Perbedaannya pada istilah/simbol yang digunakan dan dialek bahasa tersebut

(49)

Sifat bahasa pemrograman:

• Ekspresivitas  jelas menggambarkan algoritma

• Didefinisikan dengan baik  sintaks dan semantik konsisten dan tidak bermakna ganda.

• Mendukung berbagai tipe data.

• Modularitasnya mempunyai fasilitas subprogramming (modul).

• Fasilitas masukan dan keluaran mendukung berbagai model file (sequential, random, access, index, multiple index).

• Portabilitas  dipakai pada berbagai mesin komputer yang berbeda

• Efisiensi  dikompilasi dan dieksekusi secara cepat pada mesin komputer dimana program dapat diimplementasikan.

• Mudah dipelajari  dipahami dan diajarkan.

(50)

Faktor Penting Bahasa Pemrograman

Sintaks

aturan gramatikal yang mengatur tata

cara penulisan kata, ekspresi dan pernyataan

Semantik

aturan-aturan untuk menyatakan arti

Pragmatik

kemudahan implementasi dan

efisiensi

(51)

Bahasa pemrograman Pascal

Bahasa pemrograman berbasis teks.

Penulisan program dan proses eksekusinya dilakukan

dari

atas

ke

bawah

pemrograman

Linear

programming.

Bahasa pemrograman Prosedural, dimana program

dibedakan antara data (dalam memori) dengan

instruksi. Program terdiri dari runtunan instruksi yang

dilaksanakan satu per satu secara berurutan oleh

pemroses. Alur pelaksanaan instruksi dapat berubah

karena adanya kondisional. Data dalam memori

dimanipulasi oleh instruksi secara beruntun.

Referensi

Dokumen terkait

Bahasa algoritmik (pseudo-code) adalah sebuah bahasa penengah antara manusia dan komputer. Pseudo-code dibuat untuk memudahkan algoritma dengan logika manusia diubah

Struktur dasar algoritma, Notasi Algoritmik, Tipe, operator dan ekspresi, Runtunan,. Pemilihan: IF-THEN, Pemilihan: IF-THEN-ELSE,Pemilihan: CASE, Pengulangan:

“rt” Membuka file teks untuk pembacaan data “wt” Membuka file teks untuk penulisan data “at” Menambah data kedalam file teks. “r+t” Membuka file teks untuk

Agar notasi algoritma mudah ditranslasikan kedalam notasi bahasa pemrograman, maka sebaliknya notasi algoritmik tersebut berupa pseudo-code yang berkoresponden dengan bahasa

Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak, namun, untuk penulisan algoritma yang

Harus mempunyai tanda akhir (stopping role). Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman. Tidak tergantung pada suatu bahasa pemrograman. Notasi-notasinya

• Solusi dari redudansi data adalah normalisasi (memecah tabel tunggal menjadi beberapa tabel yang saling berhubungan).. • Database tidak dapat menyediakan informasi secara

Program adalah perwujudan / implementasi teknis algoritma yang ditulis atau logika pemecahan masalah yang ditulis dalam bahasa pemrograman tertentu sehingga dapat