Author: thariqabdillah

  • Android Dev Chap 2 part 1

    pada chapter ini akan dilakukan pembuatan aplikasi sederhana menggunakan hamburger menu. hamburger menu adalah ikon menu yang menempel di pojok kiri atau kanan aplikasi. ketika diklik akan menampilan berbagai macam menu yang dapat dipilih. pada chapter ini akan membuat aplikasi profil merk kendaraan dengan menu hamburger sebagai menu utama yang digunakan menuju ke semua profil.

  • Django Chap 2 Part 2

    pada part ini akan membangun tampilan (frontend) blog secara terstruktur, rapi, dan bisa digunakan ulang.
    base.html -> digunakan untuk kerangka utama website. fungsinya untuk menyimpan struktur umum website

    index.html -> digunakan untuk halaman daftar artikel (hompage). fungsinya untuk menampilkan daftar postingan

    post_detail.html -> digunakan untuk menampilkan satu artikel secara lengkap

    sidebar.html-> komponen tambahan untuk menampilkan informasi (about me, contact me,dll)

    Kode ini digunakan untuk:

    • Menentukan struktur tabel database untuk blog post
    • Menyimpan data seperti judul, isi, penulis, status, dan waktu
    • Menjadi penghubung antara:
      • database (SQLite3)
      • views (ListView / DetailView)
      • template (HTML)
      • admin Django

    fungsi code diatas adalah untuk mengambil data Post dari database dan mengirimkannya ke HTML (template)

    DetailView → untuk menampilkan satu data spesifik

    ListView → untuk menampilkan daftar data

    class PostList(generic.ListView)-> digunakan untuk menampilkan banyak Post. Biasanya dipakai untuk homepage / halaman blog

    queryset = Post.objects.filter(status=1).order_by(‘-created_at’) -> Ini menentukan status = 1 (Publish) dan diurutkan dari yang terbaru. Post Draft tidak akan tampil ke publik

    template_name = ‘index.html’ ->
    Data akan dikirim ke file templates/index.html

    fungsi url.py ini digunakan untuk menentukan URL mana ditangani oleh siapa. Setiap membuka URL di browser, Django akan membaca urls.py, mencocokkan URL yang diakses, menjalankan view yang sesuai

    Kode HTML itu berfungsi sebagai template dasar (base template) untuk semua halaman blog

    File ini (biasanya dinamai base.html) dipakai sebagai kerangka umum website. hal ini membuat tidak perlu menulis ulang header, navbar, dan footer di setiap halaman
    Isinya bagian-bagian yang selalu sama di setiap halaman, seperti:

    • <head> (title, CSS, font)
    • Navbar (menu atas)
    • Footer (bagian bawah)
    • Styling global

    kode tersebut digunakan untuk menampilkan list artikel dari database. Ini adalah template Django (HTML) untuk halaman daftar post / homepage blog.

    {% extends “base.html” %} -> Template ini mewarisi layout dari base.html, sehingga seluruh struktur utama seperti navbar, footer, dan CSS global berasal dari base.html, sedangkan template ini hanya mengisi bagian kontennya.

    {% block content %}…..{% endblock %} -> code ini digunakan untuk mengisi bagian yang ada di base.html, semua HTML di dalamnya akan muncul di halaman utama

    Template ini digunakan untuk menampilkan detail satu artikel blog. Di dalam {% block content %}, template menampilkan isi utama halaman detail post. Judul artikel ditampilkan melalui {{ object.title }}, yang berasal dari DetailView Django. Informasi penulis dan tanggal dibuat ditampilkan menggunakan {{ post.author }} dan {{ post.created_on }}. Konten artikel ditampilkan dengan {{ object.content | safe }}, yang berarti isi artikel dirender sebagai HTML tanpa di-escape, sehingga format seperti paragraf atau tag HTML dapat tampil dengan benar. Selain itu, template ini juga menyertakan sidebar dengan {% include ‘sidebar.html’ %}, sehingga komponen tambahan dapat digunakan kembali tanpa menulis ulang kode.

    Kode template ini berfungsi untuk menampilkan sidebar pada halaman blog. Bagian HTML menampilkan sebuah sidebar kolom kanan menggunakan Bootstrap (col-md-4 float-right). Sidebar ini berisi sebuah card dengan judul “About Me”, teks deskripsi singkat, dan sebuah tombol “Contact Me” yang dapat diarahkan ke halaman kontak atau media sosial.

  • Android Dev Chapter 2

    pada chapter ini akan dilakukan pembuatan aplikasi web view. web view akan menampilkan halam web tetapi tanpa browser.

    Web Viewer berfungsi seperti browser mini di dalam aplikasi Thunkable. Komponen ini digunakan untuk menampilkan berbagai konten berbasis web, seperti website (URL), HTML lokal, Google Form, blog, dashboard, serta web app langsung di dalam aplikasi Android maupun iOS. Pada latihan di chapter ini, penulis menggunakan blog pribadi sebagai contoh URL yang akan ditampilkan melalui komponen Web Viewer.

    Properti Penting Web Viewer

    1. URL Alamat website yang ditampilkan
    2. Height / Width Ukuran Web Viewer
    3. Scrollable Bisa scroll atau tidak
    4. Visible Ditampilkan atau disembunyikan
    5. User Agent Identitas browser (opsional)

  • Django Chapter 2 – SQLite3

    Pada chapter ini, kita akan menyiapkan lingkungan pengembangan Django di Ubuntu dengan menggunakan SQLite3 sebagai database bawaan Django dan Visual Studio Code sebagai editor kode.

    tahap pertama yaitu melakukan konfigurasi project django dengan VSC.

    tahap kedua yaitu membuat aplikasi (app) blog dengan perintah python manage.py startapp blog sehingga app blog terlihat di project mysite pada VSC.


    setelah itu django perlu mengetahui bahwa ada aplikasi baru dalam project dengan menambahkan app blog pada pengaturan INSTALLED_APPS

    Django berbasis proyek (project) dan aplikasi (app) yang saling terpisah. Ketika membuat app baru, misalnya dengan python manage.py startapp blog, Django tidak otomatis memasukkan app tersebut ke dalam konfigurasi proyek.

    Django perlu diberi tahu secara eksplisit bahwa ada app baru yang harus dimuat dan dikelola. Itulah fungsi menambahkan blog ke dalam INSTALLED_APPS di file settings.py.

    Secara konsep, INSTALLED_APPS adalah daftar semua aplikasi yang aktif dalam proyek Django. Daftar ini digunakan Django untuk beberapa hal penting, seperti:

    1. memuat model → Agar Django mengenali model database yang ada di app blog.
    2. Menjalankan migrasi → Supaya tabel dari app blog ikut dibuat saat python manage.py migrate.
    3. Mendaftarkan admin → Agar model di blog bisa muncul di halaman admin Django.
    4. Menemukan template & static files → Jika app memiliki folder templates atau static.
    5. Menjalankan sinyal dan konfigurasi app → Melalui file apps.py dan lifecycle Django.

    Jika app tidak ditambahkan ke INSTALLED_APPS, Django akan menganggap app tersebut tidak ada, sehingga:

    1. Model tidak akan dibuatkan tabelnya.
    2. Admin tidak menampilkan model dari app itu.
    3. Template app bisa tidak terbaca.
    4. Beberapa fitur Django yang bergantung pada registry app tidak berjalan.

  • Android App Chapter 1

    Seiring dengan pesatnya perkembangan teknologi smartphone, khususnya yang menggunakan sistem operasi Android, kebutuhan akan aplikasi mobile terus meningkat. Dalam pengembangan aplikasi Android, bahasa pemrograman Java dikenal sebagai salah satu fondasi dasar yang umum digunakan. Namun, untuk menguasainya dibutuhkan kemampuan coding serta waktu belajar yang tidak singkat bagi seseorang yang ingin menjadi developer aplikasi Android.

    Bagi para pemula atau mereka yang belum memiliki pengalaman dalam mempelajari bahasa pemrograman, saat ini tersedia berbagai aplikasi dan tools yang memudahkan proses pembuatan aplikasi. Tools tersebut umumnya menggunakan konsep drag and drop, sehingga pengguna dapat membangun aplikasi tanpa harus menulis kode secara langsung.

    Salah satu tools yang dapat dimanfaatkan adalah Thunkable, yaitu aplikasi berbasis web yang memungkinkan pengguna untuk membuat aplikasi Android maupun iOS. Thunkable mengadopsi konsep pemrograman visual berbasis Scratch, yang mengusung metode drag and drop, sehingga pembuatan aplikasi menjadi lebih mudah dan ramah bagi pemula, bahkan tanpa latar belakang coding.

    Membangun Aplikasi sederhana untuk Pertama Kali

    tahap awal dalam membuat aplikasi sederhana membuat create project dengan mengisikan nama dan category project

    mengganti warna background

    memasukan komponen user interface button.

    panel button1 digunakan untuk memodifikasi tampilan user interfacenya. dimulai dengan mengubah nama menjadi next, mengubah font, ukuran font dan ukuran tombolnya

    tab blocks
    tab Blocks adalah tempat utama untuk menulis logika / program aplikasi menggunakan blok visual (drag and drop). tab ini digunakan untuk menentukan perilaku aplikasi, mengatur aksi saat event terjadi, Mengolah data, variabel, dan logika, dan menghubungkan komponen UI dengan fungsi

    tahap selanjutnya adalah mengisi fungsi logika, pada latihan yang dilakukan chapter ini adalah membuat ketika klik button “next” akan muncul tampilan “hello World”

  • Chapter 1 – Network Fundamental

    Apa itu jaringan?
    Dalam komputasi jaringan, terdapat sebuah ide bahwa sistem dan layanan dapat tersebar ke berbagai perangkat teknologi. Sebagai contoh, ponsel dapat digunakan untuk mengakses berbagai informasi dan layanan melalui jaringan.
    Ketika membahas komputasi jaringan, kita juga mempelajari bagaimana perangkat-perangkat tersebut saling berkomunikasi, serta aturan atau protokol yang mengatur proses komunikasi tersebut. Sebuah jaringan dapat dibentuk mulai dari dua perangkat hingga miliaran perangkat, seperti laptop, ponsel, kamera keamanan, dan lampu lalu lintas.
    Jaringan telah terintegrasi ke dalam kehidupan kita sehari-hari, baik untuk mengumpulkan data cuaca, menyalurkan listrik ke rumah-rumah, maupun menentukan siapa yang memiliki hak jalan di jalan raya. Karena jaringan sangat tertanam dalam kehidupan modern, pemahaman tentang jaringan menjadi konsep yang sangat penting, terutama dalam bidang keamanan siber.

    apa itu internet
    Internet adalah sebuah jaringan raksasa yang terdiri dari banyak jaringan kecil di dalamnya. Internet muncul melalui proyek ARPANET pada akhir tahun 1960-an. Proyek ini didanai oleh Departemen Pertahanan Amerika Serikat dan dikenal sebagai jaringan komputer pertama yang terdokumentasi. Namun, Internet seperti yang kita kenal saat ini baru berkembang pada tahun 1989, ketika Tim Berners-Lee menciptakan World Wide Web (WWW). Sejak saat itu, Internet mulai digunakan secara luas sebagai media penyimpanan dan berbagi informasi, hingga menjadi bagian penting dari kehidupan modern seperti sekarang. Secara struktur, Internet terdiri dari banyak jaringan kecil yang saling terhubung. Jaringan-jaringan kecil ini dikenal sebagai jaringan pribadi, sedangkan jaringan yang menghubungkan berbagai jaringan pribadi tersebut disebut jaringan publik, atau yang kita kenal sebagai Internet. Dengan demikian, secara sederhana sebuah jaringan dapat dikategorikan menjadi dua jenis, yaitu jaringan pribadi dan jaringan publik. Dalam jaringan tersebut, setiap perangkat menggunakan serangkaian label atau identitas tertentu untuk mengenali dan membedakan dirinya dari perangkat lain.Identifikasi perangkat di jaringan
    untuk berkomunikasi dan menjaga ketertiban, perangkat dapat diidentifikasi dan dikenali di jaringan. perangkat di jaringan sangat mirip dengan manusia karena memiliki dua cara untuk diidentifikasi yaitu nama dan sidik jari. sedangkan sebuah perangkat dapat diidentifikasi dari sebuah IP Address dan Media Access control (MAC) address

    IP Addresses (Internet Protocol)
    Alamat IP adalah sekumpulan angka yang dibagi menjadi empat oktet. Nilai setiap oktet akan dijumlahkan menjadi alamat IP perangkat di jaringan. Angka ini dihitung melalui teknik yang dikenal sebagai pengalamatan IP & subnetting. alamat IP dapat berubah dari perangkat ke perangkat tetapi tidak dapat aktif secara bersamaan lebih dari sekali dalam jaringan yang sama. Alamat publik digunakan untuk mengidentifikasi perangkat di Internet, sedangkan alamat pribadi digunakan untuk mengidentifikasi perangkat di antara perangkat lain. Alamat IP publik diberikan oleh Penyedia Layanan Internet (atau ISP)

      MAC addresses
      perangkat dalam jaringan akan memiliki antarmuka jaringan fisik, yaitu papan mikrochip yang terdapat pada motherboard perangkat. Antarmuka jaringan ini diberi alamat unik di pabrik tempat pembuatannya, yang disebut alamat MAC (Media Access Control). Enam karakter pertama mewakili perusahaan yang membuat antarmuka jaringan, dan enam karakter terakhir adalah angka unik. Mac address dapat dipalsukan atau ditipu (spoofing). Spoofing adalah teknik penipuan (impersonation) di dunia digital, di mana penyerang menyamar sebagai pihak lain yang dipercaya (orang, perangkat, atau sistem) untuk menipu korban dan mendapatkan akses, data, atau keuntungan tertentu.

      Ping (ICMP)
      Ping menggunakan paket ICMP (Internet Control Message Protocol) untuk menentukan kinerja koneksi antar perangkat, misalnya, apakah koneksi tersebut ada atau dapat diandalkan. Ping dapat dilakukan terhadap perangkat di jaringan, seperti jaringan rumah atau sumber daya seperti situs web.


      1. Django Chapter 1

        Bab pertama pada buku ini mempelajari bagaimana cara melakukan instalasi python dan django.

        Untuk memulai pengembangan Django di Ubuntu, langkah pertama adalah memastikan Python sudah terpasang dengan menjalankan perintah python3 --version di terminal. Setelah itu, cek apakah Django sudah terinstal menggunakan django-admin --version atau python3 -m django --version. Selanjutnya, pastikan pip sebagai package manager Python tersedia dengan menjalankan python3 -m pip --version. Jika pip belum ada, instal terlebih dahulu menggunakan sudo apt install python3-pip.

        Agar dependensi proyek terisolasi dan tidak saling bertabrakan, buat sebuah folder proyek dengan perintah mkdir django-belajar lalu masuk ke dalamnya menggunakan cd django-belajar. Di dalam folder tersebut, buat virtual environment dengan python3 -m venv venv, kemudian aktifkan dengan source venv/bin/activate. Setelah virtual environment aktif, instal Django menggunakan pip install django.

        Berikutnya, buat proyek Django baru dengan perintah django-admin startproject mysite lalu masuk ke direktori proyek menggunakan cd mysite. Jalankan server pengembangan dengan python manage.py runserver untuk memastikan instalasi berhasil. Buka browser dan akses http://127.0.0.1:8000/ untuk melihat halaman utama Django, dan http://127.0.0.1:8000/admin untuk halaman admin. Hentikan server dengan menekan CTRL + C, kemudian jalankan migrasi database awal menggunakan python manage.py migrate.

        Sebagai langkah opsional, buat akun admin Django dengan menjalankan python manage.py createsuperuser dan ikuti instruksi pengisian username, email, serta password. Terakhir, jalankan kembali server dengan python manage.py runserver. Sekarang, halaman utama dapat diakses di http://127.0.0.1:8000/, dan halaman admin di http://127.0.0.1:8000/admin dengan login menggunakan akun superuser yang telah dibuat.