Selasa, 31 Oktober 2023

AKSI NYATA PEMAHAMAN MERDEKA BELAJAR



    




AKSI NYATA KURIKULUM MERDEKA

 







Silahkan beri komentar dibawah ini dengan mencantumkan Nama, Terima kasih.

Kamis, 22 April 2021

CRUD PHP

 File koneksi.php:

<?php

$server = "localhost";
$user = "root";
$password = "";
$nama_database = "secika";

$db = mysqli_connect($server, $user, $password, $nama_database);


?>

File FormSiswa.html:

<!DOCTYPE html>
<html>
<head>
    <title>Formulir Pendaftaran Siswa Baru | SMK SECIKA</title>
</head>

<body>
    <header>
        <h3>Formulir Pendaftaran Siswa Baru</h3>
    </header>

    <form action="prosestambah.php" method="POST">

        <fieldset>

        <p>
            <label for="nama">Nama: </label>
            <input type="text" name="nama" placeholder="nama lengkap" />
        </p>
        <p>
            <label for="alamat">Alamat: </label>
            <textarea name="alamat"></textarea>
        </p>
        <p>
            <label for="jenis_kelamin">Jenis Kelamin: </label>
            <label><input type="radio" name="jenis_kelamin" value="laki-laki"> Laki-laki</label>
            <label><input type="radio" name="jenis_kelamin" value="perempuan"> Perempuan</label>
        </p>
        <p>
            <label for="agama">Agama: </label>
            <select name="agama">
                <option>Islam</option>
                <option>Kristen</option>
                <option>Katolik</option>
                <option>Hindu</option>
                <option>Budha</option>
                <option>Konghuchu</option>
            </select>
        </p>
        <p>
            <label for="sekolah_asal">Sekolah Asal: </label>
            <input type="text" name="sekolah_asal" placeholder="nama sekolah" />
        </p>
        <p>
            <input type="submit" value="Daftar" name="daftar" />
        </p>

        </fieldset>

    </form>

    </body>
</html>

File Prosestambah.php:

<?php

include("koneksi.php");

if(isset($_POST['daftar']))
{

    // ambil data dari formulir
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jenis_kelamin'];
    $agama = $_POST['agama'];
    $sekolah = $_POST['sekolah_asal'];
    // buat query
    $sql = "INSERT INTO siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal)
    VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')";
    $query = mysqli_query($db, $sql);
    // apakah query simpan berhasil?
    if( $query ) {
        // kalau berhasil alihkan ke halaman index.php dengan status=sukses
        header('Location: tampil2.php?status=sukses');
    } else {
        // kalau gagal alihkan ke halaman indek.php dengan status=gagal
        header('Location: tampil2.php?status=gagal');
    }

} 


else {
    die("Akses dilarang...");
}

?>

File Tampil.php

<?php 
include("koneksi.php"); 
?>

<!DOCTYPE html>
<html>
<head>
    <title>Pendaftaran Siswa Baru | SMK Coding</title>
</head>

<body>
    <header>
        <h3>Siswa yang sudah mendaftar</h3>
    </header>

    <nav>
        <a href="formsiswa.html">[+] Tambah Baru</a>
    </nav>

    <br>

    <table border="1">
    <thead>
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Alamat</th>
            <th>Jenis Kelamin</th>
            <th>Agama</th>
            <th>Sekolah Asal</th>
            <th colspan=2>Tindakan</th>
        </tr>
    </thead>
    <tbody>


        <?php
        $no=1;
        $sql = "SELECT * FROM siswa";
        $query = mysqli_query($db, $sql);

        while($siswa = mysqli_fetch_array($query)){
            echo "<tr>";

            echo "<td>".$no++."</td>";
            echo "<td>".$siswa['nama']."</td>";
            echo "<td>".$siswa['alamat']."</td>";
            echo "<td>".$siswa['jenis_kelamin']."</td>";
            echo "<td>".$siswa['agama']."</td>";
            echo "<td>".$siswa['sekolah_asal']."</td>";


            echo "<td><a href='edit.php?id=".$siswa['id']."'>Ubah</a></TD>";
            echo "<td><a href='Hapus.php?id=".$siswa['id']."'>Hapus</a></TD>";
      

            echo "</tr>";
        }
        ?>

    </tbody>
    </table>

    <p>Total: <?php echo mysqli_num_rows($query) ?></p>

    </body>
</html>

File Hapus.php:

<?php

include("koneksi.php");

if( isset($_GET['id']) ){

    // ambil id dari query string
    $id = $_GET['id'];

    // buat query hapus
    $sql = "DELETE FROM siswa WHERE id=$id";
    $query = mysqli_query($db, $sql);

    // apakah query hapus berhasil?
    if( $query ){
        header('Location: tampil2.php');
    } else {
        die("gagal menghapus...");
    }

} else {
    die("akses dilarang...");
}

?>

File Edit.php:

<?php

include("koneksi.php");

// kalau tidak ada id di query string
if( !isset($_GET['id']) ){
    header('Location: tampil2.php');
}

//ambil id dari query string
$id = $_GET['id'];

// buat query untuk ambil data dari database
$sql = "SELECT * FROM siswa WHERE id=$id";
$query = mysqli_query($db, $sql);
$siswa = mysqli_fetch_assoc($query);

// jika data yang di-edit tidak ditemukan
if( mysqli_num_rows($query) < 1 ){
    die("data tidak ditemukan...");
}

?>


<!DOCTYPE html>
<html>
<head>
    <title>Formulir Edit Pendaftaran Siswa Baru | SMK SECIKA</title>
</head>

<body>
    <header>
        <h3>Formulir Edit Siswa</h3>
    </header>
    <form action="prosesedit.php" method="POST">
        <fieldset>
            <input type="hidden" name="id" value="<?php echo $siswa['id'] ?>" />
        <p>
            <label for="nama">Nama: </label>
            <input type="text" name="nama" placeholder="nama lengkap" value="<?php echo $siswa['nama'] ?>" />
        </p>
        <p>
            <label for="alamat">Alamat: </label>
            <textarea name="alamat"><?php echo $siswa['alamat'] ?></textarea>
        </p>
        <p>
            <label for="jenis_kelamin">Jenis Kelamin: </label>
            <?php $jk = $siswa['jenis_kelamin']; ?>
            <label><input type="radio" name="jenis_kelamin" value="laki-laki" <?php echo ($jk == 'laki-laki') ? "checked": "" ?>> Laki-laki</label>
            <label><input type="radio" name="jenis_kelamin" value="perempuan" <?php echo ($jk == 'perempuan') ? "checked": "" ?>> Perempuan</label>
        </p>
        <p>
            <label for="agama">Agama: </label>
            <?php $agama = $siswa['agama']; ?>
            <select name="agama">
                <option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
                <option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
                <option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
                <option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
                <option <?php echo ($agama == 'Atheis') ? "selected": "" ?>>Atheis</option>
            </select>
        </p>
        <p>
            <label for="sekolah_asal">Sekolah Asal: </label>
            <input type="text" name="sekolah_asal" placeholder="nama sekolah" value="<?php echo $siswa['sekolah_asal'] ?>" />
        </p>
        <p>
            <input type="submit" value="Simpan" name="simpan" />
        </p>

        </fieldset>


    </form>

    </body>
</html>

File Prosesedit.php:

<?php
include("koneksi.php");
// cek apakah tombol simpan sudah diklik atau blum?
if(isset($_POST['simpan'])){
    // ambil data dari formulir
    $id = $_POST['id'];
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jenis_kelamin'];
    $agama = $_POST['agama'];
    $sekolah = $_POST['sekolah_asal'];
    // buat query update
    $sql = "UPDATE siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk', 
    agama='$agama', sekolah_asal='$sekolah' WHERE id=$id";
    $query = mysqli_query($db, $sql);
    // apakah query update berhasil?
    if( $query ) {
        // kalau berhasil alihkan ke halaman list-siswa.php
        header('Location: tampil2.php');
    } else {
        // kalau gagal tampilkan pesan
        die("Gagal menyimpan perubahan...");
    }
} else {
    die("Akses dilarang...");
}

?>


Rabu, 18 November 2020

INSTALASI JARINGAN KOMPUTER BAGIAN 2

Instalasi Jaringan Komputer

Di dalam jaringan LAN sudah pasti alat utama yang diperlukan adalah komputer/laptop. Disini kita memakai dua buah komputer/laptop. Adapun langkah-langkah dalam mempersiapkan komputer adalah :

1)Persiapan

a)Siapkan komputer lengkap seperti CPU, monitor, keyboard dan mouse

b)Siapkan kabel-kabel seperti 2 kabel power dan VGA

2)Pemasangan

a)Pemasangan kabel power

b)Pemasangan kabel monitor

c)Pemasangan keyboard USB

d)Pemasangan mouse USB

Alat kedua di salam jaringan LAN yang diperlukan adalah Enthernet Card/NIC(1 buah untuk komputer yang pertama dan 1 buah  untuk komputer lainnya). Adapun langkah-langkah dalam pemasangan Ethernet Card/NIC adalah :

1)Cari slot ekspansi yang mendukung kartu anda

2)Sejajarkan kartu dengan slot dan tekan kartu sampai benar-benar termuat semua pada slot

3)Kencangkan braket logam pada kartu ke dalam panel rangka belakang casing dengan sebuah baut.

4)Setelah selesai memasang kartu ekspansi pasang kembali penutup casing.

Alat ketiga dalam jaringan LAN yang diperlukan adalah switch/Hub. Adapun langkah-langkah dalam pemasangan Switch/Hub adalah :

1)Pasang kabel power

2)Setelah terhubung maka lampu indikator switch akan menyala dan swicth sudah bisa digunakan.

Alat Keempat di dalam jaringan LAN yang diperlukan adalah dua buah kabel UTP tipe stright. Kabel pertama dihubungkan pada komputer 1 dan kabel kedua dihubungkan ke komputer lainnya. Sebelum kabel dipasang pada komputer kita perlu membuat kabel tersebut dengan tipe penyambungan stright.

Konfigurasi Jaringan Komputer

Setelah kita melakukan instalasi/memasang. Selanjutnya kita lakukan konfigurasi pada jaringan(untuk menghubungkan jaringan LAN)

Langkah-langkah mengatur Name dan Workgroup adalah :

1)Klik kanan pada my computer-klik kiri pada properties

2)Klik change settings

3)Klik menu change, kemudian pilih workgroup lalu masukan nama workgroup yang anda inginkan, kemudian klik OK.

Langkah-langkah mengatur IP Adress

1)Klik Start->Control Panel->Network And Internet Connection->pilih change adapter setting(pada menu sebelah kiri). Kemudiaan pilih NIC yang sedang aktif(Local Area Network), klik kanan dan pilih properties.

3)Pilih use The Following IP Address

4)Pada Tab General isikan IP Adress yang diinginkan(pada kasus isikan dengan IP Address yaitu 192.168.1.2 dan komputer lainnya yaitu 192.168.1.3

5)Lalu klik tombol OK setelah selesai membuat pengaturan tersebut.

Testing Jaringan Komputer

Setelah dilakukan instalasi dan konfigurasi jaringan LAN kemudian langkah selanjutnya adalah dengan mencoba atau testing jaringan tersebut. Langkah-langkahnya:

a)Klik Start->klik search kemudian ketik cmd untuk masuk ke dalam command prompt dari windows tersebut.

b)Pada jendela command prompt atau cmd ketikan ipconfig untuk mengetahui IP Address dari komputer

c)Kemudian ketikan ping lalu IP Address komputer sendiri untuk mengetahui apakah jaringan yang ada pada komputer sendiri itu baik atau tidak. Bila reply maka jaringan yang ada pada komputer sendiri sudah bisa digunakan untuk menghubungkan pada komputer lainnya.

d)Apabila DHU maka harus melakukan konfigurasi IP Address ulang

e)Kemudian lakukan testing jaringan pada komputer yang lainnya dengan cara ketik ping spasi lalu ketik ip address komputer lainnya kemudian klik enter. Jika reply maka jaringan LAN sukses dihubungkan, Tapi apabila RTO(Request Time Out) maka jaringan LAN gagal dihubungkan dan perlu dikonfigurasi ulang atau cek alat-alat jaringannya.

Pengalamatan IPv4 dan IPv6

Pada pembahasan ini bagaimana cara melakukan pengalamatan IP pada jaringan komputer yang tepat?IP(Internet Protokol) Address adalah alamat logika yang diberikan kepada perangkat jaringan yang menggunakan protokol TCIP/IP, dimana digunakan untuk meneruskan paket informasi dalam jaringan LAN, MAN, WAN, dan internet.

Atau lebih singkatnya alamat unik dari suatu perangkat jaringan yang terdapat di dalam jaringan. Saat ini ada 2 versi IP Address yaitu:

a)IP Versi 4

Dalam penglamatan IPv4 sangat didasari oleh karakteristik berikut:

- Network ID

- Host ID

- Subnet Mask

- Broadcast

b)IP Versi 6

Dapat diklasifikasikan menjadi 3 jenis yaitu:

a)Alamat Unicast

b)Alamat Multicast

c)Alamat Anycast

Subneting Classfull

Subnetting adalah upaya/proses untuk memecah sebuah network dengan jumlah host yang cukup banyak, menjadi beberapa network dengan jumlah yang lebih sedikit.

Subnetting berguna untuk:

a)menentukan batas network ID dalam suatu subnet

b)memperbanyak jumlah network

c)mengurangi jumlah host dalam satu network

d)mengurangi tingkat kongesti lalulintas data dalam suatu network

e)efisiensi penggunaan IP Address

Pada dasarnya subnetting adalah mengambil bit-bit dari bagian host sebuah alamat IP dan mereserve atau menyimpannya untuk mendefinisikan alamat subnet. Jadi semakin banyak jumlah subnet, semakin sedikit jumlh bit yang tersedia untuk mendefinisikan host bit.

Berikut istilah umum dalam pengalamat IP yaitu:

a)Host IP Address

b)Network Mask

c)Network Address

d)Network Broadcast Address

e)Total Number of Host Bits

f)Number of Hosts

IP Classless adalah IP yang tidak mempunyai kelas, perbedaan mendasar antara IP Classless dan IP Classfull adalah penggunaan tada prefik atau slash dibelakang IP Address yang bersangkutan.

Ada cara pengalokasian IP yaitu: 

a)CIDR

b)VLSM

Network Address Translation(NAT)

Suatu metode untuk menghubungkan lebih dari satu PC pada jaringan lokal ke jaringan internet dengan menggunakan satu alamat IP Public. Alasan menggunakan NAT pada jaringan:

a) menghematIP legal yang diberikan oleh ISP

b) mengurangi terjadinya duplikasi IP Address pada jaringan

c) menghindari proses pengalamatan kembali pada saat jaringan berubah

d) meningkatkan fleksibilitas untuk koneksi ke internet.

NAT adalah suatu metode pokok yang memungkinkan komputer yang mempunyai address yang tidak terdaftar atau komputer atau komputer yang menggunakan address private, untuk bisa mengakses internet. IP Address private tidak bisa di route ke internet.

Terminal NAT jaringan internal  adalah kumpulan jaringan yang menjadi

Port Address Translation(PAT)

Merupaan metode untuk menghubungkan beberapa port yang diakses pada jaringan lokal ke jaringan internet menggunakan satu alamat IP public sesuai dengan port yang di akses. Atau diartikan adalah suatu fitur dari jaringan perangkat yang menerjemahkan TCP atau UDP, komunikasi yang dilakukan antara host pada jaringan. Memodifikasi IP paket secara transparan seperti saat melewatinya. Modifikasi yang membuat semua paket yang mengirim ke jaringan publik dari beberapa host di jaringan pribadi tampaknya berasal dari satu host pada jaringan publik.

Hubungan antara NAT dan PAT, PAT adalah bagian dari NAT dan terkait erat dengan konsep Network Address Translation. PAT juga dikenal sebagai NAT Overload. Dalam PAT pada umumnya hanya satu alamat IP Publik terbuka dan beberapa host private menghubungkan melalui alamat yang tertera. Masuknya paket dari jaringan publik diarahkan pada jaringan privat dengan mengacu pada tabel dalam perangkat PAT yang melacak port pairs publik dan privat.

Dalam PAT baik pengirim pribadi IP dan nomor port diubah, perangkat PAT memilih nomor port yang akan dilihat oleh host pada jaringan publik. 






Selasa, 17 November 2020

POLIMORFISME DALAM PBO

Dari segi bahasa,  Polimorfisme  (bahasa inggris:  Polymorphism ) berasal dari dua kata bahasa latin yakni  poly  dan  morph . Poli  berarti banyak, dan  morf  berarti bentuk. Polimorfisme  berarti banyak bentuk ( wikipedia ).

Polymorphism adalah gambaran pola dalam object-oriented programming di mana banyak class memiliki fungsi yang berbeda ketika menggunakan interface dan atau abstract class yang sama.

Masih bingung? ketika banyak class menggunakan interface dan atau abstract class yang sama tapi memiliki fungsi yang berbeda-beda itulah polymorphism.

Polymorphism jika diartikan secara bahasa maka poly berarti banyak dan morph berarti bentuk, jadi polymorphism berarti banyak bentuk.

Dalam polymorphism kita bisa menggunakan abstract class saja atau interface saja atau menggunakan keduanya.

Berikut ini contoh polymorphism pada Interface :

 <?php    
Interface Hewan {
public function Makan();
public function Bergerak();
public function Beranak();
}

class Burung Implements Hewan {
public function Makan() {
return "Burung makan biji-bijian<br/>";
}

public function Bergerak() {
return "Burung bergerak dengan berjalan, terbang dan melompat<br/>";
}

public function Beranak() {
return "Burung beranak dengan bertelur<br/>";
}
}

class Kambing Implements Hewan {
public function Makan() {
return "Kambing makan rumput<br/>";
}

public function Bergerak() {
return "Kambing bergerak dengan berjalan dan berlari<br/>";
}

public function Beranak() {
return "Kambing beranak dengan melahirkan<br/>";
}
}

$burung = new Burung;
$kambing = new Kambing;

echo "<b>Perilaku Burung : </b><br/>";
echo $burung->Makan();
echo $burung->Bergerak();
echo $burung->Beranak();

echo "<br/>";
echo "<b>Perilaku Kambing : </b><br/>";
echo $kambing->Makan();
echo $kambing->Bergerak();
echo $kambing->Beranak();
?>

Jika program diatas dijalankan akan tampil :

Perilaku Burung : 
Burung makan biji-bijian
Burung bergerak dengan berjalan, terbang dan melompat
Burung beranak dengan bertelur

Perilaku Kambing :
Kambing makan rumput
Kambing bergerak dengan berjalan dan berlari
Kambing beranak dengan melahirkan

Dengan polymorphisn maka beberapa object yang sama dapat diimplementasikan melalui method yang baku dan terstruktur sehingga mempermudah saat proses pemrograman.

Polymorphism dengan class abstract

Selain melalui interface, konsep polymorphism juga bisa dilihat pada penerapan class abstract. Namun tentunya penerapan polymorphism disini tidak seluas dan sefleksibel ketika menggunakan Interface. Untuk lebih jelas bisa dilihat pada tulisan tentang Interface dan Class Abstrak.

Berikut ini contoh polymorphism pada Hewan tadi jika dibuat dengan class abstrak :

 <?php    
abstract class Hewan {
abstract public function Makan();
abstract public function Bergerak();
abstract public function Beranak();
}

class Burung extends Hewan {
public function Makan() {
return "Burung makan biji-bijian<br/>";
}

public function Bergerak() {
return "Burung bergerak dengan berjalan, terbang dan melompat<br/>";
}

public function Beranak() {
return "Burung beranak dengan bertelur<br/>";
}
}

class Kambing extends Hewan {
public function Makan() {
return "Kambing makan rumput<br/>";
}

public function Bergerak() {
return "Kambing bergerak dengan berjalan dan berlari<br/>";
}

public function Beranak() {
return "Kambing beranak dengan melahirkan<br/>";
}
}

$burung = new Burung;
$kambing = new Kambing;

echo "<b>Perilaku Burung : </b><br/>";
echo $burung->Makan();
echo $burung->Bergerak();
echo $burung->Beranak();

echo "<br/>";
echo "<b>Perilaku Kambing : </b><br/>";
echo $kambing->Makan();
echo $kambing->Bergerak();
echo $kambing->Beranak();
?>

Senin, 16 November 2020

Contoh Program Penggunaan Switch

Switch Case

Untuk kegunaan Switch sama saja dengan IF yaitu menghasilkan sebuah output dengan kondisi yang ditentukan. Namun, untuk Fungsi Switch jarang sekali saya gunakan untuk pembuatan sebuah program. Dimana saya sendiri cenderung menggunakan IF. Berikut pengilustrasian Switch di C#.

Untuk pengaplikasian dalam program C# dapat dicontohkan seperti ini :

Contoh Program:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace menu {

    class Program {      

        static void Main(string[] args) {

 // deklarasi

    float luaspersegipanjang,panjang,lebar;

    Double luaslingkaran,r;

    float volbalok, p, l, t;

    int pilih;

    const double phi = 3.14;


    Console.WriteLine("Menu");

    Console.WriteLine("1.Luas persegi panjang");

    Console.WriteLine("2.Luas lingkaran");

    Console.WriteLine("3.Vol balok");

    Console.WriteLine("4.Keluar");

    Console.WriteLine("================");


    Console.Write ("Masukan menu pilihan anda (1-4) :");

    pilih = Convert.ToInt16(Console.ReadLine());

    switch(pilih)

    {

    case 1 :

    Console.Write ("Masukan sisi panjang :");

    panjang = Convert.ToSingle(Console.ReadLine());

    Console.Write ("Masukan sisi lebar :");

    lebar = Convert.ToSingle(Console.ReadLine());

    luaspersegipanjang= panjang*lebar;

    Console.WriteLine("Luas persegi panjang = "+ luaspersegipanjang);

    Console.ReadKey();

    break ;


    case 2 :

    Console.Write("Masukan jari-jari lingkaran : ");

    r = Convert.ToDouble(Console.ReadLine());

    luaslingkaran= r * r * phi;

    Console.WriteLine("Luas lingkaran = " + luaslingkaran);

    Console.ReadKey();

    break;


    case 3 :

    Console.Write("Masukan sisi panjang : ");

    p = Convert.ToSingle(Console.ReadLine());

    Console.Write("Masukan lebar :");

    l = Convert.ToSingle(Console.ReadLine());

    Console.Write("Masukan tinggi :");

    t = Convert.ToSingle(Console.ReadLine());

    volbalok = p*l*t;

    Console.WriteLine("Volume balok="+volbalok);

    Console.ReadKey();

    break;


    case 4:

    Console.WriteLine("Semangat Belajar");

    Console.ReadKey();

    break;


    default:

    Console.WriteLine("Inputan anda salah silahkan ulangi !!");

    Console.ReadKey();

    //main();

    break;

            }

        }

    }

}

HASILNYA:

HASIL MENU PILIHAN 1: