PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ......

14
1 Ir. Roedi Goernida, MT. ([email protected]) PENGANTAR ALGORITMA PEMROGRAMAN (IS1313) Program Studi Sistem Informasi – Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 2 Sistem Komputer terdiri dari:. Brainware user Hardware monitor, keyboard, motherboard, memory, processor, harddisk, add. peripheral etc Software O/S, programming language, database, application program etc Product Life Cycle: Analysis Design Development Testing Implementation Maintenance EOL Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 1 / 25 Struktur Sistem Komputer - Scooping - Identifikasi - Blue print - SpekTek - Unit - Functional - Flow graph - Performance - Security - Integration - Instalasi - Pelatihan - Perbaikan bugs - Reinstalasi - Backup data - Perbaikan

Transcript of PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ......

Page 1: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

1

Ir. Roedi Goernida, MT.([email protected])

PENGANTARALGORITMA PEMROGRAMAN

(IS1313)

Program Studi Sistem Informasi – Fakultas Rekayasa IndustriInstitut Teknologi Telkom

Bandung

2011

2

Sistem Komputer terdiri dari:.

◊ Brainware → user

◊ Hardware → monitor, keyboard, motherboard, memory, processor, harddisk, add. peripheral etc

◊ Software → O/S, programming language, database, application program etc

Product Life Cycle:

Analysis → Design → Development → Testing → Implementation → Maintenance → EOL

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 1 / 25

Struktur Sistem Komputer

- Scooping- Identifikasi - Blue print

- SpekTek

- Unit- Functional- Flow graph- Performance- Security- Integration

- Instalasi- Pelatihan

- Perbaikan bugs- Reinstalasi- Backup data- Perbaikan

Page 2: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

3

Pengertian Algoritma (1/3)

Algoritma.

Urutan atau rentetan langkah-langkah logis tertentu untuk menyelesaikan atau memecahkan suatu masalah yang disusun secara sistematis & logis.

→ Mengoperasikan perangkat komputer, menjalankan motor/mobil, membuat kue dll

Algoritma merupakan cetak-biru dari suatu program & sebaiknya disusun sebelum program dibuat.

Kriteria suatu algoritma:► Memiliki masukan & keluaran► Efektifitas & efisien► Terstruktur

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 2 / 25

4

Pengertian Algoritma (2/3)

Sifat suatu algoritma:► Tidak menggunakan simbol-simbol (sintax) dari suatu

bahasa pemrograman.► Tidak tergantung pada suatu bahasa pemrograman.► Notasi dapat dipergunakan pada seluruh bahasa

pemrograman.

Contoh:

Algoritma menghitung luas persegi panjang:

● Masukan panjang (P)

● Masukan lebar (L)

● Luas ← P x L

● Tulis Luas

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 3 / 25

Page 3: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

5

Pengertian Algoritma (3/3)

Jenis proses algoritma.

● Sequence process.● Selection process.● Iteration process.● Concurrent process.

Ciri algoritma.● Algoritma memiliki nol atau lebih masukan.● Algoritma memiliki nol atau lebih keluaran.● Setiap langkah harus didefinisikan dengan tepat & tidak

berarti-dua (Ambiguitas) → Definiteness / kepastian.● Algoritma harus berhenti setelah mengerjakan sejumlah

langkah terbatas → Finiteness / ada batas.● Algoritma harus efektif → sederhana

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 4 / 25

6

Pseudo-code

Kode atau tanda yang menyerupai (pseudo) program atau merupakan penjelasan cara menyelesaikan suatu masalah.

Contoh: mencari bilangan terbesar dari dua bilangan yang diinputkan.

Algoritma Pseudo-code

1. Masukkan bilangan pertama 1. Input a

2. Masukkan bilangan kedua 2. Input b

3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.

3. If a > b then kerjakan langkah 4

4. Tampilkan bilangan pertama 4. print a

5.Tampilkan bilangan kedua 5. print b

Nilai A ditambah dengan 5 A ← A + 5

Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A

Dari dua bilangan A dan B, cari bilangan yang terbesar

IF A > B THEN PRINT A ELSE PRINT B

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 5 / 25

Page 4: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

7

Judul Algoritma.� Bagian yang terdiri atas nama algoritma dan penjelasan

(spesifikasi) tentang algoritma tersebut.

� Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut

Deklarasi.� Bagian untuk mendefinisikan semua nama yang digunakan di

dalam program.

� Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.

Deskripsi.Merupakan kumpulan instruksi yang berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan suatu notasi.

Aturan penulisan Algoritma

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 6 / 25

8

1. Kelulusan Mahasiswa

Algoritma Kelulusan_mhs

{diberikan nama dan nilai mahasiswa, jika nilai

tersebut lebih besar atau sama dengan 56, maka

mahasiswa tersebut dinyatakan lulus, jika tidak

maka dinyatakan tidak lulus}

DEKLARASI:

Nama : string

Nilai : integer

Keterangan : string

DESKRIPSI:

read (nama, nilai)

if nilai >= 56 then

keterangan = ‘lulus’

else

keterangan = ‘tidak lulus’

write (nama, keterangan)

endif

Contoh penulisan Algoritma + Pseudo-code (1/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 7 / 25

Page 5: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

9

Algoritma Luas_Kell_Lingkaran {judul algoritma}

{menghitung luas dan keliling lingkaran untuk

ukuran jari-jari tertentu. Algoritma menerima

input jari-jari lingkaran, menghitung luas dan

kelilingnya serta mencetak luas lingkaran ke

piranti keluaran –- spesifikasi algoritma}

DEKLARASI:

Const phi = 3.14 {nilai}

R : real {jari-jari lingkaran}

Luas : real {luas lingkaran}

Keliling : real {keliling lingkaran}

DESKRIPSI:

read(R)

luas ← phi*R*R

keliling ← 2*phi*R

write(luas, keliling)

Contoh penulisan Algoritma + Pseudo-code (2/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 8 / 25

2. Luas & keliling lingkaran

10

3. Komisi Salesman

Contoh penulisan Algoritma + Pseudo-code (3/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 9 / 25

Algoritma Komisi_Salesmen

{baca nama dan hasil penjualan salesman,

kemudian hitung besarnya komisi sebesar 15%

dari hasil penjualan dan tampilkan nama dan

komisinya ke layar}

DEKLARASI:

Nama : string

NilaiPenjualan : real

Komisi : real

DESKRIPSI:

read(Nama, NilaiPenjualan)

Komisi ← 0.15 * NilaiPenjualan

write(Nama, Komisi)

Page 6: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

11

Program komputer.

Sekumpulan instruksi (statement) yang dimengerti oleh komputer.

Bagian Program

Suatu program pada dasarnya terdiri dari 3 bagian:

Masukan : bisa ada, bisa tidak

Proses

Keluaran : min. satu ouput.

Pengertian Pemrograman (1/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 10 / 25

12

Pemrograman.

Suatu kumpulan instruksi-instruksi atau source code yang dibuat oleh seorang programmer.

◊ Pemrograman Prosedural/Terstruktur --> Pascal, C◊ Pemrograman Fungsional → fungsi matematika.◊ Pemrograman Modular,◊ Pemrograman Object-oriented → C++, Java◊ Pemrograman Functional-oriented → SQL, HTML◊ Pemrograman Declaratif

Pengertian Pemrograman (2/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 11 / 25

Page 7: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

13

Bahasa pemrograman.

Alat atau tools yang dipergunakan untuk membuat suatu program.

Contoh: Basic, Pascal, Cobol, C, C++, PHP, Java etc

Langkah dalam pemrograman,

Pendefinisian permasalahan.Menemukan solusiMemilih algoritmaMenulis programMenguji programDokumentasiPemeliharaan program

Pengertian Pemrograman (3/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 12 / 25

14

Bahasa tingkat rendah (low level language).◊ Bahasa mesin◊ Berisi kode-kode mesin yang hanya dapat

diinterpretasikan langsung oleh mesin komputer berupa kode numerik 0 dan 1.

Bahasa tingkat tinggi (high level language). ◊ Merupakan Bahasa Pemrograman Generasi ke-3.◊ Bahasa manusia◊ Banyak ragam → Java, Pascal, C, C++, Cobol dll.◊ Memberi banyak fasilitas kemudahan dalam

programming → variabel, tipe data, konstanta, loop, struktur kontrol, prosedur, dll.

Bahasa Pemrograman & Translator (1/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 13 / 25

Page 8: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

15

Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin → biner digit dengan menggunakan penterjemah.

Translator:● Interpreter → menterjemahkan baris per baris instruksi.

Contoh: Basic● Compiler → menterjemahkan setelah seluruh instruksi

ditulis. Contoh: Java, Pascal, Cobol

Bahasa Pemrograman & Translator (2/3)

Source code- Target code- Object code- Object program

Translator

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 14 / 25

16

Bahasa Pemrograman & Translator (3/3)

Interpreter Compiler

Input – source code - Basic, PHP, ASP dll- Program dari user

Pascal, C, C++, Cobol

Output - Tidak ada object code- Translasi dilakukan internal

- Bahasa Assembly- Exe

Source code

Input data

Interpreter Result

Sourcecode

Compiler LinkerObjectcode

Exe Result

Input data

LibrariesPreprocessor

- INTERPRETER

- COMPILER

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 15 / 25

Page 9: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

17

Flowchart (1/3)

Definisi:● Merupakan bagan yang menggunakan simbol-simbol

tertentu dalam menunjukkan alir di dalam suatu program atau prosedur sistem secara logika.

● Bagan yang mempunyai alir yang menggambarkan langkah-langkah penyelesaian suatu masalah yang juga merupakan cara penyajian dari suatu algoritma.

Macam-macam flowchart● System flowchart● Document / Paperwork / Form flowchart ● Schematic flowchart● Program flowchart● Process flowchart

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 16 / 25

18

System flowchart.

� Bagan alir yang menggambarkan arus / alur pekerjaan secara keseluruhan dari suatu sistem dengan menjelaskan urut-urutan dari prosedur yang terdapat di dalam sistem tersebut.

� Deskripsi dilakukan secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem

Document / Paperwork / Form flowchart.

Digunakan untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.

Flowchart (2/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 17 / 25

Page 10: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

19

Schematic flowchart.Menggambarkan suatu sistem atau prosedur dengan menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam menggunakan suatu sistem selain simbol-simbol flowchart standar.

Program flowchart.Flowchart yang dihasil dari System Flowchart yang akan memberikan keterangan yang lebih rinci pada setiap langkah program atau prosedur yang sesungguhnya dilaksanakan dalam urutan yang tepat saat terjadi.

Process flowchart.Teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah dalam suatu prosedur atau sistem

Flowchart (3/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 18 / 25

20

Pembuatan Flowcart

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 19 / 25

● Merupakan gambaran hasil analisa suatu permasalahan

● Tidak ada kaidah yang baku● Bervariasi antara satu pemrogram dengan pemrogram

lainnya● Terdiri dari bagian utama: input → proses → output● Hindari pengulangan proses yang tidak perlu dan

logika yang berbelit, sehingga jalannya proses menjadi singkat.

● Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.

● Sebuah flowchart diawali dari satu titik START / MULAI dan diakhiri dengan END / SELESAI.

Page 11: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

21

Simbol-simbol Flowcart

Proses Proses Dokumen Keputusan Data Altenatif Input/Output

Persiapan Operasi Masukan Disk storage Sub-program/nilai awal manual manual Sub-proses

Konektor Terminator I/O Display AliranManual Disket data

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 20 / 25

Operasi Perpindahan / Inspeksi Penundaan Penyimpanan /transportasi File

22

Mulai

Beri nilaiawal TOTAL

Baca data

HitungTOTAL

Data sudahhabis?

HitungRata-rata

Tampilkan hasilTotal &

Rata-rata

1

1

Selesai

TidakYa

Rata =

Total / N

Print

Total, Rata

1

Selesai

Mulai

Total= 0

I = 0

Read N

I = N1Y

Read X

Total=

Total + X

I =

I + 1

T

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 21 / 25

Contoh Flowcart (1/3)

Page 12: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

23

Contoh Flowcart (2/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 22 / 25

24

Contoh Flowcart (3/3)

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 23 / 25

Page 13: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

25

Flowcart vs Java

Rata =

Total / N

Print

Total, Rata

1

Selesai

Mulai

Total= 0

I = 0

Read N

I = N1Y

Read X

Total=

Total + X

I = I + 1

T

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 24 / 25

int Total = 0;

int I = 0;

Scanner s = new Scanner(System.in);

int N;

System.out.println(“Nilai N = “;

N = s.nextInt();

Total:=Total+ X

System.out.println(“Total = “ + Total;

System.out.println(“Rata = “ + Rata;

int X;

System.out.println(“Nilai X = “;

X = s.nextInt();

I = I + 1

Rata = Total / N

26

Contoh-contoh

Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 25 / 25

Mulai

TulisNama, Keterangan

Keterangan =“Tidak Lulus

Nilai >= 56

Selesai

Tidak

Ya

BacaNama, Nilai

Keterangan =“Lulus”

Mulai

Tulis L

L ← 3.14*R*R

Selesai

Input R

Phi=3.14

Kelulusan MahasiswaLuas lingkaran:

Page 14: PENGANTAR ALGORITMA PEMROGRAMAN - SI-35-02 · PDF fileberupa kode numerik 0 dan 1. ... Merupakan gambaran hasil analisa suatu ... IS1313-01 Pengantar Alpro Author: Roedi Goernida

27

Selesai