Anda di halaman 1dari 24

UJI PENGETAHUAN UKK RPL 2021

UJI TULIS
Menjelaskan konsep data dan struktur data
data merupakan suatu objek, kejadian, atau fakta yang terdokumentasikan dengan memiliki
kodifikasi terstruktur untuk suatu atau beberapa entitas.

Struktur Data merupakan suatu cara untuk menyimpan data di suatu program sehingga
memungkinkan seorang programmer dapat menggunakan data tersebut secara efesien.

Database adalah  suatu kumpulan data terhubung yang disimpan secara bersama-sama pada


suatu media, yang diorganisasikan berdasarkan sebuah skema atau struktur
tertentu, menggunakan software untuk melakukan manipulasi untuk kegunaan tertentu.
Struktur Database secara fundamental terdiri dari :
 Hierarchical
 Network
 Relational
 Object-oriented
 Multi-dimensional

Menganalisa rancangan user interface

User Interface dapat diartikan sebagai bagian sistem komputer yang memungkinkan manusia


berinteraksi dengan komputer secara langsung.
Kriteria dari User Interface yang Friendly antara lain :
1. Memiliki tampilan yang bagus
2. Mudah dioperasikan
3. Mudah dipelajari
4. Pengguna selalu merasa senang setiap kali menggunakan software tersebut
Ada beberapa parameter umum dalam evaluasi sebuah website, yaitu :
1. Readability / kemudahan membaca informasi
2. Speed / kecepatan akses
3. Accuracy / ketepatan
4. Mobilitas konten /
5. Efisiensi

Mengidentifikasi entitas yang terkait dengan lingkup program yang akan


dibuat beserta hubungannya
Buatlah ERD dari program yang kamu buat

Menjelaskan tipe data dan control program

Tipe Data dapat dikategorikan sebagai berikut :

1. TIPE DATA NUMERIK

Tipe data numerik antara lain : integer, long, single, double, byte. Integer dan long digunakan

untuk menyimpan bilangan bulat. Sedangkan single dan double digunakan untuk menyimpan

bilangan desimal/real, yang memiliki angka di belakang koma.

2. TIPE DATA TEKS

Tipe data teks antara lain : Nama, alamat dan lain-lain adalah contoh data teks yang sering kita

gunakan dalam program komputer. Kumpulan huruf (boleh kosong) yang dianggap sebagai satu

kesatuan itu disebut String.

3. TIPE DATA BOOLEAN

Tipe ini digunakan untuk menyimpan suatu informasi yang hanya memiliki dua kemungkinan

nilai yaitu true atau false.

4. TIPE DATA DATE

Digunakan untuk menyimpan informasi bertipe tanggal dan jam.

5. TIPE DATA OBJECT

Variabel Tipe Object dapat dipakai untuk menggantikan objek- objek control.

6. TIPE DATA VARIANT

Tipe ini digunakan untuk menyimpan semua jenis tipe data lain. Namun kerugiannya adalah tipe

data ini boros memori.

 Struktur Kontrol
Dengan menggunakan statemen kondisional dan statemen looping (juga disebut struktur

kontrol), anda dapat menulis kode Visual Basic yang membuat pilihan dan aksi pengulangan.

Struktur kontrol lain yang berguna, statemen With, menjadikan anda dapat me-run serangkaian

statemen tanpa harus mengulang penulisan object.

Menggunakan Statemen Kondisional untuk Membuat Keputusan, Statemen kondisional

mengevaluasi apakah sebuah kondisi bernilai True atau False, dan kemudian menjalankan satu

atau lebih statemen berdasarkan hasil pemeriksaaan kondisi. Biasanya, kondisi berupa ekspresi

yang menggunakan operator pembanding untuk membandingkan satu nilai atau variabel dengan

nilai atau variabel lainnya.

1. If…Then..: Mencabangkan jika kondisi True atau False

1. Select Case : Memilih cabang dari satu set kondisi

2. Do..While : pada perulangan do-while, pengecekan kondisi akan dilakukan di akhir


perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan
minimal 1 kali.

3. Array : tipe data berindeks yang terdiri dari satu atau lebih elemen / komponen yang
memiliki tipe data yang sama.Posisi masing – masing komponen dalam larik dinyatakan
sebagai nomor index.Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang
terurut dan homogen.Terurut dapat diartikan bahwa elemen tersebut diidentifikasikan sebagai
elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n.

4. Method : dapat memiliki banyak argumen dengan tipe data yang berbeda. Method juga dapat
memiliki nama yang sama asal parameter / tipe datanya berbeda (Method Overloading).

Mengidentifikasi perangkat lunak aplikasi data deskripsi/SQL


1. MYSQL
2. MICROSOFT SQL SERVER
3. DLL

Menganalisis kesalahan pada program


Jenis kesalahan dalam penyusunan program komputer yaitu :

1. Kesalahan kompilasi (Compilation Errors). 

Kompilasi adalah proses di mana sebuah program yang ditulis dalam bahasa


tingkat tinggi dikonversi ke bentukmesin yang dapat dibaca. Banyak jenis kesalahan
dapatterjadi selama fase ini, termasuk kesalahan sintaks.Kadang-kadang, sintaks dari kode
sumber bisa menjadi sempurna, tetapi kesalahan kompilasi masih mungkin terjadi. Hal
ini mungkin karena masalah di compiler itu sendiri. Kesalahan ini dapat diperbaiki dalam
tahapdevelopment.

Langkah-langkah untuk memperbaiki kesalahan kompilasi sebagai berikut :

1. Setelah dilakukan proses Compile, periksalah pada jendela Build.


2.  Jika terdapat sejumlah pesan kesalahan pada jendela Build, dimulai dari pesan
kesalahan paling awal lakukan dobel klik pada tulisan pesan kesalahan tersebut.
3. Periksalah pada satu baris program yang ditunjuk Compiler.
4. Periksa juga statement program yang dibuat, apakah sudah sesuai dengan ketentuan dari
standar bahasa Fortran.
5. Lakukan Compile dan ulangi  langkah  dari  awal  apabila  ditemukan  pesan kesalahan ,
kemudian ulang terus sampai tidak ditemukan pesan kesalahan pada jendela Build.
Setelah  melakukan  proses  Compile,  berikutnya  lanjutkan  dengan
proses Build dan Execute program.

2. Kesalahan waktu kerja (Run-time Errors).

Kode program telah dikompilasi dengan sukses dan file eksekusi telah dibuat. Fase


dimana menjalankan programuntuk menguji jalannya program sehingga dapat
ditemukan kesalahan. Ini disebut ’Run Time Error’. Ini mungkin akibat
dari kegagalan pada beberapa bagianpada saat development. Ini
dapat diperbaiki dengan padafase coding

Untuk mencegah kesalahan ini sebenarnya cukup mudah yaitu lakukan antisipasi jika anda
membuat program yang mengandung perhitungan- perhitungan matematis yang bisa
menghasilkan nilai yang tidak mungkin.
3. Kesalahan pembulatan (Rounding Errors).

  Kesalahan akibat ketepatan yang terbatas dari hasil perhitungan yang dilakukan oleh
komputer.
 Tidak semua bilangan real bisa dikonversikan menjadi kode biner secara tepat, terutama
bilangan pecahan.
 Ketelitian komputer dalam memberikan nilai dari suatu angka dalam kode biner
tergantung dari besarnya memori yang dialokasikan untuk menyimpan angka tersebut.
 Rounding Errors ==> Kesalahan pembulatan.
Cara mengatasi kesalahan Rounding Errors :

1. Setiap menggunakan bilangan Real maka komputer tidak akan pernah bisa memberikan


hasil yang tepat 100%.
2. Sehingga, sebaiknya tidak memberikan perintah untuk membandingkan nilai antara dua
bilangan real dengan tanda “=“.
3. Untuk membandingkan dua bilangan real apakah nilainya sama, sebaiknya menggunakan
nilai toleransi kesalahan yang nilainya sangat kecil (misalnya: toleransi = 10  ). Artinya
jika perbedaan dari dua bilangan real nilainya kurang dari angka toleransi yang anda
berikan maka dua bilangan tersebut nilainya dianggap sama.
4. Nilai yang dibandingkan harganya mutlak
Kesalahan logika (Logic Errors).
Kesalahan logika (Logic Errors) merupakan kesalahan yang paling serius dari semua
kesalahan. Ketika sebuah program yang dibuat dalambahasa apapun mengkompilasi dan
berjalan dengan benarhanya untuk memberikan output yang salah, kesalahanterletak
pada logika yang mendasari pemrograman.Kesalahan ini bisa terjadi karena algoritma
dasar telah salahlogika dasar dari seluruh program sudah cacat,dalam kasus seperti
itu. Jenis kesalahan ini memerluka nperubahan mendasar untuk menemukan solusi. Perlu
mulai mendalami di tingkat algoritmik untuk mempersempit kepenyebab kesalahan
seperti itu.

Cara memperbaiki kesalahan logika adalah :

1. Penguasaan terhadap permasalahan yang dihadapi dan akan dibuat programnya, meliputi
penyusunan langkah-langkah penyelesaian masalah / algoritmanya.
2. Cari contoh kasus dari permasalahan yang anda hadapi dan selesaikan secara manual.
Kemudian periksa dan koreksi jika ada kesalahan.
3. Coba jalankan program yang sudah di ketik berdasarkan algoritma yang sudah dibuat
berdasar contoh kasus yang telah dicoba sebelumnya
4. Cek antara hasil yang didapat dari program dengan hasil penyelesaian secara manual dari
kasus-kasus yang sudah dicoba. Jika semua hasil yang didapat antara program dan cara
manual relatif sama, maka program sudah tidak mengandung kesalahan logika.
5.
5. Syntax Error

Syntax Error terjadi merupakan jenis kesalahan yang terjadi akibat perintah atau statement yang
diketik menyalahi aturan pengkodean oleh bahasa pemrograman yang digunakan. Setiap bahasa
pemrograman memiliki aturan pengkodean tersendiri yang harus dipatuhi. Contohnya pada
bahasa pemrograman Pascal atau delphi, setiap statement diwajibkan untuk diakhiri dengan
tanda titik koma (;), jika tidak menuliskannya, maka program akan menampilkan pesan Syntax
Error saat dijalankan. Selain itu setiap bahsa pemrograman juga memiliki keyword yaitu
perintah2 baku yang sering digunakan seperti if, perulangan for atau while, penulisan fungsi
dan lambang aritmatikaseprti modulus, pangkat dan lain-lain, hal ini juga merupakan Syntax
Error.

Kesalahan penulisan parameter pada sebuah fungction/procedure juga termasuk Syntax Error,
misalnya jika function yang anda gunakan memerlukan parameter, sementara anda lupa
menuliskan parameter tersebut.

Meskipun Syntax Error merupakan jenis kesalahan yang paling sering ditemui, tapi pada
umumnya juga mudah untuk diatasi. Syntax Error mudah diperbaiki jika bahasa pemrograman
yang anda gunakan menunjukkan baris kesalahan yang tepat, dan menampilkan pesan
kesalahan yang benar. Pada beberapa bahasa pemrograman disediakan fasilitas Auto Sytax
Check, dimana muncul sebuh peringatan ketika anda mengetikkan syntax yang salah.

6. Arithmetic Error

Banyak program menggunakan variabel numerik dan algoritma perhitungan


matematis. Kesalahan aritmatikamuncul ketika komputer tidak dapat menangani masalah
seperti Division By Zero’ yang mengarah ke hasil yang tak
terbatas. Ini menjadi sebuah kesalahan logical yang hanya dapat diperbaiki dengan
mengubah algoritma.

7. Resource Errors

Kesalahan ini terjadi ketika nilai variabel terlalu meluas sampai pada nilai


maksimum yang diperbolehkan, maka hasilnya adalah kesalahan resources.
UJI LISAN

Menganalisa diagram program dan deskripsi program


Alat-alat Perancangan Program
1. Bagan terstruktur (Structured Chart)
2. Struktur English dan Pseudocode
3. Tabel Keputusan (Decision Tabel)
4. Bagan HIPO
5. Bagan Alir Program (Program Flowchart)

Struktur English dan Pseudocode


Struktur English adalah menggambarkan suatu algoritma yang akan dikomunikasikan
kepada pemakai sistem Pseudocode adalah imitasi(mirip) yang menunjukkan kode dari
Program.
Struktur English terdiri dari :
1. Struktur Urut (Sequence structure), yang terdiri dari sebuah instruksi yang tidak
mempunyai perulangan atau keputusan di dalamnya
2. Struktur Keputusan (Decision structure), dapat berupa struktur if-then atau if-then-
else atau struktur case.
3. Struktur Iterasi (Iteration structure), yang diterapkan pada suatu situasi instruksi yang
diproses berulang kali sampai kondisi yang diinginkan terpenuhi dan dapat berupa
struktur FOR, struktur REPEAT, atau struktur WHILE

Bagan Terstruktur adalah mendefinisikan dan mengilustrasikan


Organisasi dari sistem informasi secara berjenjang dalam bentuk modul dan submodul.
Bagan Terstruktur Simbol-simbol Dasar
Module = menunjukkan suatu modul
Connection = menghubungkan suatu modul Menunjukkan suatu data dan elemen
kontrol
Loop = menunjukkan suatu perulangan di dalam modul.
Decision = menunjukkan suatu penyeleksian Kondisi di dalam modul. dengan modul
lainnya

Terdapat dua model bagan terstruktur yaitu :


1. Transformed center, bagan ini menggambarkan sistem dalam tiga cabang.
2. Transaction centered, bagan ini menggambarkan suatu sistem yang menangani
beberapa tipe transaksi yang mempunyai jalur berbeda.

Tabel Keputusan (Decision Table)


Tabel keputusan adalah tabel yang digunakan sebagai alat bantu untuk menyelesaikan
logika didalam program yang terdiri dari baris dan kolom.
Tabel Keputusan terdiri dari 4 bagian utama, yaitu :
1. Condition stub, berisi kondisi yang akan diseleksi
2. Condition entry, berisi kemungkinan dari kondisi yang akan diseleksi (Y atau T
dengan simbol N)
3. Action stub, berisi pernyataan yang akan dikerjakan
4. Action entry, digunakan untuk memberi tanda tindakan mana yang dilakukan dan
mana yang tidak dilakukan

Langkah-langkah membuat Tabel keputusan :


1. Menentukan kondisi yang akan diseleksi
2. Menentukan jumlah kemungkinan kejadian yang akan terjadi, yaitu sebanyak N=2n,
contoh n=3,N=23 =8
3. Menentukan tindakan yang akan dilakukan
4. Mengisi Condition entry
5. Mengisi action entry

HIPO (Hierarchy plus Input-Proses-Output)


Sasaran HIPO, yaitu :
1. Untuk menyediakan suatu struktur guna memahami fungsi darisistem
2. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikanoleh program
3. Untuk menyediakan penjelasan dari Input dan Output padamasing-masing tiap
tingkatan dari HIPO.
4. Untuk menyediakan Ouput yang tepat dan sesuai dengan
kebutuhan-kebutuhan pemakai.
Diagram dalam paket HIPO
1. Visual Table Contents (VTOC)
2. Overview Diagram
3. Detail Diagrams

Diagram Alur / Flowchart


Alat yang dipakai untuk membuat algoritma adalah diagram alur atau flowchart.
Sedangkan arti khusus dari flowchart itu sendiri adalah simbol-simbol yang digunakan
untuk menggambarkan urutan proses yang terjadi dalam sebuah program atau suatu
diagram yang menggambarkan susunan logika suatu program dan merupakan alat
bantu komunikasi dan dokumentasi.
1. Jenis Flowchart
a. Program Flowchart
Program Flowchart merupakan simbol-simbol yang menggambarkan proses secara
rinci dan detail antara instruksi yang satu dengan instruksi yang lainnya di dalam suatu
program komputer yang bersifat logik
b. Sistem Flowchart
Sistem Flowchart merupakan simbol-simbol yang menggambarkan urutan prosedur
secara detail di dalam suatu sistem komputerisasi dan bersifat fisik.
Menganalisa hasil eksekusi
Berikut ini beberapa diantara level dan jenis error yang harus diketahui pada PHP:

Konstanta Deskripsi Level


E_ERROR Error fatal yang terjadi saat run-time program. Eksekusi skrip akan 1
langsung dihentikan
E_WARNING Error non-fatal yang terjadi saat run-time. Skrip (setelah terjadi error) tetap 2
dieksekusi
E_PARSE Error yang terjadi pada saat compile-time. Error parse ini terjadi ketika 4
interpreter PHP mendeteksi adanya sintaks error.
E_NOTICE Pemberitahuan kemungkinan error pada saat run-time. Suatu baris 8
program bisa jadi ia normal-normal saja, tapi bisa jadi error pada keadaan
tertentu.
E_USER_ERROR Error fatal yang terjadi saat run-time program. Sama 256
dengan E_ERROR hanya saja error jenis ini dipicu oleh pemrogram
dengan memanggil fungsi trigger_error()
E_USER_WARNIN Error non-fatal yang terjadi saat run-time. Sama 512
G dengan E_WARNING hanya saja error jenis ini dipicu oleh pemrogram
dengan memanggil fungsi trigger_error()
E_USER_NOTICE Pemberitahuan kemungkinan error pada saat run-time. Sama 1024
dengan E_NOTICE hanya saja error jenis ini dipicu oleh pemrogram
dengan memanggil fungsi trigger_error()

Untuk level error yang lebih lengkap, silakan merujuk ke dokumentasi manual PHP.

Cara Penanganan Error

Setiap kali menulis kode program, kita harus selalu membuat pemeriksaan pada setiap
kemungkinan terjadinya error. Sehingga jika memang terjadi error pada tempat tersebut, kita bisa
memberikan aksi yang tepat.

Di antara cara penanganan error yang bisa kita lakukan adalah:

1. Menggunakan fungsi die()
2. Memusatkan penanganan error pada satu fungsi khusus
3. Menggunakan exception

Menggunakan Fungsi die()

Misalkan kita akan membuka dan membaca suatu file dengan PHP, kita harus memeriksa
terlebih dahulu apakah file tersebut tersedia atau tidak. Jika ternyata file tidak tersedia, kita bisa
menghentikan run-time program dengan memanggil fungsi die().

Perhatikan kode program berikut:


<?php

$namaFile = "/web/documents/histori.txt";

if (!file_exists($namaFile)) {
die("File tidak ditemukan");
} else {
$file = fopen($namaFile, "r");
echo "File berhasil dibaca.";
}

// lanjutkan kode jika file berhasil dibaca

Pemusatan Error Handling

Selain cara menggunakan if else seperti di atas, kita bisa melakukan cara yang lebih umum yaitu
dengan memusatkan error handling dalam satu fungsi saja.

Sehingga setiap kali ada error dari setiap level, fungsi tersebut akan otomatis dipanggil. Setelah
itu, kita bisa memutuskan apa yang akan kita lakukan dengan error yang terjadi tersebut.

Langkah-langkahnya adalah:

1. Membuat fungsi

Langkah yang pertama adalah membuat fungsi khusus untuk menangani error.

Fungsi tersebut harus memiliki 5 buah parameter:

 $errLevel: berisi konstanta tipa error level


 $errMessage: berisi label/pesan dari error
 $errFile: berisi file di mana error terjadi
 $errLine: berisi baris di mana error terjadi

Sebelum itu, jangan lupa kita non aktifkan semua pesan error. Karena beberapa pengaturan
bawaan PHP di sistem operasi tertentu pesan error akan ditampilkan secara default. Sehingga
kita harus mengaturnya mandiri dengan mengubah nilai di file php.ini mau pun dengan
memanggil fungsi error_reporting().

<?php

# sembunyikan semua pesan error bawaan PHP


error_reporting(0);

/**
* Fungsi untuk menangai error.
*
* Fungsi ini wajib memiliki 4 paramter dan nama parameter bisa bebas.
*/
function tanganiError ($level, $message, $file, $line) {
echo "<div style='padding: 2rem; background: rgba(200, 0, 0, 0.5); color: white'>" ;
echo "<b>Terjadi Error</b>";
echo "<p>[{$level}] {$message} - {$file}:{$line}</p>";
echo "</div>";
}

2. Mengatur fungsi tersebut sebagai error handler

Kita telah membuat fungsi tanganiError(). Fungsi tersebut menerima 5 buah parameter.

Yang harus kita lakukan selanjutnya adalah mengatur fungsi tersebut sebagai error handler.
Sehingga jika terjadi error apa pun pada saat run-time, fungsi tersebut akan dieksekusi.

Untuk mengatur error handler kita bisa memanggil fungsi bawaan PHP


bernama set_error_handler.

<?php

set_error_handler('tanganiError');

3. Testing error

Kita coba memicu sebuah error dengan memanggil variabel yang tidak pernah kita definisikan
sebelumnya.

<?php

# variabel $tes tidak ada


echo $tes;

Setelah program dijalankan, berikut ini output yang saya dapatkan:


Menggunakan Shutdown Function

Cara di atas memang sekilas berhasil, akan tetapi cara tersebut tidak berfungsi untuk semua jenis
error.

Kita telah berusaha memanggil suatu variabel yang belum pernah kita definisikan sebelumnya.

Akan tetapi jika kita memanggil sebuah fungsi yang tidak pernah didefinisikan, level error yang
dihasilkan adalah: E_ERROR. Dan level ini tidak didukung oleh set_error_handler. Sehingga
fungsi tanganiError() tidak pernah dipanggil.

Coba kode program berikut:

<?php

# fungsi selamatPagi() tidak pernah kita definisikan


selamatPagi();

Dan setelah dieksekusi, fungsi tanganiError() yang telah kita set sebagai error handler ternyata


memang tidak dianggil. Ini tangkapan layar dari apa yang saya dapat:
Lalu bagaimana caranya?

Agar kita bisa menangani error level E_ERROR, kita punya pilihan untuk
menggunakan shutdown function.

Shutdown function adalah fungsi yang akan dipanggil sesaat ketika program PHP akan selesai.
Entah terjadi error E_ERROR atau tidak.

Mendaftarkan fungsi anonim sebagai shutdown function

Berikut ini contoh untuk mendaftarkan sebuah fungsi anonim sebagai shutdown function. Fungsi
ini akan mengambil error terakhir yang terjadi pada saat run-time, lalu akan memanggil
fungsi tanganiError() jika memang ada error.

<?php

register_shutdown_function(function () {
if (error_get_last()) {
# ambil error terakhir
$error = (object) error_get_last();

tanganiError(
$error->type, $error->message, $error->file, $error->line
);
}
});

Coba panggil lagi fungsi selamatPagi():


<?php

# fungsi selamatPagi() tidak pernah didefinisikan


selamatPagi();

Hasilnya:

Sembunyikan Semua Output Ketika Terjadi Error

Kita telah berhasil menangani error E_ERROR menggunakan shutdown function. Akan tetapi,


jika kita perhatikan, output apa pun sebelum terjadi error akan tetap ditampilkan.

Perhatikan kode program berikut:

<?php

echo "<h1>Selamat Datang</h1>";


echo "<h2>Ini adalah halaman utama</h2>";

# fungsi selamatPagi() tidak pernah didefinisikan


selamatPagi();

echo "<p>Semoga bermanfaat</p>";

Kode program di atas akan menghasilkan output sebagai berikut:


Menggunakan fungsi ob_start() dan ob_end_flush()
Fungsi ob_start() akan menyimpan semua output dalam internal buffer PHP. Sehingga output
tidak langsung ditampilkan ke dalam browser melainkan akan ditampilkan terakhir-terakhir
menjelang program PHP selesai dieksekusi.

Tambahkan fungsi ob_start() sebelum output pertama, dan panggil fungsi ob_end_flush() setelah


output terakhir.

<?php

ob_start();
echo "<h1>Selamat Datang</h1>";
echo "<h2>Ini adalah halaman utama</h2>";

# fungsi selamatPagi() tidak pernah didefinisikan


selamatPagi();

ob_end_flush();

Panggil fungsi ob_end_clean() untuk menghapus output

Setelah itu, kita bisa memanggil fungsi ob_end_clean() untuk menghapus semua output yang
terisimpan dalam internal buffer. Dalam artian output tersebut tidak jadi ditampilkan.

Fungsi tersebut kita panggil pada saat teradi error:

<?php

register_shutdown_function(function () {
if (error_get_last()) {
# ambil error terakhir
$error = (object) error_get_last();

# hapus semua output sebelum terjadi error


ob_end_clean();

tanganiError(
$error->type, $error->message, $error->file, $error->line
);
}
});

Ketika program kita jalankan lagi, kita akan dapati semua output sebelum terjadi error, ia tidak
ditampilkan.
Menangani Sintaks Error

Kita sejauh ini telah berhasil menangani berbagai macam jenis error bahkan sampai fatal error
sekalipun.

Akan tetapi, kode program yang telah kita buat di atas tidak bisa menangani sintaks error.
Misalkan kita menghapus satu tanda titik koma (;), program kita akan error dan fungsi
penanganan error yang sudah kita buat tidak akan pernah dipanggil meskipun kita sudah
membuat shutdown function.

Lalu, bagaimana cara mengatasi error E_PARSE alias sintaks error?

Caranya sama saja, yang kita perlu tahu adalah:

1. Error handle harus tidak ada error


2. File utama yang dieksekusi tidak boleh ada error
3. Error sintaks harus berada di file sekunder (selain file utama)

Langsung saja kita praktikkan, kita akan pecah kode program yang telah kita buat sebelumnya
menjadi 3 file sebagai berikut:

├── src/
| ├── file-yang-error.php
| ├── index.php
| └── penanganan-error.php
├── ...
Penjelasan:

1. File index.php adalah file utama, yang artinya file tersebut adalah file yang kita request
(melalui browser)
2. Semua error handling kita sendirikan di dalam file penanganan-error.php
3. File yang berisi sintaks error (atau error apa pun lainnya) kita letakkan pada file-yang-
error.php

Berikut adalah kode program file index.php:

<?php

require_once 'penanganan-error.php'; /* <-- shutdown fungsi berada di sini */

ob_start();
require 'file-yang-error.php'; /* <-- file yang berisi error */
ob_end_flush();

Nah ketika di file-yang-error.php terdapat error secara sintaks, PHP masih tetap bisa
menjalankan file utama yaitu index.php dan shutdown function yang telah kita definisikan di
file penanganan-error.php bisa dijalankan.

<?php

echo "<h1>Selamat Datang</h1>";


echo "<h2>Ini adalah halaman utama</h2>";

# fungsi selamatPagi() tidak pernah didefinisikan


selamatPagi() # dia juga tidak ada titik koma

echo "Halo pemirsah!";

Kode Program Lengkap

Untuk kode program lengkap pada pertemuan ini bisa anda akses di sini.

Kesimpulan

Di dalam PHP terdapat berbagai jenis level error. Mulai dari yang fatal hingga menghentikan
program. Ada yang tidak sampai level tersebut sehingga program masih memungkinkan untuk
dilanjutkan.

Untuk menangani error pada PHP, terdapat berbagai macam pendekatan. Dalam pertemuan di
atas kita telah menggunakan setidaknya 2 buah pendekatan inti:

 Menggunakan set_error_handler()
 Dan Menggunakan register_shutdown_function()

Tidak hanya itu, kita juga telah berhasil menyembunyikan semua output yang di-echo sebelum
terjadinya error memanfaatkan fungsi ob_start() dan ob_end_clean()

Menganalisa hasil pemodelan kedalam eksekusi script sederhana


Perhatikan diagram program dan script berikut. Sudah sesuaikah anatar script dengan diagram program.
Jika sudah

Mengidentifikasi tools sesuai kebutuhan pembuatan program


Pertanyaan : Sebutkan tools yang kamu butuhkan untuk membuat aplikasi ini

HINT :

Mengidentifikasi tipe data dan control program pada metode atau


operasi dari suatu kelas
Tentukan tipe data dan kontrol program dari script PHP berikut

<!DOCTYPE html>
<html>
<head>
<title>Membuat Kuitansi Sederhana</title>
</head>
<body>
<?php
$no = isset($_GET['no']) ? $_GET['no'] : "";
$nama = isset($_GET['nama']) ? $_GET['nama'] : "";
$pembayaran = isset($_GET['pembayaran']) ? $_GET['pembayaran'] : "";
$kota = isset($_GET['kota']) ? $_GET['kota'] : "";
$tanggal = isset($_GET['tanggal']) ? $_GET['tanggal'] : "";
$tgl = explode("-", $tanggal);
$tglbaru = "$tgl[2]/$tgl[1]/$tgl[0]";
$nominal = isset($_GET['nominal']) ? $_GET['nominal'] : "0";
if ($nominal)
{
$uang = number_format($nominal, 0, ',','.') ."</br>";
$terbilang = ucwords(''.Terbilang($nominal).'')." Rupiah";
}
?>
<h2>Aplikasi Kuitansi Sederhana</h2>
<hr>
<?php if (empty($nominal)) { ?>
<form action="" method="get">
<table width="100%" border="0">
<tr>
<td width="100">No.</td>
<td><input type="text" name="no"></td>
</tr>
<tr>
<td width="100">Diterima dari</td>
<td><input type="text" name="nama" required></td>
</tr>
<tr>
<td width="100">Nominal Uang</td>
<td><input type="text" name="nominal" required></td>
</tr>
<tr>
<td width="100">Untuk Pembayaran</td>
<td>
<textarea name="pembayaran" cols="40" rows="3"></textarea>
</td>
</tr>
<tr>
<td width="100">Kota</td>
<td><input type="text" name="kota" required></td>
</tr>
<tr>
<td width="100">Tanggal</td>
<td><input type="date" name="tanggal" required></td>
</tr>
<tr>
<td width="100"></td>
<td><input type="submit" value="Buat Kuitansi"></td>
</tr>
</table>
</form>
<?php } ?>
<?php if (!empty($nominal)) { ?>
<table width="800" border="0" cellpadding="4" cellspacing="0" style="border: 1px
solid #000;">
<tr>
<td rowspan="6" width="120" style="border-right:1px solid #000;"> </td>
<td width="150" valign="top" > No </td>
<td valign="top" > : <?php echo $no;?> </td>
</tr>
<tr>
<td valign="top" > Telah Diterima Dari </td>
<td valign="top" > : <?php echo $nama;?> </td>
</tr>
<tr>
<td valign="top" > Uang Sejumlah </td>
<td valign="top" > : <?php echo $terbilang;?></td>
</tr>
<tr>
<td valign="top" > Untuk Pembayaran </td>
<td valign="top" > : <?php echo $pembayaran;?></td>
</tr>
<tr>
<td valign="bottom"> <h3>Rp <?php echo $uang;?> </h3> </td>
<td valign="top" align="right" height="100"> <?php echo "$kota, $tglbaru";?>
</td>
</tr>
</table>
<style>
a { text-decoration: none; color: #0903E8; font-family: verdana; }
a:hover { color: #FA3C3C; }
</style>
<a href="index.php">Kembali</a>
<?php } ?>
</body>
</html>
<?php
//thanks to miswanphp10.blogspot.co.id
function Terbilang($x)
{
$bilangan = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh",
"Delapan", "Sembilan", "Sepuluh", "Sebelas");
if ($x < 12)
return " " . $bilangan[$x];
elseif ($x < 20)
return Terbilang($x - 10) . "belas";
elseif ($x < 100)
return Terbilang($x / 10) . " Puluh" . Terbilang($x % 10);
elseif ($x < 200)
return " seratus" . Terbilang($x - 100);
elseif ($x < 1000)
return Terbilang($x / 100) . " Ratus" . Terbilang($x % 100);
elseif ($x < 2000)
return " seribu" . Terbilang($x - 1000);
elseif ($x < 1000000)
return Terbilang($x / 1000) . " Ribu" . Terbilang($x % 1000);
elseif ($x < 1000000000)
return Terbilang($x / 1000000) . " Juta" . Terbilang($x % 1000000);
}
?>

Menganalisa teknik dasar algoritma umum


Contoh Algoritma:

1. Mengirim surat kepada teman:

• Tulis surat pada secarik kertas surat

• Ambil sampul surat

• Masukkan surat ke dalam sampul

• Tutup sampul surat dengan perekat

• Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul

• Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul

• Tempel prangko pada sampul

• Bawa sampul ke kantor pos untuk diposkan

2. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:

• Masukkan sebuah bilangan sembarang

• Bagi bilangan tersebut dengan 2

• Hitung sisa hasil bagi pada langkah 2

• Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap

• Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Buatlah flowcahartnya

Menganalisa dokumentasi fungsi, prosedur atau method program


Tunjukan fungsi, prosedur dan method pada script programmu dan tunjukan dokumentasinya

Mengidentifikasi kebutuhan platform


Platform apa yang kamu gunakan untuk apliaksi pada UKK

Apa pertimbangan pemilihan platform dari aplikasi yang kamu buat untuk UKK

Apa kebutuhan platform yang kamu pilih

Anda mungkin juga menyukai