MODUL
TEORI DAN PRAKTEK
ALGORITMA PEMOGRAMAN
Andi Prayudi, S.Pd., M.Kom.
MATERI I
PENGENALAN ALGORITMA
A. Penemu Algoritma
Algoritma ditemukan oleh Abu Abdullah Muhammad
Ibn Musa Al Khawarizmi lahir sekitar tahun 780 M di
Khawarizm, jika sekarang tempat kelahirannya
dikenal dengan kota Khiva di Uzbekistan. Sumber :
https://id.wikipedia.org/wiki/Algoritma
B. Definisi Algoritma
Langkah-langkah logis untuk membantu seseorang menyelesaikan sebuah
masalah berdasarkan pola pikirnya masing-masing. Algoritma dapat
digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan
dapat diterapkan di semua kejadian sehari-hari.
C. Sifat Algoritma
1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
2. Tidak tergantung pada suatu bahasa pemrograman.
3. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
D. Kriteria Pemilihan Algoritma
1. Ada output
2. Efektifitas dan Efisiensi
3. Jumlah langkahnya berhingga
4. Terstruktur
2
E. Contoh Algoritma
1. Masak Air
➢ Siapkan panci.
➢ Masukkan air ke dalam panci.
➢ Tutup panci.
➢ Letakkan panci di atas kompor.
➢ Hidupkan kompor.
➢ Jika air sudah mendidih, matikan kompor.
➢ Angkat panci dari kompor.
2. Luas Persegi
➢ Masukkan nilai sisi a
➢ Masukkan nilai sisi b
➢ Hitung nilai c dengan cara nilai sisi a dikali sisi b
➢ Tampilkan nilai c
3
MATERI II
PENGENALAN PEMOGRAMAN DAN FLOWCHART
A. Definisi Pemograman
Suatu cara untuk menghubungkan lebih dari satu algoritma dengan
menggunakan suatu bahasa pemrograman tertentu sehingga menjadi suatu
program komputer. Sumber : https://kominfo.bengkulukota.go.id/apa-itu-
pemrograman/
B. Bahasa Pemograman
➢ C
➢ C++
➢ Java
➢ JavaScript
➢ Python
➢ PHP
➢ Dan Lainnya
C. Definisi Flowchart
Penggambaran secara grafik dari algoritma atau tahapan penyelesaian suatu
masalah yang terdiri atas sekumpulan simbol, dimana masing-masing simbol
merepresentasikan suatu kegiatan tertentu. Flowchart merupakan cara
penyajian dari suatu algoritma program.
4
D. Fungsi Flowchart
DIgunakan untuk menganalisa, mendesain, mendokumentasikan dan
memanajemen sebuah proses atau program di berbagai bidang. Selain itu,
flowchart ini mampu memperjelas sebuah alur dari suatu sistem baik itu
kekurangan atau kelebihan dari berbagai proses di dalam tahapan suatu
sistem.
E. Simbol Flowchart
5
F. Contoh Flowchart
1. Masak Air
➢ Siapkan panic dan air.
➢ Masukkan air ke dalam panci.
➢ Tutup panci.
➢ Letakkan panci di atas kompor.
➢ Hidupkan kompor.
➢ Jika air sudah mendidih, matikan kompor.
➢ Angkat panci dari kompor.
Hidupkan Kompor
START
Tidak
Siapkan Panci dan air
Air sudah
mendidih?
Input air ke panci Ya
Matikan Kompor
Tutup Panci
Angkat panci dari kompor
Letakkan Panci diatas Kompor
END
2. Luas Persegi
➢ Masukkan nilai sisi a
➢ Masukkan nilai sisi b
➢ Hitung nilai c dengan cara nilai sisi a dikali sisi b
➢ Tampilkan nilai c
6
START
Input nilai sisi a dan b
C=axb
Tampil nilai c
END
7
MATERI III
PENGENALAN PEMOGRAMAN PHP
A. Sejarah Singkat PHP
Pada awalnya PHP adalah singkatan dari "Personal Home Page
Tools". Selanjutnya diganti menjadi FI ("Forms Interpreter").
Sejak versi 3.0, nama bahasa ini diubah menjadi "PHP:
Hypertext Prepocessor" dengan singkatannya "PHP". PHP versi
terbaru adalah versi ke-8. PHP diciptakan oleh Rasmus Lerdorf
pertama kali tahun 1994. Sumber :
https://ubaya.ac.id/2018/content/articles_detail/144/Bahasa-Pemrograman-
populer-PHP.html
B. Sisi Lain PHP
➢ Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak perlu
untuk dikompilasi (compile)
➢ Mudah diinstall ke dalam web server yang mendukung PHP seperti apache
dengan konfigurasi yang mudah.
➢ Dalam sisi pengembangan lebih mudah karena banyaknya buku-buku
ataupun tutorial yang membahas tentang PHP.
➢ PHP dapat dijalankan diberbagai sistem operasi, baik Windows, Linux,
Macintosh.
➢ Sifat pemograman PHP adalah case sensitive
➢ Pemograman PHP untuk membangun aplikasi berbasis web
➢ PHP berjalan di dalam web browser (Google Chrome / Mozilla Firefox)
8
C. Pendukung PHP
D. Script Dasar PHP
➢ Pembuka dan penutup skrip PHP
<?php …. Script php …. ?>
➢ Mencetak
echo “Hello Word”;
print(“Hello Word”);
➢ Komentar
//ini komentar 1 baris
/* ini komentar banyak baris */
9
➢ Memotong kata
substr ( “Kalimat”, index ,jumlah Huruf);
E. Variable
➢ String
$x = “Hello word”;
➢ Interger
$x = 12345;
➢ Float
$x = 10,5;
➢ Boolean
$x = True / False
F. Operator Aritmatika
Operator Keterangan Contoh
+ Penjumlahan $a + $b
- Pengurangan $b - $a
* Perkalian $a * $b
/ Pembagian $a / $b
% Modulus/Sisa bagi $a % $b
++ Increment $a++
-- Decrement $b--
10
G. Contoh Program
<?php
$a = 4;
$b = 5;
$c = $a * $b;
echo $c;
?>
11
MATERI IV
ARRAY
A. Definisi Array
adalah suatu tipe data yang bersifat spesial dalam PHP, ia bisa menyimpan
himpunan beberapa nilai dalam satu variabel saja. Ada 3 array antara lain Ter-
Index, Assosiatif, dan Multidimensi.
Array Ter-Index
<?php
$prodi = [
“PTI”, “BSI”, “PSJ?
];
echo $prodi[0];
echo $prodi[1];
echo $prodi[2];
?>
B. Array Asosiatif
Suatu array di mana key atau kuncinya bukan berupa indeks integer yang
dimulai dari 0, akan tetapi yang menjadi key-nya adalah suatu teks bertipe data
string
<?php
$prodi = [
“PTI” => 156,
“BSI” => 60,
12
“PSJ” => 55
];
echo $prodi[“PTI”];
echo $prodi[“BSI”];
echo $prodi[“PSJ”];
?>
C. Array Multidimensi
suatu istilah untuk sebuah array, yang mana ia memiliki item berupa array
yang lain di dalamnya.
<?php
$angka = [
[1, 2, 3, 4, 5],
[6, 7, 8],
[9, 8]
];
echo $angka[0][3];
echo $angka[1][3];
echo $angka[2][2];
?>
D. Contoh Program
Pertama
<?php
$identitas = [“Fulan”, 20, “Sorisakolo ”];
13
echo “Nama saya “ . $identitas[0] . “, umur saya “ . $identitas[1] . “alamat
saya di” . $identitas[2] ;
?>
Kedua
<?php
$identitas = [
“nama” = > “Fulan”,
“umur” => 20,
“alamat“=> “Sorisakolo ”
];
echo “Nama saya “ . $identitas[“nama”] . “, umur saya “ .
$identitas[“umur”] . “alamat saya di” . $identitas[“alamat”] ;
?>
14
MATERI IV
LOOPING
A. Definisi Looping
Looping atau perulangan adalah suatu perintah pada PHP yang digunakan
untuk mengeksekusi blok kode yang sama berulang kali selama kondisi
tertentu terpenuhi. Ide dasar di balik sebuah loop adalah untuk
mengotomatiskan tugas yang berulang dalam suatu program untuk
menghemat waktu dan usaha.
B. Jenis-Jenis Looping
1. for - loop melalui blok kode sampai penghitung mencapai angka yang
ditentukan.
2. while - loop melalui blok kode selama kondisi yang ditentukan bernilai
true.
3. do… while - blok kode dieksekusi sekali dan kemudian kondisinya
dievaluasi. Jika kondisi ini benar, pernyataan diulangi selama kondisi yang
ditentukan benar.
4. foreach - loop melalui blok kode untuk setiap elemen dalam array.
C. Contoh Looping
1. Tanpa Looping
<?php
$nama = “FULAN”;
echo $nama;
echo $nama;
15
echo $nama;
echo $nama;
?>
2. Menggunakan Looping
<?php
$nama = “FULAN”;
for ($i=1;$i<=4;$i++){
echo $nama;
?>
D. For Looping
Perulangan For adalah perulangan yang termasuk dalam counted loop, karena
kita bisa menentukan jumlah perulangannya.
<?php
for (angka awal;dikali berapa kali;tambah/kurang){
data yang diulang
?>
Contoh 1
<?php
$nama = “FULAN”;
$break = “<br>”;
$no = 1;
16
for ($i=1;$i<=10;$i++){
echo $no++ . $nama . $break;
}
?>
Contoh 2
<?php
$nama = [“FULAN”, “BUDI”, “MAWAR”, “MELATI”];
$no = 1;
echo “<table border=‘1’><tr><td>NO</td><td>Nama</td><tr>”;
for ($i=0;$i<=3;$i++){
echo “<tr><td>” . $no++ . “</td><td>” . $nama[$i] .
“</td><tr>”;
};
echo “</table>”;
?>
E. While Looping
while akan mengulang melalui blok kode selama kondisi yang ditentukan
dalam pernyataan while bernilai true.
<?php
$i = angka awal;
while ($i <= sampai berapa) {
Cetak data
$i++;
?>
17
Contoh 1
<?php
$i = 1;
while ($i <= 10) {
echo "<br/> Happy ngoding ke $i";
$i++;
}
?>
Contoh 2
<?php
$nama = [“FULAN”, “BUDI”, “MAWAR”, “MELATI”];
$i = 0;
echo “<table><tr><td>NO</td><td>Nama</td><tr>”
while ($i <= 3) {
echo “<tr><td>” . $i++ . “</td><td>” . $nama[$i] . “</td><tr>”;
$i++;
};
echo “</table>”;
?>
F. Do While Looping
varian dari while loop, yang mengevaluasi kondisi pada bagian akhir setiap
iterasi loop. Dengan loop do-while blok kode dieksekusi sekali, dan kemudian
kondisinya dievaluasi, jika kondisinya TRUE, pernyataan diulangi selama
kondisi yang ditentukan dievaluasi TRUE.
<?php
$i = angka awal;
do {
Cetak data
$i++;
} while ($i <= sampai berapa);
?>
18
Contoh 1
<?php
$i = 1;
do {
echo "<br/> Happy ngoding ke $i";
$i++;
} while ($i <= 10);
?>
Contoh 2
<?php
$i = 0;
$no = 1;
echo "<table><tr><td>NO</td><td>Nama</td><tr>";
do {
echo "<tr><td>" . $no++ . "</td><td>" . $nama[$i] . "</td><tr>";
$i++;
} while ($i <= 3);
echo "</table>";
?>
G. Foreach Looping
Foreach digunakan untuk melakukan perulangan terhadap sebuah array.
Foreach php hanya dapat digunakan untuk looping array.
<?php
foreach ($array as $key) {
kode yang akan dieksekusi
}
?>
19
Contoh 1
<?php
$identitas = [
"nama" => "Fulan",
"umur" => 20,
"alamat" => "Sorisakolo"
];
foreach ($identitas as $data) {
echo $data . "<br>";
}
?>
Contoh 2
<?php
$identitas = [
"nama" => "Fulan",
"umur" => 20,
"alamat" => "Sorisakolo"
];
foreach ($identitas as $data => $value) {
echo $data . " : " . $value . "<br>";
}
?>
20
MATERI IV
STETMENT IF
A. Operator Logika
Nama Operator Simbol
Lebih Besar >
Lebih Kecil <
Sama Dengan == atau ===
Tidak Sama dengan != atau !==
Lebih Besar Sama dengan >=
Lebih Kecil Sama dengan <=
B. Satu Kondisi (if)
Script PHP yang berfungsi untuk mengerjakan sesuatu yang bernilai benar
(true).
ALGORITMA
Jika variable x bernilai 0 maka cetak benar
PROGRAM
<?php
$x = 0;
if ($x == 0){
echo “benar”l
}
?>
C. Dua Kondisi (if else)
Script PHP yang berfungsi untuk mengerjakan sesuatu yang bernilai benar
(true) dan salah (false).
ALGORITMA
Jika variable x bernilai 0 maka cetak benar, Jika salah maka cetak salah
21
PROGRAM
<?php
$x = 0;
if ($x = 0){
echo “benar”;
}else{
echo “salah”;
}
?>
D. Tiga Kondisi atau Lebih (if elseif else)
Script PHP yang berfungsi untuk mengerjakan sesuatu yang bernilai benar
(true) dalam beberapa kondisi dan salah (false).
ALGORITMA
Jika variable x bernilai 0 maka cetak benar, Jika variable y bernilai 1 maka
cetak benar Jika salah keduannya maka cetak salah
PROGRAM
<?php
$x = 0; $y = 1;
if ($x == 0){
echo “benar”;
}elseif($y == 1){
echo “benar”;
}else{
echo “salah”;
}
?>
Contoh 1
22
Karyawan honorer di perusahan XXX digaji berdasarkan jumlah jam kerjanya
selama satu minggu. Upah per jamnya adalah Rp. 2.000,-. Bila jumlah jam kerja
selama satu minggunya lebih besar dari 48 jam, maka sisanya dianggap jam
lembur dengan upah per jam lemburnya adalah Rp.3.000,-Berapakah upah
karyawan tersebut jika dia berkerja selama 67 jam?
Penyelesaian Soal
Algoritma
➢ Upah awal karyawan sebesar Rp. 2.000,- / jam
➢ Jika jumlah jam kerja tidak melebihi 48 jam maka upah awal x jam kerja
jika melebihi 48 jam maka diupah lembur sebesar Rp.3.000,- /jam.
➢ kemudian jumlahkan upah karyawan tersebut dengan rumus berikut:
(Upah awal x 48) + (upah lembur x jumlah jam lembur).
Jumlah jam lebur didapatkan dari rumus berikut (Jumlah seluruh jam –
48)
Flocahart
START
upA = 2000,
upL = 3000,
jmK = 48, bkS= Upah = (upA x jmK) + Cetak Upah
(upL x jmL)
Y
bkS > a jmL = bkS - jmK
END
jmK ?
Tid
ak upahTL = jmKr x upA Cetak upahTL
23
Kode Program
<?php
$upA = 2000;
$upL = 3000;
$jmK = 48;
$bkS = 67;
if ($bkS > $jmK) {
$jml = $bkS - $jmK;
$upah = $upA * $jmK + $upL * $jml;
echo "Rp." . number_format($upah, 2);
} else {
$upahTL = $bkS * $upA;
echo "Rp." . number_format($upahTL, 2);
?>
Contoh 2
<?php
$identitas = array(
array(
"nim" => "c78901", //key
"nama" => "FUlan",
"pass" => "123",
"umur" => "20",
"alamat" => "Sorisakolo"
),
array(
"nim" => "c78902",
24
"nama" => "Mawar",
"pass" => "123",
"umur" => "25",
"alamat" => "O'o"
),
array(
"nim" => "c78903",
"nama" => "Santi",
"pass" => "123",
"umur" => "15",
"alamat" => "Kamudi"
),
array(
"nim" => "c78904",
"nama" => "Faisal",
"pass" => "123",
"umur" => "20",
"alamat" => "Tembalae"
),
array(
"nim" => "c78905",
"nama" => "Santi",
"pass" => "123",
"umur" => "20",
"alamat" => "Tembalae"
)
);
$x = 1;
if ($x == 1) {
echo "benar";
} else {
echo "salah";
}
error_reporting(0);
$nim = "c78904";
$pass = 12;
foreach ($identitas as $id) {
if ($nim == $id['nim'] and $pass == $id['pass']) {
$data = array(
$id['nim'],
$id['nama'],
$id['umur'],
$id['alamat']
25
);
}
}
if (empty($data)) {
echo "data tidak ada";
} else {
echo "data ada";
}
?>
Contoh 3
Buatlah halaman login.php dan home.php/
Isi halaman login.php dengan script php berikut :
<?php
error_reporting(0);
session_start();
if ($_SESSION['login'] == "sukses") {
header("location:home.php");
}
$identitas = array(
array(
"nim" => "c78901", //key
"nama" => "FUlan",
"pass" => "123",
"umur" => "20",
"alamat" => "Sorisakolo"
),
array(
"nim" => "c78902",
"nama" => "Mawar",
"pass" => "123",
"umur" => "25",
"alamat" => "O'o"
),
array(
"nim" => "c78903",
"nama" => "Santi",
"pass" => "123",
"umur" => "15",
"alamat" => "Kamudi"
),
array(
26
"nim" => "c78904",
"nama" => "Faisal",
"pass" => "123",
"umur" => "20",
"alamat" => "Tembalae"
)
);
$user = $_POST['user'];
$pass = $_POST['pass'];
if (isset($_POST['submit'])) {
foreach ($identitas as $d) {
if ($user == $d['nim'] and $pass == $d['pass']) {
$_SESSION['data'] = $d['nama'];
$_SESSION['login'] = "sukses";
header("location:home.php");
}
}
}
?>
<form action="" method="post">
<input type="text" name="user" id=""><br>
<input type="password" name="pass" id=""><br>
<button type="submit" name='submit'>Login</button>
</form>
Isi halaman home.php dengan script berikut :
<?php
session_start();
if ($_SESSION['login'] != "sukses") {
header("location:login.php");
}
if (isset($_POST['k'])) {
session_destroy();
header("location:login.php");
}
echo $_SESSION['data'];
?>
<form action="" method="post">
<button type="submit" name="k">Logout</button>
</form>
27
MATERI IV
STETMENT SWITCH
Switch PHP statement digunakan untuk mengeksekusi satu statement dari
beberapa kondisi. Statement ini pun berfungsi seperti pernyataan PHP if-
else-if. Berikut ini adalah syntax dari PHP Switch:
<?PHP
switch(expression){
case value1:
//code yang akan dieksekusi
break;
case value2:
//code yang akan dieksekusi
break;
. ......
default:
//code yang akan dieksekusi jika case tidak ada yang terpenuhi
}
?>
Contoh 1
<?php
$n=3;
switch($n){
case 1:
echo “n bernilai 1";
break;
case 2:
echo "n bernilai 2";
break;
case 3:
echo "n bernilai 3";
break;
default:
echo "n tidak bernilai 1, 2 or 3";
}
?>
28
Contoh 2
<?php
$char = 'n';
switch ($char) {
case 'a':
echo "Char adalah huruf vocal";
break;
case 'e':
echo "Char adalah huruf vocal";
break;
case 'i':
echo "Char adalah huruf vocal";
break;
case 'o':
echo "Char adalah huruf vocal";
break;
case 'u':
echo "Char adalah huruf vocal";
break;
case 'A':
echo "Char adalah huruf vocal";
break;
case 'E':
echo "Char adalah huruf vocal";
break;
case 'I':
echo "Char adalah huruf vocal";
break;
case 'O':
echo "Char adalah huruf vocal";
break;
case 'U':
echo "Char adalah huruf vocal";
break;
default:
echo "Char adalah huruf konsonan";
break;
}
?>
29