• Google
  • Blogger
  • WhatsApp
  • Design Contest
  • Facebook
  • Twitter
  • Instagram
  • Linkedin
  • Line
  • Payoneer
  • Privacy
  • Saturday, 15 July 2023

    Cara menambahkan meta tags video

    Cara menambahkan meta tags video

    HTML Custom Video Player CSS JAVASCRIPT







    Tag meta atau metadata adalah cuplikan data teks dengan jenis tag HTML, dimana data konten mendeskripsikan konten halaman. metadata tidak muncul di halaman website, tetapi hanya di kode sumber halaman.








    Metadata bagian paling mendasar dari SEO, yang memastikan bahwa halaman situs Anda memiliki dasar pengoptimalan yang baik dan kokoh.


    Metadata yang ditambahkan ke header halaman website untuk mendeskripsikan halaman menggunakan sintaksis yang dipahami Google.


    Dan ketika datang ke SEO, lebih sering daripada tidak, praktik terbaik untuk meta data diabaikan sementara yang lain diprioritaskan.


    Menambahkan metadata itu mudah bagi siapa saja, baik membuat meta data judul, konten, gambar dan meta data lainnya.


    Jika halaman web sebagiannya berisi konten video, Anda dapat menambahkan metadata ke video. Tujuan penambahan metadata video agar halaman website dapat ditemukan melalui mesin pencari goole.


    Dalam postingan ini, Aha Sarang Komputer akan membahas jenis metadata, cara menambahkan metadata ke video, dan cara menggunakan metadata untuk meningkatkan lalu lintas organik ke video Anda.



    3 Jenis Utama Metadata



    Ada banyak jenis metadata teknis. Inilah tiga yang paling umum:


    • Deskriptif: Ini adalah informasi kontekstual video. Metadata mencakup judul, tag, deskripsi, dan informasi teknis seperti runtime, jenis file, ukuran, atau tanggal dibuat.


    • Administratif: Ini adalah informasi lengkap tentang siapa yang memiliki file dan siapa yang diizinkan mengakses. Ini mungkin termasuk persyaratan pengguna, informasi hak cipta, manajemen hak, perjanjian lisensi, dan data teknis lainnya.


    • Struktural: Ini mengatur metadata yang menentukan hubungan antara aset. Seperti bab-bab dari sebuah buku atau episode dalam sebuah seri, metadata struktural membuat dan mempertahankan koneksi ini (yaitu halaman-halaman situs web).


    Berikut metadata lengkap :


    
    <meta property="og:site_name" content="YouTube">
    <meta property="og:url" content="https://www.youtube.com/watch?v=Gb9E60E3duU">
    <meta property="og:title" content="#6: IBM Head of Design, Phil Gilbert, wields $100M and 1,300 designers to bring design back to IBM">
    <meta property="og:image" content="https://i.ytimg.com/vi/Gb9E60E3duU/hqdefault.jpg">
    
    <meta property="og:description" content="Phil Gilbert is the GM and Head of Design at IBM. In this episode, he discusses creating IBM&#39;s proprietary design thinking methodology, their own design scho...">
    
    <meta property="al:ios:app_store_id" content="544007664">
    <meta property="al:ios:app_name" content="YouTube">
    <meta property="al:ios:url" content="vnd.youtube://www.youtube.com/watch?v=Gb9E60E3duU&amp;feature=applinks">
    
    <meta property="al:android:url" content="vnd.youtube://www.youtube.com/watch?v=Gb9E60E3duU&amp;feature=applinks">
    <meta property="al:android:app_name" content="YouTube">
    <meta property="al:android:package" content="com.google.android.youtube">
    <meta property="al:web:url" content="https://www.youtube.com/watch?v=Gb9E60E3duU&amp;feature=applinks">
    
    <meta property="og:type" content="video">
    <meta property="og:video:url" content="https://www.youtube.com/embed/Gb9E60E3duU">
    <meta property="og:video:secure_url" content="https://www.youtube.com/embed/Gb9E60E3duU">
    <meta property="og:video:type" content="text/html">
    <meta property="og:video:width" content="1280">
    <meta property="og:video:height" content="720">
    <meta property="og:video:url" content="http://www.youtube.com/v/Gb9E60E3duU?version=3&amp;autohide=1">
    <meta property="og:video:secure_url" content="https://www.youtube.com/v/Gb9E60E3duU?version=3&amp;autohide=1">
    <meta property="og:video:type" content="application/x-shockwave-flash">
    <meta property="og:video:width" content="1280">
    <meta property="og:video:height" content="720">
    
    <meta property="og:video:tag" content="phil gilbert">
    <meta property="og:video:tag" content="ibm">
    <meta property="og:video:tag" content="design">
    <meta property="og:video:tag" content="design thinking">
    <meta property="og:video:tag" content="process">
    <meta property="og:video:tag" content="strategy">
    <meta property="og:video:tag" content="leadership">
    <meta property="og:video:tag" content="ui">
    <meta property="og:video:tag" content="ux">
    <meta property="og:video:tag" content="business">
    <meta property="og:video:tag" content="high resolution">
    <meta property="og:video:tag" content="podcast">
    <meta property="og:video:tag" content="education">
    <meta property="og:video:tag" content="startup">
    <meta property="og:video:tag" content="startups">
    <meta property="og:video:tag" content="ai">
    <meta property="og:video:tag" content="watson">
    <meta property="og:video:tag" content="vr">
    <meta property="og:video:tag" content="ar">
    <meta property="og:video:tag" content="jared erondu">
    <meta property="og:video:tag" content="bobby ghoshal">
    
    <meta property="fb:app_id" content="87741124305">
    
    <meta name="twitter:card" content="player">
    <meta name="twitter:site" content="@youtube">
    <meta name="twitter:url" content="https://www.youtube.com/watch?v=Gb9E60E3duU">
    <meta name="twitter:title" content="#6: IBM Head of Design, Phil Gilbert, wields $100M and 1,300 designers to bring design back to IBM">
    <meta name="twitter:description" content="Phil Gilbert is the GM and Head of Design at IBM. In this episode, he discusses creating IBM&#39;s proprietary design thinking methodology, their own design scho...">
    <meta name="twitter:image" content="https://i.ytimg.com/vi/Gb9E60E3duU/hqdefault.jpg">
    <meta name="twitter:app:name:iphone" content="YouTube">
    <meta name="twitter:app:id:iphone" content="544007664">
    <meta name="twitter:app:name:ipad" content="YouTube">
    <meta name="twitter:app:id:ipad" content="544007664">
    <meta name="twitter:app:url:iphone" content="vnd.youtube://www.youtube.com/watch?v=Gb9E60E3duU&amp;feature=applinks">
    <meta name="twitter:app:url:ipad" content="vnd.youtube://www.youtube.com/watch?v=Gb9E60E3duU&amp;feature=applinks">
    <meta name="twitter:app:name:googleplay" content="YouTube">
    <meta name="twitter:app:id:googleplay" content="com.google.android.youtube">
    <meta name="twitter:app:url:googleplay" content="https://www.youtube.com/watch?v=Gb9E60E3duU">
    <meta name="twitter:player" content="https://www.youtube.com/embed/Gb9E60E3duU">
    <meta name="twitter:player:width" content="1280">
    <meta name="twitter:player:height" content="720">
    
    



    Semoga bermanfaat







    Friday, 14 July 2023

    Embed codes generator

    Embed codes generator

    Rich media at its best

    1900 publishers, responsive players, images, apps, surveys, cards, GIFs, AMP, simple APIs — crafted to perfection with coffee and love.

    Need a few examples?

    Iframely knows rich media from over 1900 publishers and growing. Video, audio, apps, photo and images, slideshows, playlists, podcasts, maps, 3D, forms, documents, puzzles, quizzes, graphs and infographics. You get all the new publishers automagically.

    View more providers

    We are here to help

    Whether it’s a missing feature, your favourite embeds provider, fine-tuning, quick debug or simple advice — we try and make things happen in no time.

    Saturday, 8 July 2023

    Membangun website dengan ChatGPT

    Membangun website dengan ChatGPT

    Membangun website dengan ChatGPT







    Di era yang serba cepat saat ini, kemampuan untuk mengembangkan situs web dengan cepat dan efisien sangat penting untuk bisnis dan organisasi. Salah satunya ChatGPT yang sedang in. Sekaranv banyak alat AI seperti ChatGPT telah mendapatkan popularitas yang signifikan dalam beberapa tahun terakhir.








    Pengguna sekarang dapat memanfaatkan teknologi AI canggih ini untuk merampingkan dan mengotomatiskan berbagai tugas pengembangan web. Dalam tutorial ini, kita akan mempelajari lebih dalam tentang cara membuat situs web menggunakan ChatGPT



    Bagaimana Cara Kerja ChatGPT



    Dari sudut pandang pengguna, ChatGPT bekerja dengan sangat mudah. Anda hanya perlu memasukkan pertanyaan atau permintaan di kotak obrolan, dan alat AI akan memberikan tanggapan yang relevan.


    Namun proses di balik respons AI tingkat lanjut ini cukup rumit.


    ChatGPT menggunakan teknik pembelajaran mesin yang disebut model Natural Language Processing (NLP). Ini memungkinkan komputer untuk memahami, menafsirkan, dan menghasilkan bahasa manusia dengan menggabungkan aspek linguistik dan ilmu komputer.


    Sebetulnya penggunaan model bahasa percakapan bukan model baru. Faktanya, sebagian besar alat, seperti Google Terjemahan dan Siri, yang menawarkan fitur seperti saran kata, deteksi plagiarisme, dan pengoreksian, juga menggunakan model NLP.


    Apa yang membuat OpenAI berbeda adalah ia melatih ChatGPT menggunakan metode Reinforcement Learning from Human Feedback (RLHF). Ini melibatkan umpan balik manusia untuk mengukur dan memberi peringkat tanggapan berdasarkan kualitasnya.



    Cara Membangun Website dengan ChatGPT



    Sebagai model bahasa, ChatGPT dapat membantu berbagai tugas dalam proyek pengembangan web. Misalnya, pengembang full-stack dapat menggunakannya untuk:


    • Buat cuplikan kode dan contoh untuk membantu menerapkan fungsi atau fitur tertentu.


    • Jawab pertanyaan teknis terkait proyek pembuatan situs web, seperti menjelaskan konsep pemrograman tertentu atau praktik terbaik.


    • Dapatkan rekomendasi alat, perpustakaan, dan sumber daya untuk merampingkan proses pengembangan dan meningkatkan efisiensi.


    Selain itu, model AI ini dapat membantu pengguna menulis garis besar situs web dasar, merancang situs dan template, serta menghasilkan beberapa ide konten.


    di bawah ini kalian bisa salin, lalu bisa kalian ubah sesuai kebutuhan kalian dalam tampilan konten nantinya di halaman website Anda.



     
    <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>My Website</title>
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/css/bootstrap.min.css"
    integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
    </head>
    
    <body>
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">My Website</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
    aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="navbar-nav">
    <li class="nav-item active">
    <a class="nav-link" href="#">Home</a>
    </li>
    <li class="nav-item">
    <a class="nav-link" href="#">About</a>
    </li>
    <li class="nav-item">
    <a class="nav-link" href="#">Contact</a>
    </li>
    </ul>
    </div>
    </nav>
    <!-- Page content -->
    <div class="container mt-5">
    <h1>Welcome to My Website!</h1>
      
    <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3mq-YdGG1QI2t5Tu3zjmu9XmjXvt5QpvqNYMckIoXWvIHp0bC_EkbIFfNdqKE4T8slU3RLwbI1l1Og4krB6M0Yxg5L1gutbrM_mMw0PLngJFKqY4UdfRRd6QoNgqEEH9_TRBoCCmwpNMMATJNTjO2ufhsXkVYUQAMZ3yDESYPYiHXI49ov4moi-mz-oAb/s320/29-600x600.jpg" class="img-fluid rounded" alt="Mountain"> 
    <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare
    magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa
    sem. Etiam finibus odio quis feugiat facilisis.
    </p>
    </div>
    <form>
    <div class="form-group">
    <label for="name">Name</label>
    <input type="text" class="form-control" id="name" placeholder="Enter your name">
    </div>
    <div class="form-group">
    <label for="email">Email</label>
    <input type="email" class="form-control" id="email" placeholder="Enter your email">
    </div>
    <div class="form-group">
    <label for="message">Message</label>
    <textarea class="form-control" id="message" rows="3" placeholder="Enter your message"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
    </form>
    <!-- Bootstrap JS -->
    
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
    integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
    crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js"
    integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
    crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js"
    integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
    crossorigin="anonymous"></script>
    </body>
    
    


    Semoga bermanfaat


    Thursday, 6 July 2023

    HTML Custom Video Player CSS JAVASCRIPT

    HTML Custom Video Player CSS JAVASCRIPT

    HTML Custom Video Player CSS JAVASCRIPT







    Menonton dan berbagi konten video adalah salah satu penggunaan web yang paling umum, dan cara penyematan video di laman web telah berkembang selama bertahun-tahun. Saat ini, menambahkan file video ke halaman web dapat dilakukan dengan menggunakan elemen yang berfungsi di semua browser modern dan mendukung berbagai format video.








    Tutorial ini mengajarkan Anda cara membuat, menyesuaikan, dan memanipulasi pemutar video HTML5 menggunakan JavaScript, CSS.


    Menyematkan video dengan tampilan custom, disini kita akam memanipulasi elemen Video HTML5 dengan pemutar video khusus menggunakan JavaScript. Tujuannya adalah menjelaskan cara memanfaatkan HTML5 Media API di browser untuk membangun pengalaman yang lebih baik dari default.


    Pemutar yang akan kita buat dalam tutorial ini akan terlihat sangat mirip dengan pemutar yang ada di YouTube karena menurut saya merupakan ide yang bagus untuk mereplikasi beberapa fungsi yang sudah dikenal oleh kebanyakan orang.



    Mari kita koding:



    Langkah pertama untuk mendapatkan elemen video di halaman sebenarnya adalah merendernya menggunakan tag video yang agak baru.



    1. CSS



    Langkah awal koding Style atau CSS (Cascading Style Sheets), ini untuk menentukan tampilan dan posisi pemutar video di laman web. Saya sebenarnya akan menggunakan SCSS untuk menulis gaya saya. Anda memerlukan prekompiler untuk menulis sesuatu yang serupa.


    $accent-color: #FFEC41;
    
    body {
      align-items: center;
      background: #000046;
      background: linear-gradient(to right, #1CB5E0, #000046); 
      display: flex;
      height: 100vh;
      justify-content: center;
      margin: 0;
      padding: 0;
    }
    
    .player {
      max-width: 800px;
      border: 6px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 0 25px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.1);
      position: relative;
      overflow: hidden;
    
      &:hover {
        .progress {
          height: 10px;
        }
    
        .player-controls {
          transform: translateY(0);
        }
      }
    }
    
    .player:-webkit-full-screen,
    .player:fullscreen {
      max-width: none;
      width: 100%;
    }
    
    .play-btn {
      flex: 1;
    }
    
    .player-video {
      width: 100%;
      display: block;
    }
    
    .player-btn {
      background: none;
      border: 0;
      color: white;
      text-align: center;
      max-width: 60px;
      padding: 5px 8px;
    
      svg {
        fill: #FFFFFF;
      }
    
      &:hover,
      &:focus {
        border-color: $accent-color;
        background: rgba(255, 255, 255, .2);
      }
    }
    
    .player-slider {
      width: 10px;
      height: 30px;
    }
    
    .player-controls {
      align-items: center;
      display: flex;
      position: absolute;
      bottom: 0;
      width: 100%;
      transform: translateY(100%) translateY(-5px);
      transition: all 0.3s;
      flex-wrap: wrap;
      background: rgba(0, 0, 0, 0.3);
    }
    
    .player-controls > * {
      flex: 1;
    }
    
    .progress {
      position: relative;
      display: flex;
      flex: 10;
      flex-basis: 100%;
      height: 4px;
      transition: height 0.3s;
      background: rgba(0, 0, 0, 0.5);
    }
    
    .filled-progress {
      width: 50%;
      background: $accent-color;
      flex: 0;
      flex-basis: 50%;
    }
    
    .sliders {
      max-width: 200px;
      display: flex;
    }
    
    input[type=range] {
      -webkit-appearance: none;
      background: transparent;
      width: 100%;
      margin: 0 5px;
    }
    
    input[type=range]:focus {
      outline: none;
    }
    
    input[type=range]::-webkit-slider-runnable-track {
      width: 100%;
      height: 8px;
      cursor: pointer;
      box-shadow: 1px 1px 1px rgba(0, 0, 0, 0), 0 0 1px rgba(13, 13, 13, 0);
      background: rgba(255, 255, 255, 0.5);
      border-radius: 10px;
      border: 0.2px solid rgba(1, 1, 1, 0);
    }
    
    input[type=range]::-webkit-slider-thumb {
      height: 15px;
      width: 15px;
      border-radius: 50px;
      background: white;
      cursor: pointer;
      -webkit-appearance: none;
      margin-top: -3.5px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    }
    
    input[type=range]:focus::-webkit-slider-runnable-track {
      background: rgba(255, 255, 255, 0.8);
    }
    
    input[type=range]::-moz-range-track {
      width: 100%;
      height: 8px;
      cursor: pointer;
      box-shadow: 1px 1px 1px rgba(0, 0, 0, 0), 0 0 1px rgba(13, 13, 13, 0);
      background: #ffffff;
      border-radius: 10px;
      border: 0.2px solid rgba(1, 1, 1, 0);
    }
    
    input[type=range]::-moz-range-thumb {
      box-shadow: 0 0 3px rgba(0, 0, 0, 0), 0 0 1px rgba(13, 13, 13, 0);
      height: 15px;
      width: 15px;
      border-radius: 50px;
      background: white;
      cursor: pointer;
    }
    



    Banyak kontrol default browser untuk tombol, rentang input, dan lainnya benar-benar jelek. Kode ini menggantikannya sekaligus menetapkan lebar maksimal pada video kita agar tetap terpusat di halaman. Jangan ragu untuk menjadi gila di sini dan tulis gaya Anda sendiri.



    2. JavaScript



    JavaScript kami akan fokus pada pendekatan berorientasi objek. Ini berarti kita akan membuat banyak fungsi kecil yang kebanyakan melakukan satu hal. Gabungan ini akan membuat video menjadi komponen berfitur lengkap.


    Terpisah, ini akan memudahkan untuk memahami apa yang terjadi pada pengembang lain yang mungkin melihat kode tersebut. Sebagian besar iterasi pada video itu sendiri dipanggil oleh event listener (daftar untuk interaksi pengguna). Kami akan menulis fungsi yang melakukan banyak hal saat tindakan tertentu diambil. Logika terakhir ada di sini:


    const player = document.querySelector('.player');
    const video = player.querySelector('.player-video');
    const progress = player.querySelector('.progress');
    const progressFilled = player.querySelector('.filled-progress');
    const toggle = player.querySelector('.toggle-play');
    const skippers = player.querySelectorAll('[data-skip]');
    const ranges = player.querySelectorAll('.player-slider');
    
    // Logic
    function togglePlay() {
      const playState = video.paused ? 'play' : 'pause';
      video[playState](); // Call play or paused method 
    }
    
    function updateButton() {
      const togglePlayBtn = document.querySelector('.toggle-play');
    
      if(this.paused) {
        togglePlayBtn.innerHTML = `<svg class="" width="16" height="16" viewBox="0 0 16 16"><title>play</title><path d="M3 2l10 6-10 6z"></path></svg>`;  
      } else {
        togglePlayBtn.innerHTML = `<svg width="16" height="16" viewBox="0 0 16 16"><title>pause</title><path d="M2 2h5v12H2zm7 0h5v12H9z"></path></svg>`;
      }
    }
    
    function skip() {
      video.currentTime += parseFloat(this.dataset.skip);
    }
    
    function rangeUpdate() {
      video[this.name] = this.value;
    }
    
    function progressUpdate() {
      const percent = (video.currentTime / video.duration) * 100;
      progressFilled.style.flexBasis = `${percent}%`;
    }
    
    function scrub(e) {
      const scrubTime = (e.offsetX / progress.offsetWidth) * video.duration;
      video.currentTime = scrubTime;
    }
    
    // Event listeners
    video.addEventListener('click', togglePlay);
    video.addEventListener('play', updateButton);
    video.addEventListener('pause', updateButton);
    video.addEventListener('timeupdate', progressUpdate);
    
    toggle.addEventListener('click', togglePlay);
    skippers.forEach(button => button.addEventListener('click', skip));
    ranges.forEach(range => range.addEventListener('change', rangeUpdate));
    ranges.forEach(range => range.addEventListener('mousemove', rangeUpdate));
    
    let mousedown = false;
    progress.addEventListener('click', scrub);
    progress.addEventListener('mousemove', (e) => mousedown && scrub(e));
    progress.addEventListener('mousedown', () => mousedown = true);
    progress.addEventListener('mouseup', () => mousedown = false);
    


    3. HTML



    HTML terakhir saya terlihat seperti berikut:


    <div class="player">
      <video class="player-video" src="https://staging.coverr.co/s3/mp4/Down_by_the_River.mp4"></video>
    
      <div class="player-controls">
    
        <div class="progress">
          <div class="filled-progress"></div>
        </div>
    
            <div class="ply-btn">
            <button class="player-btn toggle-play" title="Toggle Play">
            <svg class="" width="16" height="16" viewBox="0 0 16 16"><title>play</title><path d="M3 2l10 6-10 6z"></path></svg>
            </button>
        </div>
    
        <div class="sliders">
        <input type="range" name="volume" class="player-slider" min="0" max="1" step="0.05" value="1">
    
        <input type="range" name="playbackRate" class="player-slider" min="0.5" max="2" step="0.1" value="1">
        </div>
    
        <button data-skip="-10" class="player-btn">« 10s</button>
    
        <button data-skip="10" class="player-btn">10s »</button>
    
      </div>
    </div>
    



    Seperti yang Anda lihat, jumlah pendengar acara yang kami butuhkan di sini cukup menakutkan, namun demikian, semuanya bekerja dengan cukup baik. Pastikan untuk mengikuti video untuk konteks lengkap. Versi tertulis adalah untuk tujuan konteks tetapi juga hanya untuk referensi jika Anda lebih suka mereferensikan kode secara langsung daripada codepen.



    Wednesday, 5 July 2023

    Cara Membuat Neural Networks AI Sistim Menggunakan PHP

    Cara Membuat Neural Networks AI Sistim Menggunakan PHP

    Cara Membuat Neural Networks AI Sistim Menggunakan PHP







    Jaringan syaraf tiruan (an Artificial Neural Network (ANN)) adalah algoritma yang digunakan dalam kecerdasan buatan untuk mensimulasikan pemikiran manusia. Jaringan bekerja mirip dengan otak manusia: terdiri dari neuron yang berkomunikasi satu sama lain dan memberikan keluaran yang berharga.








    Meskipun hanya sebuah model — dan bahkan tidak mendekati pemikiran manusia — jaringan syaraf tiruan telah digunakan dalam prediksi, klasifikasi, dan sistem pendukung keputusan, serta dalam pengenalan karakter optik dan banyak aplikasi lainnya.


    Jaringan saraf tiruan sebagian besar dikembangkan dalam bahasa pemrograman tingkat tinggi seperti C atau C++ atau phyton. Namun Anda juga dapat mengimplementasikan jaringan saraf dalam PHP, yang mungkin merupakan cara paling nyaman untuk menggunakan kecerdasan buatan dalam aplikasi Web.


    Pada artikel ini akan menjelaskan cara mengatur salah satu topologi jaringan saraf yang paling umum, persepsi multi-lapisan, dan membuat jaringan saraf pertama Anda di PHP menggunakan kelas jaringan saraf PHP.


    Mirip dengan proses berpikir manusia, pada sistim jaringan saraf:


    • menerima beberapa input (data Anda)

    • menganalisis dan mengolahnya

    • memberikan nilai output (yaitu hasil perhitungan)


    Maka berdasarkan mekanisme kerja jaringan maka topologi dalam contoh ini (persepsi multi-lapisan) memiliki tiga lapisan:


    • Lapisan masukan (input)

    • lapisan tersembunyi

    • lapisan keluaran (output)


    Setiap lapisan memiliki sejumlah neuron, tergantung kebutuhan Anda. Setiap neuron terhubung ke semua neuron di lapisan berikutnya. Neuron memproses tugas yang diberikan dengan menyesuaikan output (yaitu koefisien bobot di antara mereka). Tentu saja sebelum dapat diterapkan pada kasus penggunaan praktis, jaringan saraf harus mempelajari tugas tersebut. Tapi, sebelum semuanya, Anda harus menyiapkan data Anda untuk jaringan



    Input Neural Network di PHP — Mempersiapkan Data



    Karena jaringan saraf adalah model matematika yang kompleks, Anda tidak dapat mengirim sembarang tipe data ke neuron input. Data harus dinormalisasi sebelum jaringan dapat menggunakannya.


    Artinya, data harus diskalakan ke kisaran -1 hingga 1. Sayangnya, tidak ada fungsi normalisasi di PHP, jadi Anda harus melakukannya sendiri, tetapi disini akan memberikan rumusnya:


    I = Imin + (Imax-Imin)*(D-Dmin)/(Dmax-Dmin)
    


    Di mana Imin dan Imax mewakili rentang jaringan saraf (-1 hingga 1), dan Dmin dan Dmax adalah nilai minimum dan maksimum data.


    Setelah menormalkan data, Anda harus memilih jumlah input neuron. Misalnya, jika Anda memiliki warna RGB dan ingin menentukan apakah merah atau biru adalah warna dominan, Anda akan memiliki empat neuron input (tiga neuron untuk menyimpan nilai merah, hijau, dan biru, dan yang keempat adalah bias — biasanya sama dengan 1). Berikut adalah kode PHP untuk perhitungan ini:


    
    <?php
    require_once("class_neuralnetwork.php");
    $n = new NeuralNetwork(4, 4, 1);  // the number of neurons in each layer of the network -- 4 input, 4 hidden and 1 output neurons 
     $n->setVerbose(false); // do not display error messages
    //test data
    // First array is input data, and the second is the expected output value (1 means blue and 0 means red)
     $n->addTestData( array (0, 0, 255, 1), array (1));
      $n->addTestData( array (0, 0, 192, 1), array (1));
      $n->addTestData( array (208, 0, 49, 1), array (0));
      $n->addTestData( array ( 228,  105, 116, 1), array (0));
    
      $n->addTestData( array (128, 80, 255, 1), array (1));
      $n->addTestData( array ( 248,  80, 68, 1), array (0));
    ?>
    


    Hanya ada satu neuron keluaran karena Anda hanya memiliki dua kemungkinan hasil. Untuk masalah yang lebih kompleks, Anda dapat menggunakan lebih dari satu neuron sebagai output jaringan, sehingga memiliki banyak kombinasi 0 dan 1 sebagai output yang memungkinkan.



    Melatih Neural Network dalam PHP



    Sebelum dapat menyelesaikan masalah, jaringan saraf tiruan harus mempelajari cara menyelesaikannya. Pikirkan jaringan ini sebagai persamaan. Anda telah menambahkan data uji dan keluaran yang diharapkan, dan jaringan harus menyelesaikan persamaan dengan mencari hubungan antara masukan dan keluaran.


    Proses ini disebut pelatihan.


    Dalam jaringan saraf, koneksi ini adalah bobot neuron. Beberapa algoritma digunakan untuk pelatihan jaringan, tetapi backpropagation paling sering digunakan. Backpropagation sebenarnya berarti propagasi mundur dari kesalahan.


    Setelah menginisialisasi bobot acak dalam jaringan, langkah selanjutnya adalah:


    1. Ulangi data uji

    2. Hitung keluaran sebenarnya

    3. Hitung kesalahan (output yang diinginkan – output jaringan saat ini)

    4. Hitung bobot delta mundur

    5. Perbarui bobot


    Proses berlanjut hingga semua data uji telah diklasifikasikan dengan benar atau algoritme telah mencapai kriteria berhenti.


    Biasanya, programmer mencoba untuk mengajar jaringan maksimal tiga kali, sedangkan jumlah putaran pelatihan (zaman) maksimum adalah 1000. Selain itu, setiap algoritme pembelajaran memerlukan fungsi aktivasi. Untuk propagasi balik, fungsi aktivasi adalah tangen hiperbolik (tanh)


    Mari kita lihat cara melatih jaringan saraf di PHP:


    
    <?php
    $max = 3;
     // train the network in max 1000 epochs, with a max squared error of 0.01
     while (!($success=$n->train(1000, 0.01)) && $max-->0) {
    // training failed -- re-initialize the network weights
    $n->initWeights();
     }
    
    //training successful
    if ($success) {
    $epochs = $n->getEpoch(); // get the number of epochs needed for training
    }
    ?>
    


    Mean squared error (mse) adalah rata-rata kuadrat dari error, yang juga dikenal sebagai standar deviasi. Nilai default mean squared error biasanya adalah 0,01, yang berarti pelatihan berhasil jika mean squared error kurang dari 0,01.


    Sebelum melihat contoh kerja jaringan saraf tiruan di PHP, praktik yang baik adalah menyimpan jaringan saraf Anda ke file atau database SQL.


    Jika Anda tidak menyimpannya, Anda harus melakukan pelatihan setiap kali seseorang mengeksekusi aplikasi Anda. Beberapa tugas sederhana dipelajari dengan cepat, tetapi pelatihan memakan waktu lebih lama untuk masalah yang lebih kompleks, dan Anda ingin pengguna Anda menunggu sesedikit mungkin. Untungnya, ada fungsi simpan dan muat di kelas PHP dalam contoh ini:


    <?php
    $n->save('my_network.ini');
    ?>


    Perhatikan bahwa ekstensi file harus *.ini.



    Hasil Akhir Kode PHP untuk Jaringan Neural Kita



    Mari kita lihat kode PHP dari aplikasi kerja yang menerima nilai merah, hijau, dan biru dan hitung apakah warna dominan biru atau merah:


    
    <?php
    require_once("class_neuralnetwork.php");
    $r = $_POST['red'];
    $g = $_POST['green'];
    $b = $_POST['blue'];
    
    $n = new NeuralNetwork(4, 4, 1); //initialize the neural network
    $n->setVerbose(false);
    $n->load('my_network.ini'); // load the saved weights into the initialized neural network. This way you won't need to train the network each time the application has been executed
    
    $input = array(normalize($r),normalize($g),normalize($b));  //note that you will have to write a normalize function, depending on your needs
    
    $result = $n->calculate($input);
    If($result>0.5) {
    // the dominant color is blue
    }
    else {
    // the dominant color is red
    }
    ?>


    Keterbatasan Jaringan Neural



    Keterbatasan utama jaringan saraf adalah bahwa mereka hanya dapat menyelesaikan masalah yang dapat dipisahkan secara linear dan banyak masalah yang tidak dapat dipisahkan secara linear.


    Jadi, masalah yang tidak dapat dipisahkan secara linier membutuhkan algoritma kecerdasan buatan lainnya. Namun, jaringan saraf memecahkan cukup banyak masalah yang membutuhkan kecerdasan komputer untuk mendapatkan tempat penting di antara algoritma kecerdasan buatan


    Tuesday, 4 July 2023

    Aplikasi 'Threads' Meta akan menjadi pesaing twitter

    Aplikasi 'Threads' Meta akan menjadi pesaing twitter

    Aplikasi 'Threads' Meta akan menjadi pesaing twitter


    google.com, pub-0655609370809761, DIRECT, f08c47fec0942fa0






    Pemilik Facebook Meta akan meluncurkan aplikasi baru bernama Threads pada 6 Juli 2023, yang tampaknya menjadi saingan langsung Twitter.








    Threads, yang akan ditautkan ke Instagram, sudah tersedia untuk pre-order di Apple App Store dan akan ditayangkan untuk pengguna pada hari Kamis.


    Ini digambarkan sebagai "aplikasi percakapan berbasis teks ... tempat komunitas berkumpul".


    Aplikasi baru ini adalah bab terbaru dalam persaingan antara bos Facebook Mark Zuckerberg dan Elon Musk, yang membeli Twitter pada bulan Oktober - membawa perubahan yang nyaris tidak menjadi berita utama sejak itu.


    Seperti Apakah Aplikasi Thread nantinya?


    Aplikasi baru ini akan tersedia dapat diunduh secara gratis, dengan tampilan antarmuka yang mirip dengan Twitter.


    Aplikasi Thread, di media sosial, menggambarkan rangkaian postingan yang saling terhubung dengan aplikasi milik Meta lainnya seperti Facebook dan Instagram.


    Terminologi ini sangat terkait dengan Twitter, di mana pengguna cenderung menulis serangkaian posting pada suatu titik sebagai balasan atas tweet asli mereka.


    Untuk aplikasi 'Threads', sampai dengan hari ini, Meta hampir tidak merilis rincian apapun tentang produk yang akan datang.


    Tapi pratinjau aplikasi telah muncul di toko aplikasi iPhone, sebagai 'Threads, aplikasi Instagram', tersedia untuk diunduh sebelum diluncurkan pada Kamis, 6 Juli.


    Serangkaian gambar promosi menyarankan penggunaan estetika yang mirip dengan template Instagram untuk postingan bergaya Twitter.


    Promotional images from Apple's App Store. Credit: Apple


    Materi promosi mengatakan pengguna Instagram akan dapat menyimpan nama pengguna yang sama untuk aplikasi Threads mereka, dan akan diminta untuk meminta mengikuti akun yang sama yang mereka ikuti di Instagram.


    Threads mendorong orang untuk 'terhubung melalui percakapan,' dan 'berbagi sudut pandang Anda' dalam posting singkat berbasis teks.


    Mirip dengan Twitter, Threads tampaknya memiliki opsi berbagi yang tampaknya menyertakan simbol hati yang digunakan untuk posting 'favorit', fungsi balas, tombol bagikan ulang yang mirip dengan fungsi retweet, dan kemampuan untuk meneruskan posting ke pesan pribadi.


    Gambar promosi juga muncul untuk menunjukkan centang biru pengguna terverifikasi yang dibawa dari Instagram ke Utas.


    Siapa yang diverifikasi adalah poin utama perdebatan di Twitter, di mana kepemimpinan Musk mencabut tanda centang biru dari pengguna dan memonetisasi layanan.


    Dalam beberapa hari terakhir, Musk memicu keresahan di Twitter lagi minggu ini ketika dia mengumumkan platform tersebut akan membatasi pengguna yang tidak membayar untuk melihat 600 tweet sehari, kemudian meningkat menjadi 1.000.


    Sunday, 2 July 2023

    HTML Image Slider

    HTML Image Slider

    HTML Image Slider


    google.com, pub-0655609370809761, DIRECT, f08c47fec0942fa0




    Untuk membuat slider gambar otomatis dalam kode HTML, CSS, dan JavaScript, Anda perlu mengetahui beberapa dasar kode menggeser gambar CSS dan Javascript untuk memfungsikan penggeser gambarnya.








    Disini kami berikan beberapa contoh, Anda hanya perlu menyalin dan menempelkan kode penggeser gambar HTML dan kode penggeser gambar CSS yang diberikan di bawah ini dan menukar tautan gambar dengan tautan gambar Anda di dalamnya di tempat yang tepat.


    Sekarang, jika Anda adalah seseorang yang tidak begitu paham dengan bahasa pengkodean, maka kami disini juga membantu Anda membuatnya lebih mudah.

    Exotic places
    Meet ocean
    Around the world
    Exotic places
    Meet ocean
    Around the world


    See the Pen #Codevember – 10 – Apple Animated Slider by Camila Waz (@camila_waz) on CodePen.

    Title:- Codevember – 10 – Apple Animated Slider
    Author:- Camila Waz
    Made With:- HTML CSS JS



    See the Pen GSAP Choppy Photo Slider by crankysparrow (@crankysparrow) on CodePen.

    Title:- GSAP Choppy Photo Slider
    Author:- crankysparrow
    Made With:- HTML CSS JS



    See the Pen Simple animated slider with Swiper.js and GSAP TweenMax by Alexandre Buffet (@alexandrebuffet) on CodePen.

    Title:- Simple animated slider with Swiper.js and GSAP TweenMax
    Author:- Alexandre Buffet
    Made With:- HTML CSS JS



    See the Pen CSS Animated Slider by Mike Wax (@mikewax) on CodePen.

    Title:- CSS Animated Slider
    Author:- Mike Wax
    Made With:- HTML CSS JS