Anda di halaman 1dari 65

ALGORITMA

PEMROGRAMAN DASAR
SKEMA
PEREKAYASAAN PERANGKAT LUNAK I
TIPE DATA DASAR

Int Real

Karakter Boolean
TIPE DATA BENTUKAN

String
• Merupakan kumpulan dari beberapa karakter

Array
• Untuk menyimpan data dengan tipe yang sama

Record
• Untuk menyimpan data dengan berbagai tipe yang berbeda
OPERATOR
• Merupakan symbol yang mewakili aksi tertentu
OPERATOR
OPERATOR KETERANGAN CONTOH
Operator Aritmetik Digunakan dalam 2+3
matematika
Operator Relasi Digunakan untuk A<B
membandingkan
2 buah nilai
Operator Logika Digunakan untuk Kondisi1 AND
Boolean mengaitkan dua kondisi2
buah kondisi
menjadi sebuah
kondisi
OPERATOR ARITMETIK
OPERATOR CONTOH

Perkalian 2*3

Pembagian 2/3

Sisa pembagian (modulus) 5%3

Penjumlahan 2+3

Pengurangan 8-4
OPERATOR RELASI
OPERATOR CONTOH

Sama dengan a == b

Tidak sama dengan a != b

Lebih dari a>b

Kurang dari a<b

Lebih dari sama dengan a >= b

Kurang dari sama dengan a <= b


OPERATOR LOGIKA

OPERATOR KETERANGAN CONTOH

Dan AND (a > b) && (a != 5)

Atau OR (a > b) || (a != 5)

Negasi ! ! (a == b)
VARIABEL & KONSTANTA

Variabel
• Tempat untuk menyimpan data yang nilainya bisa
diubah

Konstanta
• Tempat untuk menyimpan data yang nilainya tetap
ALGORITMA PEMROGRAMAN
• Algoritma adalah urutan langkah – langkah logis penyelesaian
masalah yang disusun secara sistematis

• Algoritma Pemrograman adalah suatu urutan yang logis dan


sistematis yang digunakan untuk menyelesaikan sebuah penyususan
program komputer.
JENIS ALGORITMA

SEKUENSIAL
• Instruksi berurutan sesuai penulisannya dan menentukan hasil akhir
algoritma jika urutannya diubah
PERCABANGAN
• Instruksi dijalankan jika kondisi tertentu dipenuhi. Bisa membuat
instruksinya tidak berurutan atau ada langkah yang tidak dijalankan
PERULANGAN
• Mengerjakan proses yang sama berulang kali sampai kondisi terpenuhi
CONTOH

Buatlah algoritma
untuk menyatakan Buatlah algoritma
Buatlah algoritma
lulus tidaknya siswa untuk
cara memasak mie
pada pelajaran menampilkan kata
instan 
matematika “hai” sebanyak 10x
sekuensial
dengan KKM = 75  perulangan
 percabangan
STRUKTUR UMUM ALGORITMA

Nama/Judul Algoritma
• Gambaran singkat tujuan algoritma, ditulis tanpa spasi

Deklarasi
• Berisi masukan apa saja yang akan diproses termasuk jenis data,
variable, dll.

Deskripsi
• Berisi instruksi untuk memproses kerja sehingga menghasilkan output
yang diharapkan
CONTOH
• Algoritma memasak_mieinstan  judul

• Alat dan Bahan :


• 1 bungkus mie instan
• 1 buah panic
• 1 buah kompor deklarasi
• 200ml air
• 1 buah garpu untuk mengaduk
• 1 buah piring saji
• Cara Memasak :
• Tuang air ke dalam panci
• Nyalakan kompor, letakkan panci di atasnya, tunggu sampai air mendidih
• Tuang bumbu mie instan ke dalam piring saji
• Masukkan mie ke dalam air yang sudah mendidih, masak sampai 3 menit
• Buang air rebusan mie sampai tiris
• Campur mie dengan bumbu sampai rata
• Mie instan siap disajikan

deskripsi
CARA MENULISKAN ALGORITMA

DESKRIPTIF
• Algoritma yang ditulis dengan bagasa manusia sehari-hari

PSEUDOCODE
• Ditulis hampir menyerupai bahasa pemrograman, tetapi bukan program

FLOWCHART
• Ditulis menggunakan diagram alir
PSEUDOCODE
PSEUDOCODE
PSEUDOCODE
F
L
O
W
C
H
A
R
T
ALGORITMA PERCABANGAN

Terdiri dari percabangan tunggal, ganda, dan bersarang

Menggunakan sintaks IF dan SWITCH


SINTAKS PERCABANGAN IF TUNGGAL
if (kondisi_percabangan)
{
//proses atau aksi
……….. ;
}
SINTAKS PERCABANGAN IF GANDA
if (kondisi_percabangan)
{
//proses
……….. ;
}
else {
//proses
……….. ;
}
SINTAKS PERCABANGAN IF BERSARANG
if (kondisi_percabangan)
{
……….. ;
}
else if {
……….. ;
}
else if {
……….. ;
}
else {
……….. ;
}
SINTAKS PERCABANGAN SWITCH
switch(variabel) Variabel diperiksa
Variabel dibandingkan dengan nilai
{
case nilai:
aksi; Aksi dijalankan jika variabel == nilai

break;
case nilai: Variabel dibandingkan dengan nilai

aksi; Aksi dijalankan jika variabel == nilai

break;
Tidak ada nilai yang cocok dengan variabel
default:
Aksi terakhir dijalankan
aksi;
break;
}
ALGORITMA PERULANGAN

DO
FOR WHILE
WHILE
FOREACH
ALGORITMA PERULANGAN
INISIALISASI

Mengisi nilai awal perulangan

KONDISI

Syarat perulangan yang harus dipenuhi

INKREMEN

Jumlah kenaikan setiap kali mengulang hingga mencapai batas akhir


STRUKTUR PERULANGAN FOR
for (inisialisasi; kondisi; inkremen)
{
statement;
}
STRUKTUR PERULANGAN WHILE
inisialisasi;
while(kondisi)
{
statement;
inkremen;
}
STRUKTUR PERULANGAN DO WHILE
inisialisasi;
do
{
statement;
inkremen;
}
while (kondisi)
STRUKTUR PERULANGAN FOREACH
inisialisasi array;
foreach($array as $variabel_nilai)
{
statement;
}
KASUS 1
• Terdapat 3 Gelas A, B, dan C. Gelas A berisi warna merah dan gelas B
berisi warna biru, sedangkan gelas C kosong. Bagaimana
memindahkan isi dari gelas A ke B dan gelas B ke A ?

• Buat algoritma penyelesaiannya !


KASUS 2
• Susunlah sebuah algoritma yang lengkap dengan programnya untuk
menentukan volume balok dengan inputan panjang, lebar, dan tinggi
!
KASUS 3
• Buatlah algoritma dan program membaca inputan dari keyboard.
Apabila diinput oleh karakter vokal maka program akan menuliskan
“Huruf Hidup” dan apabila bukan maka program tidak akan
menjalankan apapun.
• <?php
• $input=$_POST['huruf'];
• if($input=="a" or $input=="i" or $input=="u" or $input=="e" or
$input=="o")
•{
• echo"huruf hidup";
•}
• ?>
KASUS 4
• Buatlah algoritma dan program konversi suhu dari Celcius ke Reamur,
Fahrenheit, dan Kelvin !
KASUS 5
• Buatlah algoritma dan program untuk menghitung harga baju di
sebuah toko yang sedang ada diskon. Diskon diberikan hanya pada
baju yang ada tanda diskon sebesar 20 % dari harga normal. Diskon
akan ditambahkan bagi pembeli yang sudah menjadi member.
Besaran tambahan diskon untuk member adalah 5 % dari harga
normal.
KASUS 6
• Buat Algoritma dan program untuk menentukan rata-rata hasil UN
yang terdiri dari Matematika, Bahasa Inggris, dan Bahasa Indonesia.
Algoritma akan menampilkan nama siswa dan No Ujian, jumlah nilai
dan rata-ratanya.
KASUS 7
• Sebuah restoran STEAK siap saji yang menyediakan paket dalam bentuk
makanan dan minuman sedang memberikan diskon kepada pengunjungnya
dalam rangka Grand Opening.
• Jika pengunjung dalam bentuk rombongan lebih dari 5 orang harga
minuman tidak dihitung, dan ditambah dengan diskon sebesar 15% dari
harga makanan yang dipesan.
• Diketahui harga steak adalah Rp 15.000 dan minuman Rp 2.000.
• Jika pengunjung yang datang dalam bentuk rombongan atau dating sendiri
maka ia hanya mendapat diskon 15% dari harga makanan saja, minuman
dibayar sendiri.
• Buatlah algoritma dan programnya !
KASUS 8
• Buatlah algoritma dan programnya !
KASUS 9
• Buat algoritma dan program untuk menuliskan semua bilangan
kelipatan 5 yang kurang dari 100.
KASUS 10
• Buatlah algoritma dan program untuk menampikan bilangan prima
sebanyak nilai yang diinputkan !
PENGELOLAAN ARRAY

Array Berurutan

Array Asosiatif

Array Multidimensi
ARRAY BERURUTAN
• $nama_array=array(..., …, …, …);

• ATAU

• $nama_array=….[no_indeks];
• $nama_array=….[no_indeks];
• $nama_array=….[no_indeks];
ARRAY ASOSIATIF
• <?php
• $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
• echo "Umur Peter adalah " . $age['Peter'] . " tahun.";
• ?>

• Peter = Kunci/key
• 35 = value/isi
ARRAY ASOSIATIF
• <?php
• $nilai=array("nama"=>"ani","matematika"=>70,"bahasa
inggris"=>72,"bahasa indonesia"=>77);
• echo "nama = ".$nilai['nama'];
• echo"<br>";
• echo "nilai matematika = ".$nilai['matematika'];
• ?>
ARRAY ASOSIATIF
• $nilai=array(array("nama"=>"ani","matematika"=>70,"bahasa
inggris"=>72,"bahasa indonesia"=>77),
• array("nama"=>"nina","matematika"=>72,"bahasa
inggris"=>75,"bahasa indonesia"=>75));

• echo $nilai[0]['matematika'];
ARRAY MULTIDIMENSI
ALGORITMA PENGURUTAN DATA (SORTING)
• Sorting adalah penyusunan urutan data sehingga tersusun
berdasarkan kata kunci tertentu dari nilai terkecil ke nilai terbesar
atau sebaliknya
SORTING

Bubble Selection Insertion


Quick sort
sort sort sort

Merge
Heap sort Radix sort
sort
BUBBLE SORT
• Merupakan algoritma pengurutan data dengan cara melakukan
penukaran data dengan tepat di sebelahnya secara terus menerus
sampai bias dipastikan dalam satu iterasi tidak ada perubahan lagi
(artinya data sudah terurut dengan benar)
BUBBLE SORT
SELECTION SORT
• Merupakan algoritma pengurutan dengan cara membandingkan
elemen yang sekarang dengan elemen yang berikutnya sampai
dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih
kecil dari sekarang, maka dicatat posisinya dan kemudian ditukar.
PERINTAH SORTING PADA PHP
• sort() – mengurutkan array secara ascending
• rsort() – mengurutkan array secara descending
• asort() – mengurutkan array asosiatif secara ascending, tergantung
isinya
• ksort() – mengurutkan array asosiatif secara ascending, tergantung
pada kuncinya
• arsort() - mengurutkan array asosiatif secara descending, tergantung
isinya
• krsort() - mengurutkan array asosiatif secara descending, tergantung
pada kuncinya
CONTOH SORT
• <?php
• $cars = array("Volvo", "BMW", "Toyota");
• sort($cars);
• foreach($cars as $tampil)
•{
• echo "$tampil ";
•}
• ?>
CONTOH KSORT
• <?php
• $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
• ksort($age);

• foreach($age as $x_kunci => $x_isi) {


• echo "Key=" . $x_kunci . ", Value=" . $x_isi;
• echo "<br>";
•}
• ?>
ALGORITMA PENCARIAN DATA (SEARCHING)
• Pada suatu data seringkali dibutuhkan pembacaan kembali informasi
(retrieval information) dengan cara searching.

• Searching adalah pencarian data dengan menelusuri tempat


pencarian data tersebut.

• Tempat pencarian data tersebut dapat berupa array dalam memori,


bias juga pada file pada penyimpananeskternal.
SEARCHING

Sequential Binary Interpolation


search search search
SEQUENTIAL SEARCH
• Adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang
akan menelusuri semua elemen-elemen array dari awal sampai akhir,
dimana data-data tidak perlu diurutkan terlebih dahulu.

• Kemungkinan terbaik (best case) adalah jika data yang dicari terletak
di indeks array terdepan (elemen array pertama) sehingga waktu yang
dibutuhkan untuk pencarian data sangat sebentar (minimal).

• Kemungkinan terburuk (worst case) adalah jika data yang dicari


terletak di indeks array terakhir (elemen array terakhir) sehingga
waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).
BINARY SEARCH
• Teknik pencarian yang akan membagi data menjadi dua pada setiap
pengurutan data. Data yang ada harus diurutkan terlebih dahulu
berdasarkan urutan tertentu yang dijadikan kunci pencarian.
INTERPOLATION SEARCH
• Teknik ini dilakukan pada data yang telah terurut berdasarkan kata
kunci tertentu. Metode ini menggunakan perkiraan letak data.
PENGELOLAAN FILE
• File digunakan sebagai media penyimpanan data eksternal selain
memori, media penyimpanan ini bersifat non – volatile dan biasanya
memiliki ukuran besar untuk dapat dibaca kembali.

• Operasi yang biasa dilakukan terhadap sebuah file adalah : menulis,


membaca, memeriksa keberadaan file, mengetahui status file, ukuran
file dan lain sebagainya. Setiap operasi untuk mengolah file pasti
memerlukan buffer untuk menampung sementara informasi dari file
tersebut.
KODE FILE PADA PHP
PENGELOLAAN FILE

Read file Open file Close file

Overwrite Create
Write file
file new file