Kamis, 26 Maret 2020

modul pbo(if else, switch case ,perulangan , exception handling)

1.percabangan if else
Merupakan percabangan yang sama dengan percabangan if namun memiliki kondisi false ,artinya jika kondisi artinya jika kondisi pada if else tidak terpenuhi maka perintah pada Elsa akan dijalankan untuk pernyataan of else berupa :

If(kondisi){

//Jalankan jika kondisi true

}Else{

//Jalankan jika kondisi false

Misal

Int=5;

If(nilai==10){

}Else{

System.out.println("Bukan sepuluh");

}

jika program diatas  Maka hasilnya adalah tulisan "bukan sepuluh" hal ini di karenakan nilai bernilai 5 bukan 10.

Contoh percabangan if else
Import Java .io.*;

#include <stdio.h>
int main(void)
{
  char nilai;
 
  printf("Input Nilai Anda (A - E): ");
  scanf("%c",&nilai);
 
  if (nilai == 'A' ) {
    System.out.println("Pertahankan! \n");
  }
  else if (nilai == 'B' ) {
   System.out.println("Harus lebih baik lagi \n");
  }
  else if (nilai == 'C' ) {
   System.out.println("Perbanyak belajar \n");
  }
  else if (nilai == 'D' ) {
   System.out.println("Jangan keseringan main \n");
  }
  else if (nilai == 'E' ) {
   System.out.println("Kebanyakan bolos... \n");
  }
  else {
   System.out.println("Maaf, format nilai tidak sesuai \n");
  }
  return 0;
}

Hasil kode program:

Input Nilai Anda (A - E): A
Pertahankan!
 
Input Nilai Anda (A - E): D
Jangan keseringan main
 
Input Nilai Anda (A - E): E
Kebanyakan bolos...
 
Input Nilai Anda (A - E): F
Maaf, format nilai tidak sesuai



a.Algoritma Percabangan Bersarang

Algoritma percabangan bersarang merupakan bentuk algoritma percabangan dimana pada setiap setiap pernyataan untuk kondisi IF di dalamnya terdapat Instruksi IF Lagi.

Algoritma percabangan bersarang artinya di dalam IF terdapat IF lagi.

Struktur algoritma percabangan  bersarang adalah sebagai berikut:

IF(Kondisi a) THEN
      IF(kondisi x)THEN
            pernyataan 1
      ELSE  IF
            pernyataan 2
      ENDIF
ELSE
     pernyataan b
ENDIF


2.switcase
Switch Case merupakan salah satu bentuk percabangan, bentuk dari Switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch-case ini memiliki kegunaan sama seperti if – else bertingkat. Kontruksi if - else yang bertingkat-tingkat seringkali membingungkan pembacaan alur program.
Pernyataan Switch lebih jarang digunakan dibandingkan dengan pernyataan if pada java. Tetapi lebih sering digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan. Jika pada percabangan terdapat pilihan banyak, maka perintah switch-case lebih dianjurkan daripada menggunakan if - else.
Contoh:
Public static Vios main (String []args){

Int angka =5;

Switch (angka%6)

Case 0:

System.out.println("bila.genap");

break;

Case 1:

System.out.println("bila.ganjil");

break;

Case 2:

System.out.println("bila.genap");

break;

Case 3:

System.out.println("bila.ganjil");

break;

Case 4:

System.out.println("bila.genap");

Default:break;

}



Contoh lain:

E. Contoh
import java.util.*;
public class Switch_Case
{
 public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
 char nilai = 'B';
String nama;
System.out.print("Masukkan nama: ");
nama = input.nextLine();
System.out.println("Nilai : "+nilai);
System.out.println("\n");
switch(nilai)
{
case 'A': System.out.println(nama+" Nilai Anda memuaskan");
break;
case 'B': System.out.println(nama+" Nilai Anda bagus");
break;
case 'C': System.out.println(nama+" Nilai Anda cukup");
break;
}
}

Output :
Masukkan Nama : RATIH
Nilai :B

RATIH Nilai Anda Bagus

3.perulangan

Perulangan/Statement For.

Perulangan dengan statement For digunakan untuk mengulang statement atau suatu blok statement berulang kali. Dengan kata lain, pernyataan ini digunakan bila Anda sudah tahu berapa kali Anda akan mengulang satu atau beberapa pernyataan.

  

1. Perulangan For, yang sifatnya menaik(increment)

Bentuk umum dari perulangan For adalah sebagai berikut:

for (variable= nilai_awal; kondisi; variable++)

{

     Statement/pernyataan yang akan diulang;

}

Perulangan For yang sifatnya menurun(decrement)

Perulangan For yang sifatnya menurun adalah perulangan dengan menghitung (counter) dari besar ke kecil. Bentuk Umum dari perulangan For yang sifatnya menurun(decrement)

for (variable = nilai_awal; kondisi; variable--)

{

                Statement/pernyataan yang akan diulang;

}

For tersarang 

Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.

# Perulangan while


1. Perulangan While

Statement while digunakan untuk melakukan proses perulangan statement atau blok statement terus-menerus selama kondisi ungkapan logika pada While masih bernilai logika benar.

Bentuk pernyataan WHILE :

while (kondisi)

{

      Statement/pernyataan yang akan diulang;

}

•Aray /larik
larik adalah sebuah struktur data yang terdiri dari data yang bertipe sama ukuran larik bersifat tetap tarik akan mempunyai ukuran yang sama pada saat sekali dibuat baik dalam Java adalah objek disebut juga sebagai tipe referensi.sedangkan elemen dalam larik Java bisa primitif atau referensi. IP
-Deklarasi dan menciptakan aray
sebagai sebuah objek larik harus diciptakan dengan menggunakan kata cadangan new deklarasi dan penciptaan variabel dari gambar 1 adalah sebagai berikut.
Int A[] =new int [10];
Larik d deklarasikan dengan langsung diciptakan atau
Int A [] ;
A= new int [10];
Larik di deklarasikan baru pada pernyataan berikutnya larik diciptakan.
4.Exception handling merupakan sebuah sub kelas. Lang throwble bukanlah  dokumentasi Java untuk lebih meyakinkan anda karena exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan mencul sebuah bag atau kesalahan maka bag tersebut dapat di anggap sebuah objek .sehingga ketika objek  ini di tampilkan .dilayar maka Java akan secara otomatis memanggil method tostting yang terdapat dalam objek bertype exception ini.exceotion handlingnya merupakan fasilitas Java yang memberikan fleksibilitas kepada developer untuk menangkap bug atau kesalahan yg terjadi ketika perogram berjalan .

Keyword penting pada exception handling

try

Keyword ini biasanya digunakan dalam suatu block programkeyword ini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang akan dibahas pada point kedua dan ketiga.
finally

Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada. Contoh implementasinya pada program :

Contoh:

Try

{

//tulis pernyataan yang dapat mengakibatkan exception

//dalam blok ini

}

catch( <exceptionType1> <varName1> )

{

//tulis aksi apa dari program Anda yang dijalankan jika ada

//exception tipe tertentu terjadi

}

catch( <exceptionTypen> <varNamen> ){

//tulis aksi apa dari program Anda yang dijalankan jika ada

//exception tipe tertentu terjadi

}

finally{

//tambahkan kode terakhir di sini

}

throw

Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual. Contoh program :

public class A
{
	public static void main(String[] args) {
		try
		{
			throw new Exception("kesalahan terjadi");
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}
}

Output Program :

java.lang.Exception: kesalahan terjadi

Seperti yang anda lihat pada program diatas, pada keyword throw new Exception(“kesalahan terjadi”); akan melempar object bertipe exception yang merupakan subclass dari class Exception sehingga akan dianggap sebagai suatu kesalahan yang harus ditangkap oleh keyword catch.

Perhatikan contoh berikut ini :

public class A
{
	public static void main(String[] args) {
		try
		{
			throw new B(); //cobalah  ganti baris ini dengan à new B();
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}
}
class B extends Exception
{
	B()
	{
	}
	public String toString()
	{
		return “object dengan tipe kelas B”;
	}
}

Output Program :

object dengan tipe kelas B

Program diatas telah mendefinisikan suatu kelas B mengextends dari kelas Exception. Ketika kita melakukan throw new B(); maka object dari kelas bertipe B ini akan dianggap kesalahan dan ditangkap oleh block catch. Sekarang jika anda menghilangkan keyword throw apa yang terjadi?.

 throws

Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya. Cara mendefinisikannya dalam method adalah sebagai berikut : <method modifier> type method-name throws exception-list1, exceptio-list2, … {}.

Contoh Program :

public class A
{
	public static void main(String[] args) {
		try
		{
			f();
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}
	public static void f() throws NullPointerException, ArrayIndexOutOfBoundsException
	{
		//implementasi method
		throw new NullPointerException();
		//throw new ArrayIndexOutOfBoundsException();
	}
}

Output Program :

java.lang.NullPointerException

Contoh program lainnya :

public class A
{
	public static void main(String[] args) {
		try
		{
			f();
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}
	public static void f() throws NullPointerException, ArrayIndexOutOfBoundsException
	{
		//implementasi method
		//throw new NullPointerException();
		throw new ArrayIndexOutOfBoundsException();
	}
}

Output Program :

java.lang.ArrayIndexOutOfBoundsException

Rabu, 18 Maret 2020

FROM INPUT DENGAN KONEKSI DATA BASE

KONEKTIVITAS PHP DENGAN MySQL 
1. Membuka koneksi ke server MySQL 
mysql_connect() 
Digunakan untuk melakukan uji dan koneksi kepada server database MySQL. 
Sintaks : 
 $conn = mysql_connect (”host”,”username”,”password”); 
$conn adalah nama variabel penampung status hasil koneksi kepada database. 
host adalah nama host atau alamat server database MySQL. 
username adalah nama user yang telah diberi hak untuk dapat mengakses server 
database. 
password adalah kata sandi untuk username untuk dapat masuk ke dalam database. 
2. Memilih database yang akan digunakan di server 
mysql_select_db() 
Digunakan untuk melakukan koneksi kepada database yang dalam server yang berhasil 
dikoneksi dengan perintah mysql_connect(). 
Sintaks : 
 $pilih = mysql_select_db(”namadatabase”,$conn); 
$pilih berisi status koneksi kepada database. 
$conn merupakan koneksi kepada server database yang berhasil. 
namadatabase adalah nama database yang akan dikenai proses. 
3. Mengambil sebuah query dari sebuah database. 
mysql_query() 
Digunakan untuk melakukan eksekusi perintah SQL untuk memanipulasi database yang 
berhasil dilakukan koneksinya menggunakan mysql_select_db(). 
Sintaks : 
$hasil = mysql_query(”SQL Statement”); 
$hasil akan berupa record set apabila SQL Statement berupa perintah select. 
4. Mengambil record dari tabel 
a. mysql_fetch_array() 
Digunakan untuk melakukan pemrosesan hasil query yang dilakukan dengan perintah 
mysql_query(), dan memasukkannya ke dalam array asosiatif, array numeris atau 
keduanya. 
Sintaks : 
$row = mysql_fetch_array($hasil); 
$row adalah array satu record dari record $hasil yang diproses nomor record 
sesuai dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan. 
$hasil adalah record set yang akan diproses. 
b. mysql_fetch_assoc() 
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang 
dihasilkan hanya array asosiatif. 
Sintaks : 
 $row = mysql_fetch_assoc($hasil); 
c. mysql_fetch_row() 
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang 
dihasilkan hanya array numeris. 
Sintaks : 
$row = mysql_fetch_row($hasil); 
d. mysql_num_rows() 
Fungsi ini digunakan untuk menghitung jumlah record yang ada pada database. 
Sintaks : 
 $jml = mysql_num_rows($hasil); 
$jml akan memiliki nilai sesuai dengan jumlah record yang ada. 
 
Caranya!
a.Pertama kita buat dulu 3 buah file, namanya bebas asal berekstensi *.PHP. Kenapa di butuhkan 3 buah file? Sebenarnya di bikin 1 file saja juga cukup, tapi di jamin bakal ngejelimet, oleh karena itu lebih baik di pisah-pisah agar mudah dalam pengembangannya. Dalam tutorial ini penulis membuat file-file yang antara lain :
  1. satu.php, file ini akan berisi kode yang nantinya berfungsi untuk menampilkan form input-nya.
  2. dua.php,  file ini yang berfungsi sebagai konfigurasi PHP-nya agar data yang di proses di file tiga.php di bawah dapat tersimpan ke dalam database, jadi database-nya nanti akan kita buat di langkah 2 di bawah.
  3. tiga.php, file ini yang akan memproses data yang di input melalui form input di file satu.php.

Pastikan untuk Virtual Server pada PC kalian sudah di jalankan terlebih dahulu. Apa itu Virtual Server dan fungsinya silahkan kalian merujuk ke link berikut.

Jika sudah, masuk ke dalam folder /htdocs dari Virtual Server XAMPP kalian, buat folder baru di folder tersebut dengan nama ‘/form_input‘, lalu masukan ke tiga file tadi ke dalam folder /form_input.

 

Langkah 1. (Form Input)

satu.php

1. Buka file satu.php, masukan tag HTML standar seperti <title>, <head>, <body>, dll. lalu di bagian tag <body> buat form untuk input datanya, berikut skripnya :

  1. <body>
  2. <form method="post" action="tiga.php">
  3. Nama : <input type="text" name="nama" /><br />
  4. Alamat : <input type="text" name="alamat" /><br />
  5. Telpon : <input type="text" name="telp" /><br />
  6. <input type="submit" value="Submit" />
  7. </form>
  8. </body>

Penjelasan

method, pada bagian ‘method‘ yang di huruf tebal di atas boleh kalian isi ‘post‘ atau ‘get‘, perbedaan POST dan GET ini kurang lebih penjelasannya sebagai berikut.

Kalau kalian perhatikan pada form di atas terdapat 3 value, yaitu name=”namaname=”alamat dan name=”telp, data input dari ketiga value ini yang akan di proses di file dua.php nanti, kalau kalian menggunakan GET, setelah di submit maka nilai dari value yang kalian masukan akan tampil di URL browser kalian.

http://localhost/satu.php?name=otong&alamat=bekasi&telp=082373843

Sedangkan kalau kalian menggunakan POST pada method-nya, maka nilai dari value yang kalian masukan tidak akan di tampilkan.

http://localhost/satu.php

Sedangkan dari sisi sekuritinya otomatis GET sedikit kurang jika di bandingkan dengan POST, namun bukan berarti GET lebih buruk, ada beberapa fitur GET yang lebih baik daripada POST. Mengenai keunggulan-keunggulannya kalian bisa coba browsing sendiri di Om’ Google.

actionaction pada form di atas bisa di istilahkan sebagai navigator, pada saat tombol Submit di klik nanti si tombol ini akan ‘nanya‘ ke action, data-data yang sudah kalian input ini mau di proses dimana, lalu si action bilang, ‘di dua.php aja…‘, oleh karena itu untuk action kita isi nama file dua.php agar data input-nya bisa di proses di file tersebut.

typetype atau tipe input dalam istilah yang lebih mudahnya yaitu jenis kolom, kalau kolomnya untuk input nama berarti tipe input-nya ‘text‘, kalau buat email berarti tipe inputnya ‘email‘, kalau buat nomor berarti tipe input-nya ‘number‘, begitu seterusnya, attributnya sendiri bermacam-macam, jelasnya kalian bisa lihat di link berikut.

HTML Attribute

namename akan berfungsi sebagai nama dari kolom input itu sendiri, name perlu di isi karena nanti berfungsi sebagai ‘inisial‘ di dalam file proses php (tiga.php).

Jika sudah selesai sekarang tinggal buka browser kalian lalu akses ‘http://localhost/form_input/satu.php‘, kurang lebih tampilan form-nya akan seperti ini :

 

Langkah 2. (Koneksi Database)

Setelah layout atau tampilan form input sudah selesai kalian buat, selanjutnya kita akan membuat koneksi PHP ke database, oleh karena itu silahkan terlebih dahulu buat database melalui phpMyAdmin dengan mengakses ‘http://localhost/phpmyadmin‘.

Setelah itu silahkan kalian buat database-nya, misal dengan nama ‘input_tabel‘. Lalu berdasarkan input value yang sudah kalian buat di atas, maka untuk query-nya bisa berupa nmaddr dan tlp atau yang lainnya. Jangan lupa untuk menambahkan query ID dan set Auto Increment untuk query ID.

Query nmaddr dan tlp akan menyimpan value atau nilai yang kita masukan melalui form input setelah tombol Submit di klik.

dua.php

Pada file dua.php silahkan kalian masukan skrip berikut :

  1. <?php
  2. $host ="localhost"; //host server
  3. $user ="root"; //user login phpMyAdmin
  4. $pass ="root"; //pass login phpMyAdmin
  5. $db ="input_form"; //nama database
  6. $conn = mysqli_connect($host, $user, $pass, $db) or die ("Koneksi gagal");
  7. ?>

Skrip di atas merupakan skrip untuk koneksi ke database-nya, sebenarnya ada banyak skrip yang bisa kita gunakan untuk mengkoneksikan PHP ke database, salah satunya skrip di atas.

mysqli_connect();, berfungsi untuk memberikan akses ke dalam database dengan memberikan autentikasi yang berupa nama hostuserpass dan nama_database($db) sebagai data login-nya.

or die;, akan menampilkan pesan error jika terjadi kesalahan pada saat proses autentikasi.

Setelah selesai jangan lupa untuk menyimpan perubahan yang sudah kalian lakukan.

 

Langkah 3. (Process Input)

tiga.php

Setelah database, tabel, query serta skrip koneksi database-nya sudah kalian buat, selanjutnya tinggal membuat skrip yang berfungsi untuk memproses hasil input yang kalian masukan di form input agar data-data input-nya dapat tersimpan ke dalam database. silahkan masukan skrip berikut di folder tiga.php.

  1. <?php
  2. include "dua.php";
  3. $name = $_REQUEST['nama'];
  4. $alm = $_REQUEST['alamat'];
  5. $telp = $_REQUEST['telp'];
  6. $mysqli = "INSERT INTO input_tabel (nm, addr, tlp) VALUES ('$name', '$alm', '$telp')";
  7. $result = mysqli_query($conn, $mysqli);
  8. if ($result) {
  9. echo "Input berhasil";
  10. } else {
  11. echo "Input gagal";
  12. }
  13. mysqli_close($conn);
  14. ?>

include ‘dua.php’;, sintak ini akan memanggil perintah yang ada di dalam file dua.php di mana di dalamnya berupa skrip untuk koneksi ke database, jika data akses ke database ada yang tidak sesuai maka akan menampilkan pesan error.

$name, $addr, $telp, berfungsi sebagai ‘inisial‘ yang akan menyimpan nilai/value yang nantinya akan di masukan ke dalam database, dalam praktik ini, string tersebut tidak harus berupa $name, $addr atau $telp, bisa berupa $tes1, $tes2, $tes3, dsb.

$_REQUEST[], merupakan array assosiatif yang berisi nilai/value dari fungsi $_GET, $_POST atau $_COOKIE yang ada pada file satu.php$_REQUEST dapat mengambil data dari $_POST atau $_GET. Contoh skrip di atas, $_REQUEST mengambil nilai dari nama, alamat dan telp pada file satu.php.

Pada skrip di atas tidak harus selalu menggunakan $_REQUEST, namun $_POST atau $_GET juga bisa. Kalau menurut teman yang jago koding, penggunaan $_GET atau $_COOKIE sudah jarang, $_POST masih ada beberapa yang menggunakan namun di sarankan menggunakan $_REQUEST di karenakan masalah keamanan.

  1. ('INSERT INTO NAMA_TABEL (query1, query2, query3, dsb.) VALUE ('$string1', '$string2', '$string3, $dsb.')');

INSERT INTO, merupakan perintah yang berfungsi untuk memasukan nilai ke dalam NAMA_TABEL dimana di dalamnya terdapat query1, query2, query3, dsb., sedangkan yang di inputkan merupakan VALUE dari ‘$string1‘, ‘$string2‘, ‘$string3‘, dsb.

ECHO, perintah PHP yang akan menampilkan deskripsi yang kita masukan. Pada skrip di atas, perintah ECHO akan menampilkan ‘Input berhasil‘ jika nilai berhasil di input.

Sampai sini kita sudah dapat meng-input data berupa Nama, Alamat dan No Telp ke dalam database, kekurangan dari skrip di atas ialah belum ada kondisi (IF), jadi akan tetap terinput ke dalam database meskipun nilainya kosong, dengan kata lain data akan tetap tersimpan ke dalam database meskipun kita tidak memasukan Nama, Alamat atau Telp pada form yang tersedia.

Pada tutorial berikutnya, kita akan coba memodifikasi skrip di atas (tiga.php) dengan menggunakan kondisi (IF). Yang di dapat jika menggunakan kondisi (IF) ini ialah nilai tidak boleh NULL, jadi tiap form harus di isi agar data dapat ter-input ke database.

* Untuk penamaan database dan tabel di usahakan jangan ada spasi atau simbol ‘ – ‘, sebagai gantinya kalian bisa menggunakan simbol ‘ _ ‘ (underscored) sebagai pemisah dan usahakan pula baik nama database dan tabel menggunakan huruf kecil.