0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan75 halaman

Agoritma Rev 3

Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah secara sistematis. Terdiri dari input, proses, dan output. Memiliki struktur dasar seperti runtunan, pencabangan, dan pengulangan. Runtunan melaksanakan langkah secara berurutan. Pencabangan melaksanakan langkah berbeda berdasarkan kondisi tertentu. Pengulangan mengulang langkah untuk jumlah tertentu.

Diunggah oleh

Maulana Hasanudin
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
46 tayangan75 halaman

Agoritma Rev 3

Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah secara sistematis. Terdiri dari input, proses, dan output. Memiliki struktur dasar seperti runtunan, pencabangan, dan pengulangan. Runtunan melaksanakan langkah secara berurutan. Pencabangan melaksanakan langkah berbeda berdasarkan kondisi tertentu. Pengulangan mengulang langkah untuk jumlah tertentu.

Diunggah oleh

Maulana Hasanudin
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 75

Algoritma pemrograman

 Overview
 Flowchart
 Pseudocode
 Struktur Dasar Algoritma
 Variable, Tipe Data
 Pengenalan PHP
 Praktikum
Overview
Definisi

• Urutan langkah-langkah logis penyelesaian masalah yang


disusun secara sistematis
• Urutan logis pengambilan keputusan untuk pemecahan
masalah
• Logis : hasil dari urutan langkah tersebut harus dapat
ditentukan benar atau salah
• Dalam bidang pemrograman,
– Algoritma didefinisikan sebagai suatu metode khusus yang
tepat dan terdiri dari serangkaian langkah yang terstruktur
dan dituliskan secara sistematis yang akan dikerjakan untuk
menyelesaikan suatu masalah dengan bantuan komputer.
Definisi

• Proses Penyelesaian Masalah Dengan Algoritma


• Contoh : Mengupas Kentang?
– Apakah kentangnya harus dibeli dulu atau sudah ada di dapur ?
– Apakah yang dimaksud dengan mengupas kentang untuk
makan malam berarti sampai kentang terhidang?
– Ketika kentangnya terhidang, jadi sup, digoreng atau direbus
saja?

Masalah Algoritma Solusi


Contoh Kasus

• Initial State :
Kentang sudah ada di kantong kentang, yang
ditaruh di rak di dapur dimana ibu tati akan
mengupasnya
• Final State :
Kentang dalam keadaan terkupas di panci, siap
untuk dimasak dan kantong kentangnya
dikembalikan ke rak lagi
Aksi

• Ambil kantong kentang dari rak


• Ambil panci dari almari
• Kupas kentang
• Kembalikan kantong kentang ke rak
Aksi

• Ambil kantong kentang dari rak


• Ambil panci dari almari
• Depend on warna baju
– Berwarna muda : pakai celemek
– Tidak berwarna muda : -
• Kupas kentang
• Kembalikan kentang ke rak
Aksi

• Ambil kantong kentang dari rak


• Ambil panci dari almari
• Depend on baju
– Berwarna muda : pakai celemek
– Tidak berwarna muda : -
• While jumlah kentang terkupas belum cukup do
– Kupas 1 kentang
• Kembalikan kantong kentang ke rak
Ciri penting algoritma

• Algoritma harus berhenti setelah mengerjakan sejumlah


langkah terbatas
• Setiap langkah harus didefinisikan dengan tepat dan tidak
memiliki dua arti (ambigu)
• Algoritma memiliki nol atau lebih masukan (input)

• Algoritma memiliki nol atau lebih keluaran (output)

• Algoritma harus efektif


Kasus lain algoritma

A B A B

Bagaimana Algoritmanya ??
Contoh kasus

• Ada 2 gelas kosong berukuran: 5 liter dan 3 liter


• Bagaimana cara kita mendapatkan air berukuran 2 liter?
• Bagaimana cara kita mendapatkan air berukuran 4 liter?
Flowchart
Pengertian flowchart

• Bagan yang menggambarkan urutan instruksi untuk proses


dengan komputer dan hubungan antara suatu proses dengan
proses lainnya dengan menggunakan simbol.

• Tidak digunakan untuk menggambarkan urutan langkah untuk


memecahkan masalah, tetapi hanya untuk menggambarkan
prosedur dalam sistem yang dibentuk
symbol flowchart

Terminator

Input/Output

Proses

Condisional / Decision
symbol flowchart

Preparation

Arrow

Connector (on page)

Connector (off page)

Display
Keuntungan & kelemahan

• Keuntungan :
Lebih mudah dilihat dan dipahami
• Kelemahan :
Jika digunakan untuk menggambarkan proses atau algoritma
untuk skala kasus yang besar, maka akan dibutuhkan banyak
kertas
Contoh kasus

• Pemimpin sebuah perusahaan otomotif perlu menentukan


besarnya bonus yang akan diberikan kepada para
pegawainya yang bekerja sebagai account executive. Jika
terdapat pegawai yang dalam bulan ini telah menjual mobil
lebih dari dua unit, maka akan mendapatkan bonus sebesar
Rp 1.000.000,- kemudian pegawai yang bisa menjual mobil
tepat dua buah maka, akan mendapatkan bonus Rp 500.000,-
namun jika pegawai yang dalam bulan ini penjualannya
kurang dari dua unit maka, pegawai tersebut tidak
mendapatkan bonus.
Tuliskan Flowchartnya
Contoh kasus

• Pemimpin sebuah perusahaan otomotif perlu menentukan


besarnya bonus yang akan diberikan kepada para
pegawainya yang bekerja sebagai account executive. Jika
terdapat pegawai yang dalam bulan ini telah menjual mobil
lebih dari dua unit, maka akan mendapatkan bonus sebesar
kelipatan dari Rp 1.000.000,- kemudian pegawai yang bisa
menjual mobil tepat dua buah maka, akan mendapatkan
bonus Rp 500.000,- namun jika pegawai yang dalam bulan ini
penjualannya kurang dari dua unit maka, pegawai tersebut
tidak mendapatkan bonus.
Tuliskan Flowchartnya
Pseudocode
Pseudocode

• Diarahkan untuk
menyerupai aturan Judul

penulisan bahasa
pemrograman tertentu. Kamus

Algoritma
Judul

• Tidak diawali dengan angka atau karakter lain selain alphabet


• Tidak terdapat karakter spasi atau karakter selain alphabet
kecuali karakter underscore ‘_’ (sebagai pengganti karakter
spasi)
• Mana yang benar ?
– Algoritma berhitung;
– Algoritma konversi suhu;
– Algoritma hitungan_pajak;
– Algoritma 2bilangan;
– Algoritma *kecil;
kamus

• Digunakan sebagai tempat untuk mencantumkan variabel,


konstanta, dan record
• Hal-hal yang dideklarasikan pada bagian ini digunakan sebagai
‘reservasi’ alokasi memory untuk penyimpanan data dan akan
digunakan selama program bekerja
algoritma

• Digunakan untuk meletakkan semua algoritma atau kode-


kode program
• Diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’
Struktur dasar algoritma
Struktur dasar algoritma

• Struktur Dasar Algoritma terdiri


dari:
– Runtunan (Sequence)
– Pencabangan
– Pengulangan
Runtunan (Sequence)

• Runtunan (sequence)
– Aksi-aksi dalam algoritma yang
dikerjakan secara berurutan
– Contoh :
A1. Aksi 1
A2. Aksi 2
A3. Aksi 3
Contoh kasus Runtunan (Sequence)

– Buat algoritma untuk


menghitung volume
balok dimana
panjang (P), lebar (L),
dan tinggi (T) balok di
input dari keyboard.
Contoh kasus Runtunan (Sequence)

– Buat algoritma untuk


menghitung luas lingkaran
dimana jari – jari lingkaran
(R) di input dari keyboard.
pencabangan (Selection)

• Sebuah program tidak selamanya akan


berjalan dengan mengikuti struktur
berurutan, kadang-kadang kita perlu
merubah urutan pelaksanaan program
dan menghendaki agar pelaksanaan
program meloncat ke baris tertentu.
• Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau
keputusan.
• Aksi dikerjakan jika kondisi tertentu
terpenuhi.
Contoh kasus pencabangan

– Buat algoritma dimana


sebuah aturan untuk
menonton sebuah film
tertentu adalah sebagai
berikut, jika usia penonton
lebih dari 17 tahun maka
penonton diperbolehkan
dan apabila kurang dari
17 tahun maka penonton
tidak diperbolehkan
nonton.
Contoh kasus pencabangan

• Dalam suatu perhitungan nilai P = X


+ Y. Jika P positif, maka Q = X * Y,
sedangkan jika P negative maka
nilai Q = X/Y. Buatlah flowchart untuk
• mencari nilai P dan Q.
Contoh kasus pencabangan

Sebuah usaha fotokopi mempunyai aturan sebagai berikut :


 Jika yang fotokopi statusnya adalah langganan, maka
berapa lembar pun dia fotokopi, harga perlembarnya Rp.
75,-
 Jika yang fotokopi bukan langganan, maka jika dia
fotokopi kurang dari 100 lembar harga perlembarnya Rp.
100,-. Sedangkan jika lebih atau sama dengan 100
lembar maka harga perlembarnya Rp. 85,-.
Contoh kasus pencabangan
Contoh kasus pencabangan

Buat algoritma untuk menentukan kelulusan siswa pada mata


pelajaran Pemrograman Web dengan aturan sebagai berikut :
 Nilai yang di input adalah nilai UTS dan UA
 Nilai akhir (NA) = 0.4*UTS + 0.6*UA
 Jika nilai akhir > 80, nilai A
 Jika nilai akhir > 70 dan <= 80, nilai B
 Jika nilai akhir > 60 dan < = 70, nilai C
 Jika nilai akhir <= 60, nilai D
Contoh kasus pencabangan

Buat Algoritma untuk menentukan bilangan ganjil atau genap


untuk sembarang bilangan yang diinput dari keyboard.
mulai
PROGRAM GanjilGenap
Diberikan sebuah bilangan bulat baca X
positif X untuk dicek apakah
termasuk ganjil atau genap
tidak
X mod 2 = 0 Tulis “Ganjil”

ALGORITMA
ya
1. Jika X habis dibagi 2 maka tulis
Tulis “Genap
“Genap”, jika tidak maka tulis
“Ganjil”
selesai
pengulangan

• Dalam banyak kasus seringkali kita dihadapkan pada sejumlah


pekerjaan yang harus diulang berkali kali.
• Salah satu contoh yang gampang kita jumpai adalah balapan
mobil seperti tampak pada gambar ini. Mobil-mobil peserta harus
mengelilingi lintasan sirkuit berkali-kali sesuai yang ditetapkan
dalam aturan lomba.
pengulangan
• Kondisi pengulangan, yaitu syarat yang harus
dipenuhi untuk melaksanakan pengulangan. Syarat ini
biasanya dinyatakan dalam ekspresi Boolean yang
harus diuji apakah bernilai benar (true) atau salah
(false)
• Badan pengulangan (loop body), yaitu satu atau lebih
instruksi yang akan diulang
Struktur pengulangan dengan for

• Pada struktur For kita harus


tahu terlebih dahulu
seberapa banyak badan loop
akan diulang.
• Struktur ini menggunakan
sebuah variable yang biasa
disebut sebagai loop’s
counter, yang nilainya akan
naik atau turun selama
proses pengulangan.
Contoh kasus pengulangan dengan for

• Tuliskan hasil dari algoritma !


Contoh kasus pengulangan dengan for

• Tuliskan hasil dari algoritma !


Contoh kasus pengulangan dengan for

• Tuliskan hasil dari algoritma !


Contoh kasus pengulangan dengan for
• Buat algoritma untuk menampilkan bilangan ganjil yang
lebih kecil dari 200.
• Buat algoritma untuk menampilkan faktorial dari bilangan
N.
Contoh pengulangan & PENCABANGAN

• Tuliskan hasil dari algoritma !


Mulai

N = 1 To 3

Z = N + 10

Print Z
Variable, Tipe data
Variable

• Variabel adalah suatu tempat atau “wadah data” untuk


menampung suatu nilai.
• Variabel yang akan dipakai harus “dipesan” dulu dengan
dideklarasikan dalam deklarasi variabel (kamus).
Penulisan Variable

 Nama variabel diawali dengan huruf. Karakter kedua


dan selanjutnya bisa berupa kombinasi angka dan
huruf, tidak boleh tanda baca lain dan spasi
- contoh : NilaiI nilai_fisika
- contoh salah : 1nilai 1234a

 Tidak boleh menggunakan operator hitung ( + - / * %)


dan juga tidak boleh menggunakan karakter-karakter
khusus ( : ; , # @ $ & dan titik)
Penulisan Variable

 Tidak boleh memakai reserved words (kata-kata yang


sudah mempunyai arti di dalam bahasa pemrograman)

 Cacah karakter dalam variabel bisa sembarang, tetapi


dalam beberapa versi semua karakter setelah karakter
ke delapan diabaikan
Penulisan Variable

• Konstanta adalah data yang isinya tetap dan tidak berubah-


ubah dalam program
• Operator matematika
Operand-operand yang dipergunakan untuk operasi
penjumlahan, pengurangan, perkalian, pembagian dan sisa
pembagian (modulus) yang berbeda untuk real maupun
integer
• Operator logika
Digunakan untuk mengoperasikan operand (konstanta,
variabel,dll) secara logis. Operator-operator logika yang
umum dalam bahasa pemrograman adalah AND, OR, NOT
Tipe data

• Tipe adalah pola representasi suatu data dalam komputer.


Gunanya untuk mendefinisikan objek yang akan
diprogram
• Ada tipe dasar yang sudah diberikan dan siap dipakai,
ada tipe bentukan yang dibentuk dari tipe dasar atau dari
tipe bentukan/ komposisi yang sudah dibuat
Tipe dasar

• Tipe dasar yang tersedia dalam suatu bahasa adalah tipe


yang sudah didefinisikan,maka pemrogram dapat
memakai nama tipe dan semua operator yang tersedia
dan mentaati domain nilai yang disimpan dalam tipe
tersebut

• Tipe dasar biasanya tersedia dalam suatu bahasa


pemrograman dan digunakan dalam notasi algoritmik
adalah :
- bilangan logika/boolean
- bilangan bulat
- bilangan riil
- karakter
Tipe dasar boolean

• Nama : Boolean
• Domain [true, false]
• Contoh konstanta : true false
• Operator yang digunakan
KELOMPOK OP ARTI HASIL
and dan boolean
or atau boolean
Xor ekslusive or boolean
Operator Logik
not negasi boolean
EQ ekivalensi boolean
nEQ negasi dari ekivalensi boolean
Tipe dasar bulat/integer

• Nama : Integer
• Domain : himpunan semua bilangan bulat
• Contoh konstanta : 0 -3 123 -89 999
• Bilangan integer mempunyai keterurutan. Keterurutan ini
didefinisikan dengan:
- suksesor x adalah x+1
- predesesor x adalah x-1

Contoh :
- suksesor 0 adalah 1 - predesesor -1 adalah -2
- suksesor -1 adalah 0 - predesesor 3 adalah 2
Tipe dasar real

• Nama : Real
• Domain : himpunan semua bilangan berkoma
• Konstanta : angka mengandung ‘.’ Dapat dituliskan
dengan notasi E yang berarti pangkat sepuluh
• Contoh : 0.2 3.233 123.00 12.E-2 1.5E2
• Catatan :
Bilangan riil yang mengandung E berarti pangkat sepuluh
Contoh : 1.5E02 berarti 1.5* 10²
Tipe dasar Character

• Nama : character
• Domain : Himpunan yang terdefinisi oleh suatu enumerasi,
misalnya [‘0’..’9’, ‘a’..’z’, ‘A’..’Z’ ,RETURN, SPACE]
• Ada karakter (suksesor dan predesesor) yang ditentukan oleh
representasi di dalam komputer, misalnya pengkodean ASCII
• Konstanta : dituliskan diantara tanda petik atau suatu nama,
misal ‘A’ ‘P’ ‘M’
Tipe dasar string

• String sebagai “ tipe dasar” yang khusus


Ada sebuah tipe yang sangat diperlukan dihampir semua
sistem, yang pada akhirnya dapat dianggap “setengah” tipe
dasar karena sudah tersedia, yaitu string. Untuk selanjutnya
tipe string dapat dianggap tipe primitif
• Contoh
Tipe : string
Domain : Untaian karakter yang didefinisikan pada domain
karakter
konstanta : ‘AKU’ ‘ rumah sakit’ ‘pisang’ ‘K’
Tipe Enumerasi
• Tipe Enumerasi adalah tipe yang definisi domainnya tidak
dilakukan menurut suatu aturan (by definition) melainkan dengan
satu persatu nilai anggotanya. Tipe enumerasi mewakili
himpunan nilai yang diberi nama.
• Karena disebutkan satu persatu, maka dalam suatu tipe
enumerasi biasanya dikenal cara akses suatu nilai anggota
enumerasi lewat kata kunci sbb:
- First, yaitu anggota nilai yang pertama
- Last, yaitu anggota nilai yang terakhir
- Successor(elemen), yaitu anggota nilai yang
berikutnya dari elemen
- Predesesor(elemen), yaitu anggota nilai yang
sebelumnya dari elemen
Tipe Enumerasi (contoh)

• Type hari
{type hari menyatakan enumerasi nama hari dalam 1 minggu}
type hari : (senin, selasa, rabu, kamis, jumat, sabtu, minggu)

Jika dideklarasi NAMA variabel H sebagai berikut :


H : hari {artinya : H adalah hari}

Maka cara mengacu/ mengakses nilai elemen yang tersimpan pada H


yang telah terdefinisi adalah:
first (H) {menghasilkan nilai : senin}
last (H) {menghasilkan nilai : minggu}
succ(selasa) {menghasilkan nilai : rabu}
prec (selasa) {menghasilkan nilai : senin}
Tipe bentukan

• Tipe bentukan adalah suatu tipe yang dirancang/ dibentuk


(dan diberi nama) dari beberapa komponen bertipe tertentu,
jadi merupakan sekumpulan elemen bertipe dasar atau
bertipe yang sudah dikenal.
• Dalam notasi algoritmik, sebuah tipe bentukan berupa
agregasi elemen dituliskan dengan notasi sbb:

type nama type < elemen1 : tipe1,


elemen2 : tipe2,
……
elemenN : tipeN,
>
Contoh Tipe bentukan
Type Point
{type point menyatakan absis dan ordinat real pada sumbu kartesian}
type Point : <X : real {absis}
Y : real {ordinat}>

Jika dideklarasi NAMA variabel P sebagai berikut :


P : Point {artinya: P adalah sebuah point}

Maka cara mengacu/mengakses nilai elemen yang tersimpan pada P yang


telah terdefinisi adalah :
P.X { menghasilkan nilai absis bertipe real}
P.Y {menghasilkan nilai ordinat bertipe real}
Operator :
- operator terhadap point harus dibuat
- operator real terhadap P.X dan P.Y
Contoh Tipe bentukan

• Type Jam
{ Type jam menyatakan representasi “ jam” dalam notasi HH:MM:SS
dengan HH bernilai [0..23]; MM bernilai [0..59] dan SS bernilai [0..59]
type jam : <HH : Integer [0..23], {jam}
MM : Integer [0..59], {menit}
SS : Integer [0..59] {detik}
>

Jika dideklarasi NAMA variabel J sebagai berikut :


J : Jam {artinya : J adalah sebuah
ARRAY
Pengertian

• Array (atau larik dalam bahasa indonesia) bukanlah tipe


data dasar seperti integer atau boolen, Array adalah
sebuah tipe data bentukan yang terdiri dari kumpulan tipe
data lainnya. Menggunakan array akan memudahkan
dalam membuat kelompok data, serta menghemat
penulisan dan penggunaan variabel.
Pengertian

• Array adalah suatu tipe data terstuktur yang berupa


sejumlah data sejenis (bertipe data sama) yang jumlahnya
tetap dan diberi suatu nama tertentu.
• Elemen-elemen array tersusun secara berderet dan dapat
diakses secara random di dalam memori.
• Array memiliki alamat yang besebelahan/berdampingan
tergantung lebar tipe datanya.
• Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-
dimensi.
• Elemen-elemen array bertipe data sama dan bisa berisi nilai
yang sama atau berbeda-beda.
Ilustrasi array 1 dimensi

0 1 2 3 4 5 6 7 indeks

10 44 2 76 0 56 70 7 value

1d2 1d4 1d6 1d8 1da 2dc 2de 1e0 alamat


Keunggulan array

• Array sangat cocok untuk pengaksesan acak. Sembarang


elemen di array dapat diacu secara langsung tanpa melalui
elemen-elemen lain.
• Jika berada di suatu lokasi elemen, maka sangat mudah
menelusuri ke elemen-elemen tetangga, baik elemen
pendahulu atau elemen penerus
• Jika elemen-elemen array adalah nilai-nilai independen dan
seluruhnya harus terjaga, maka penggunaan
penyimpanannya sangat efisien
kelemahan array

• Array harus bertipe homogen. Kita tidak dapat mempunyai


array dimana satu elemen adalah karakter, elemen lain
bilangan, dan elemen lain adalah tipe-tipe lain
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
Input data array

<?php
$tuliskode[0] = "Hello";
$tuliskode[1] = "Tuliskode";
?>

<?php
$nama = array(“Andri", "Joko", "Sukma", "Rina“)
?>
Input data array

$nama_variabel = array( key  => value, key2 => value2, key3


=> value3, ... )

Komponen array terdiri dari pasangan kunci (key) dan nilai


(value). Key adalah penunjuk posisi dimana value disimpan.
Perhatikan juga bahwa PHP menggunakan tanda panah (=>)
untuk memberikan nilai kepada key.
Input data array

<?php
$nama = array(0=>"Andri", 1=>"Joko", 2=>"Sukma",
3=>"Rina“)
?>

<?php
$nama = array(8=>"Andri", 5=>"Joko", 3=>"Sukma",
2=>"Rina“)
?>
Pengaksesan elemen array

• Elemen-elemen array dapat diakses oleh program


menggunakan suatu indeks tertentu secara random
ataupun berurutan
• Pengisian dan pengambilan nilai pada indeks tertentu
dapat dilakukan dengan mengeset nilai atau menampilkan
nilai pada indeks yang dimaksud.
• Dalam C, tidak terdapat error handling terhadap batasan
nilai indeks, apakah indeks tersebut berada di dalam
indeks array yang sudah didefinisikan atau belum. Hal ini
merupakan tanggung jawab programmer. Sehingga jika
programmer mengakses indeks yang salah, maka nilai
yang dihasilkan akan berbeda atau rusak karena
mengakses alamat memori yang tidak sesuai.
Pengaksesan elemen array

Dalam mengakses nilai dari array, menggunakan


kombinasi $nama_variabel dan nilai key-nya, dengan
penulisan sebagai berikut:

$nama_variabel[key]
Pengaksesan elemen array

<?php
//pembuatan array
$nama = array(1=>"Andri", 2=>"Joko", 3=>"Sukma", 4=>"Rina",
5=>"Sari");

//cara akses array


echo $nama[1];
echo $nama[2];
echo $nama[3];
?>
CONTOH ARRAY

<html>
<body>
<?php
$numbers = array( 1, 2, 3, 4, 5);
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>
CONTOH ARRAY

<html>
<body>
<?php
$numbers[0] = "one";
$numbers[1] = "two";
$numbers[2] = "three";
$numbers[3] = "four";
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>

Anda mungkin juga menyukai