Berikut adalah contoh sederhana sourcode aplikasi social media berbasis web menggunakan bahasa PHP dan MySQL:


1. Buatlah database baru dengan nama "social_media" di MySQL.


2. Buatlah tabel "users" dengan kolom-kolom berikut: id (int, primary key, auto increment), username (varchar), password (varchar), dan email (varchar).


3. Buatlah tabel "posts" dengan kolom-kolom berikut: id (int, primary key, auto increment), user_id (int), content (text), dan created_at (datetime).


4. Buatlah file "config.php" untuk mengatur koneksi ke database:


```php

<?php

$host = 'localhost';

$username = 'username_mysql';

$password = 'password_mysql';

$database = 'social_media';


$conn = mysqli_connect($host, $username, $password, $database);


if (!$conn) {

    die("Koneksi database gagal: " . mysqli_connect_error());

}

?>

```


5. Buatlah file "index.php" sebagai halaman utama aplikasi:


```php

<?php

session_start();


require 'config.php';


// Fungsi untuk melakukan query ke database

function query($sql)

{

    global $conn;

    $result = mysqli_query($conn, $sql);

    $rows = [];

    while ($row = mysqli_fetch_assoc($result)) {

        $rows[] = $row;

    }

    return $rows;

}


// Fungsi untuk menambahkan post

function addPost($user_id, $content)

{

    global $conn;

    $sql = "INSERT INTO posts (user_id, content, created_at) VALUES ('$user_id', '$content', NOW())";

    mysqli_query($conn, $sql);

}


// Fungsi untuk mendapatkan semua post

function getPosts()

{

    $sql = "SELECT * FROM posts ORDER BY created_at DESC";

    return query($sql);

}


// Fungsi untuk mendapatkan username berdasarkan user_id

function getUsername($user_id)

{

    $sql = "SELECT username FROM users WHERE id = '$user_id'";

    $result = query($sql);

    if (count($result) > 0) {

        return $result[0]['username'];

    } else {

        return 'Unknown';

    }

}


// Login

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

    $username = $_POST['username'];

    $password = $_POST['password'];


    $sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";

    $result = query($sql);


    if (count($result) > 0) {

        $_SESSION['user_id'] = $result[0]['id'];

        header('Location: home.php');

        exit();

    } else {

        $loginError = 'Username atau password salah.';

    }

}

?>


<!DOCTYPE html>

<html>

<head>

    <title>Social Media App</title>

</head>

<body>

    <h1>Social Media App</h1>


    <?php if (isset($loginError)): ?>

        <p><?php echo $loginError; ?></p>

    <?php endif; ?>


    <h2>Login</h2>

    <form action="" method="post">

        <input type="text" name="username" placeholder="Username" required><br>

        <input type="password" name="password" placeholder="Password" required><br>

        <button type="submit" name="login">Login</button>

    </form>

</body>

</html>

```


6. Buatlah file "home.php" sebagai halaman


 setelah login:


```php

<?php

session_start();


require 'config.php';


// Cek apakah user sudah login

if (!isset($_SESSION['user_id'])) {

    header('Location: index.php');

    exit();

}


// Ambil user_id dari session

$user_id = $_SESSION['user_id'];


// Fungsi untuk mendapatkan informasi user

function getUserInfo($user_id)

{

    $sql = "SELECT * FROM users WHERE id = '$user_id'";

    $result = query($sql);

    if (count($result) > 0) {

        return $result[0];

    } else {

        return null;

    }

}


// Fungsi untuk logout

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

    session_destroy();

    header('Location: index.php');

    exit();

}


// Fungsi untuk menambahkan post

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

    $content = $_POST['content'];

    addPost($user_id, $content);

    header('Location: home.php');

    exit();

}


// Mendapatkan informasi user

$userInfo = getUserInfo($user_id);


// Mendapatkan semua post

$posts = getPosts();

?>


<!DOCTYPE html>

<html>

<head>

    <title>Social Media App - Home</title>

</head>

<body>

    <h1>Welcome, <?php echo $userInfo['username']; ?>!</h1>


    <h2>Add Post</h2>

    <form action="" method="post">

        <textarea name="content" placeholder="Write something..." required></textarea><br>

        <button type="submit" name="add_post">Add Post</button>

    </form>


    <h2>Posts</h2>

    <?php foreach ($posts as $post): ?>

        <div>

            <strong><?php echo getUsername($post['user_id']); ?>:</strong>

            <p><?php echo $post['content']; ?></p>

            <p><?php echo $post['created_at']; ?></p>

        </div>

    <?php endforeach; ?>


    <h2>Logout</h2>

    <form action="" method="post">

        <button type="submit" name="logout">Logout</button>

    </form>

</body>

</html>

```


Dengan menggunakan contoh di atas, Anda dapat membuat aplikasi social media sederhana berbasis web menggunakan bahasa PHP dan MySQL. Namun, perlu diingat bahwa ini hanya contoh dasar dan belum melibatkan fitur-fitur keamanan yang lengkap. Penting untuk melakukan validasi input dan mempertimbangkan aspek keamanan saat mengembangkan aplikasi web yang sebenarnya.