Algoritma
Sponsored Links
This presentation is the property of its rightful owner.
1 / 64

ALGORITMA PowerPoint PPT Presentation


  • 296 Views
  • Uploaded on
  • Presentation posted in: General

ALGORITMA. Urut-urutan langkah pengerjaan (Al-Khawarizmi) Atau sejumlah urutan perintah untuk mengerjakan sesuatu atau menyelesaikan suatu masalah, masalah apapun tidak terbatas pada pembuatan program saja. Menuliskan Algoritma. Algoritma dapat dituliskan dengan berbagai cara: Teks

Download Presentation

ALGORITMA

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


ALGORITMA

  • Urut-urutan langkah pengerjaan (Al-Khawarizmi)

  • Atau sejumlah urutan perintah untuk mengerjakan sesuatu atau menyelesaikan suatu masalah, masalah apapun tidak terbatas pada pembuatan program saja.


Menuliskan Algoritma

  • Algoritma dapat dituliskan dengan berbagai cara:

    • Teks

      • Level kedekatan dengan kode program: mulai dari teks bebas sampai pseudocode

    • Diagram, misal: bagan alir (flowchart)


Contoh 1: Algoritma pembuatan kue

  • Memanaskan oven

  • Penyiapan bahan

  • Pencampuran bahan dalam mangkuk

  • Memasukkannya kedalam loyang

  • Membakarnya

  • Mencek kematangan kue setiap 5 menit sampai dengan bagian atas kue tidak lengket.

  • Mendinginkannya dan memotongnya


Contoh 2: Persoalan 1

  • Menentukan apakah suatu bilangan bulat positif adalah bilangan genap atau bilangan ganjil.


Contoh Algoritma Persoalan 1: Menggunakan Teks Bebas

  • Bagi bilangan dengan bilangan 2

  • Hitung sisa hasil bagi pada langkah 1.

  • Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.


Contoh Algoritma Persoalan 1:Menggunakan Pseudocode


A

Start

m = 0

input (n)

Tidak

m = n mod 2

{ Hitung sisa bagi n dengan 2 }

output (‘Genap’)

output (‘Ganjil’)

End

A

Contoh Algoritma Persoalan 1:Menggunakan Flowchart

Keterangan:

n : integer > 0

m : integer > 0

Ya


Flowchart/Bagan Alir

  • visualisasi dari algoritma dalam bentuk bagan

  • Agar pengertian tentang masalah dan penyelesaiannya dapat tergambarkan dengan jelas.

  • Dalam pemrograman akan menggambarkan logika aliran pemrograman.


Bagan Alir (Flowchart)

  • Kelebihan (umum):

    • Bentuk grafis memudahkan interpretasi dan pembacaan

    • Relatif mudah dimengerti

    • Relatif mudah untuk dibuat

  • Kekurangan (umum):

    • Tidak ringkas (membutuhkan media penulisan yang relatif besar)

    • Untuk algoritma dalam ukuran besar menjadi tidak praktis

    • Kurang fleksibel untuk menjelaskan konsep-konsep spesifik dalam pemrograman

      • Misalnya: struktur data (type data tidak terdefinisi eksplisit), kondisional dengan banyak kasus, dsb.


Manfaat Bagan Alir:

  • Identifikasi masalah

  • Pengertian tentang masalah

  • Proses penyelesaian suatu masalah

  • Hubungan tiap-tiap bagian dari proses.

  • Kendala-kendala dalam penyelesaian masalah.

  • Ide-ide baru menyelesaikan masalah.

  • Relatif lebih dapat dimengerti & oleh orang lain.


Simbol Flowchart [1]


Simbol Flowchart [2]


Simbol Flowchart [3]

Dll.


Kontrol Struktur :

  • Dibagi dalam 4 katagori yaitu:

    • Statement

    • Sequence

    • Selection

    • Iteration (Looping)


Statement:

  • Control berupa instruksi/perintah yang harus dikerjakan oleh komputer.

  • Setiap bahasa pemrograman memiliki instruksi yang berlainan.


Sequence :

  • Beberapa statement diurutkan

    menjadi urutan perintah


Selection (IF/THEN/ELSE):

  • pemilihan 2 kemungkinan berdasarkan evaluasi dari suatu expresi, dapat benar (true) atau salah (False).


Iteration (Looping):

  • pengulangan atas dasar eveluasi suatu test,

    • bila benar perulangan akan dilakukan

    • bila salah akan berhenti.

  • Dibagi 2 dari segi posisi pengetesan

    • awal iterasi

    • pada akhir iterasi


awal iterasi

pada akhir iterasi


Program Terstruktur :

  • Terdapat dua model pemrograman

    • tak terstruktur

    • terstruktur

  • Perbedaan dari keduanya adalah:


Program Tak Terstruktur :

  • Program dibuat secara berurutan kebawah.

  • Dimulai dari baris pertama hingga baris terakhir program

  • Susah untuk dipahami, sehingga tidak mudah untuk memodifikasi program buatan orang lain

  • Akan tetapi untuk program yang sederhana dapat digunakan.


Program Terstruktur :

  • Desain program top – down,

    • solusi masalah dimulai dari general, kearah solusi detail hingga bagian yang paling detail

  • Desain program berbentuk modul-modul

    • Setiap bagian solusi masalah di buat subprogram tersendiri (prosedur).

  • Tiap modul dapat dites tersendiri

  • Mudah untuk difahami


Contoh Program Linear Regresi

  • Program ini didesign untuk mencari persamaan Linear dari sejumlah data X, Y

  • Input : sejumlah data X, Y

  • Output :Persamaan Linear Y=aX+b (par a & b)

  • Solusi numerik :


Design Variable yang digunakan :

X = data x Y = data y

N = jumlah data

sX = jumlah xsY = jumlah y

sXY = jumlah perkalian xysXX = jumlah x kuadrat

sXsX = jumlah x dikuadratkan

Xrata = rata-rata xYrata = rata-rata y

a = gradien garisb = konstanta

Tanya$ = jawaban yang diharapkan untuk mengulangi proses input data atau melanjutkan proses hingga selesai (Y/T)


Unstructured program:

  • Inisialisasi variable

  • hitung jumlah data N

  • Masukkan data X dan Y

  • Hitung X2, X*Y

  • Hitung jumlah X, Y, X*Y, X2

  • Hitung rata-rata X, Y

  • Hitung kuadrat jumlah X

  • Hitung a, b

  • Tampilkan harga a dan b


Unstructured program cont:


Structured program :

  • Program terdiri atas program utama dan 2 buah modul:

    Program Utama:

    Inisialisasi variable

    Link ke modul InputData

    Link ke modul LinearRegresi


Structured program (cont.):

Module InputData:

Inisialisasi variable

Tentukan jumlah data X dan Y

Masukkan data X dan Y

Modul LinearRegresi:

Hitung jumlah X, Y, X*Y, X2

Hitung rata-rata X, Y

Hitung kuadrat jumlah X

Hitung a, b

Tampilkan harga a dan b


Structured program (cont.):


Structured program (cont.):


Dokumentasi

  • Kegunaan dokumentasi adalah untuk

    • memudahkan saat penulisan program

    • memudahkan debugging (mencari kesalahan)

    • memudahkan orang lain mengembangkan program tersebut


Dokumentasi

  • Bagian yang perlu dibuat dokumentasinya:

    • Input, output

    • Komentar-komentar proses utamanya

    • Penjelasan setiap variable (terutama input & output)

    • Bagan alirnya.

    • Tanggal modifikasi, dan nama programer

    • Spesifikasi program

    • Buku manualnya

    • Program Help


LOGIKA (BOOLEAN)


IF .. THEN .. ELSE ..

Format:

  • IF [kondisi] THEN

    Pernyataan Benar

    ELSE

    Pernyataan salah

    END IF


MS EXCEL

  • Worksheet pada Excel adalah variable array 2D atau 3D pada keseluruhan file excel

  • tidak diperlukan perintah Input, output, print

  • perintah disimpan dalam cell dan hasilnya langsung ditampilkan pada cell tersebut

  • dapat menggunakan operator logika AND, OR, NOT, True, False serta perintah IF

  • variable dan konstanta tergantung dari penggunaannya dlam perhitungan


  • Kolom (A s/d IV=256 kolom)

  • baris (1 s/d 65536)

  • sheet (max 255)

  • max array(255,65536,256)


IF .. THEN .. ELSE .. (EXCEL)


IF .. THEN ..

FORMAT:

  • IF [kondisi] THEN Pernyataan


IF .. THEN .. (EXCEL)


IF .. THEN .. ELSE ..

Format:

IF [kondisi1] THEN

Pernyataan Benar1

ELSEIF [kondisi2] THEN

Pernyataan Benar2

ELSEIF [kondisi..] THEN

Pernyataan Benar..

ELSE

Pernyataan salah

END IF


Contoh lain:

INPUT “Ukuran Butir”;UBTR

IF UBTR <= 1/256 THEN

PRINT “Batulempung”

ELSEIF UBTR<=1/16 THEN

PRINT “Batulanau”

ELSEIF UBTR<=2 THEN

PRINT “Batupasir”

ELSE

PRINT “Konglomerat/Breksi”

END IF


SELECT.. CASE

  • Format:

    SELECT CASE variable

    CASE IS kondisi A

    Pernyataan A

    CASE IS kondisi B

    Pernyataan B

    ...

    CASE ELSE

    Pernyataan

    END SELECT


SELECT.. CASE

  • Format:

    SELECT CASE UBTR

    CASE IS<=1/256:PRINT “Batulempung”

    CASE IS<=1/16: PRINT “Batulanau”

    CASE IS<=2: PRINT “Batupasir”

    CASE ELSE : PRINT “Breksi”

    END SELECT


LOGICAL EVALUATION USING BOOLEAN OPERATOR

  • Comparing 2 variables

  • The answer:

    • T(RUE)

    • F(FALSE)

  • Each answer will be connected to some different statement

  • Can be program termination, do another job with or without correlated to the evaluate variable, do another job

  • Usually in IF…..THEN form


BOOLEAN TRUTH TABLE


BOOLEAN ALGEBRA

  • A Boolean operator can be completely described using a truth table.

  • The truth table for the Boolean operators AND and OR are shown at the right.

  • The AND operator is also known as a Boolean product. The OR operator is the Boolean sum.


BOOLEAN ALGEBRA

  • The truth table for the Boolean NOT operator is shown at the right.

  • The NOT operation is most often designated by an over bar. It is sometimes indicated by a prime mark ( ‘ ) or an “elbow” ().


BOOLEAN ALGEBRA

  • A Boolean operator can be expressing as a vent diagram

  • Suppose have 2 different lithology: Limestone and Sandstone:


Searching: NOT

  • Search: Sandstone

  • Search: Limestone


Searching:

  • Search: AND

  • Search: OR


BOOLEAN ALGEBRA

  • Digital computers contain circuits that implement Boolean functions.

  • The simpler that we can make a Boolean function, the smaller the circuit that will result.

    • Simpler circuits are cheaper to build, consume less power, and run faster than complex circuits.

  • With this in mind, we always want to reduce our Boolean functions to their simplest form.

  • There are a number of Boolean identities that help us to do this.


The Boolean operator (electrical)

  • Can be representing as:

    • switch,

    • relay or

    • gate


The Boolean AND operator


The Boolean OR operator


The Boolean NOT operator


Derivative Boolean operator (XOR)


Derivative Boolean operator (XNOR / EQV)


  • Login