-->
I'm joko purnomo./Cybersecurity Specialist/

I'm joko purnomo./Cybersecurity Specialist/

Hi! My name is Joko Purnomo. I am a Cybersecurity Specialist. I work to design, improve, and install for integrated system (people, material, information, equipment, and energy). Skilled in Cybereason, Group IB, IBM QRadar, and Wazuh to specify, predict, and evaluate optimal system build.

Kunjungi profil

ABOUT ME

Resume

Personal info

Personal info

2

years of experience

3

completed projects

4

Happy customers

1

awards won


My Skills

88%
html
90%
JavaScript
98%
CSS3
68%
React
71%
Java
80%
EDR
75%
SIEM
71%
Ethical Hacking

Certification & Education

  • EC-Council Certified Incident Handler
    2025 - 2028
    EC-Council Certified Incident Handler

    Plan, Record, Triage, Notify, and Contain.

  • Digital Forensics Essentials (DFE) v1
    2023 - 2026
    Digital Forensics Essentials (DFE) v1

    Essential Practices, Principles, and Methodologies.

  • AWS Solution Architect - Associate
    2023 - 2026
    AWS Solution Architect - Associate

    Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization, Sustainability.

  • Enigma Camp
    2024
    Enigma Camp

    Java Programming

  • Purwadhika Digital Technology School
    2021
    Purwadhika Digital Technology School

    Fullstack Web Development

  • Institut Teknologi Indonesia
    2013 - 2017
    Institut Teknologi Indonesia

    Industrial Engineering

my portfolio

Works

get in touch

Contact

Contact Details

Feel free to get in touch with us. we always open to discussing new projects, creative ideas or opportunities to be part of your visions.

my products

Product

Cari Blog Ini

Perancangan Produk

Untuk membuat sesuatu ada 2 pendekatan, yaitu dimulai dari awal ke akhir dan dimulai dari akhir ke awal. Khusus perancangan dimulai dari akhir dan berakhir di awal. Pada masyarakat tradisional perancangan tidak dilakukan mereka hanya membuat suatu benda yang sekiranya bisa membantu kehidupan. Berbeda dengan masyarakat modern yang memerlukan pemodelan atau penggambaran sebelum kegiatan suatu benda dilakukan. Hal ini menandakan bahwa kegiatan merancang dan pembuatan benda menjadi terpisah. Tidak jarang pula bahwa kegiatan tersebut dilakukan oleh orang yang berbeda sehingga kemampuan berkomunikasi menjaid penting. Dengan kemajuan teknologi dan alasan efisiensi perancangan sekarang dapat dilakukan dengan komputer.

sumber: https://pixabay.com/id/vectors/perancang-grafis-komputer-macbook-4562741/

Perancangan produk terdiri dari serangkaian kegiatan yang berurutan, oleh sebab itu perancangan disebut sebagai proses perancangan. Nah, kegiatan-kegiatan dalam proses perancangan itu disebut fase. Ada 5 fase dalam proses perancangan produk, yaitu:

  1. Fase informasi
    • Fase ini bertujuan untuk memahami seluruh aspek yang berkaitan dengan produk yang hendak dikembangkan dengan cara mengumpulkan informasi-informasi yang dibutuhkan secara akurat
  2. Fase kreatif
    • Fase ini bertujuan untuk menampilkan alternatif yang dapat memenuhi fungsi yang dibutuhkan
  3. Fase analisa
    • Fase ini bertujuan untuk menganalisa alternatif-alternatif yang dihasilkan pada fase kreatif dan memberikan rekomendasi terhadap alternatif-alternatif terbaik
  4. Fase pengembangan
    • Fase ini bertujuan memilih salah satu alternatif tunggal dari beberapa alternatif yang ada yang merupakan alternatif terbaik dan merupakan output dari fase analisa
  5. Fase presentasi
    • Fase ini bertujuan untuk mengkomunikasikan secara baik dan menarik terhadap hasil pengembangan produk

Kreatifitas sangat penting peranannya dalam perancangan produk. Kreatifitas terutama dibutuhkan pada tahap informasi dan pengembangan gagasan pada proses perancangan produk. Kreatif tidak harus baru tetapi merupakan sebuah kemampuan yang menghubungkan berbagai fenomena yang terjadi. Seorang yang kreatif harus mempunyai kemampuan verbal yang baik agar dapat menyampaikan gagasannya dengan baik kepada orang lain. Nah, dalam proses kreatif ada beberapa yang biasanya menjadi hambatan, yaitu barrier budaya dan barrier emosional.

Produk yang dirancang dalam hal ini tentu untuk memudahkan kehidupan manusia oleh sebab itu perlu disesuaikan dengan anthropometri manusia. Ada 2 jenis pengukuran anthropometri yaitu pengukuran dimensi struktur tubuh dan pengukuran dimensi funsional tubuh. Maksud dari struktur tubuh adalah ukuran tubuh manusia saat tidak bergerak sedangkan fungsional tubuh adalah posisi tubuh saat berfungsi melakukan kegiatan-kegiatan. Pengukuran ini akan menghasilkan data dan tentu saja akan diukur secara statistik. Akan sangat tidak efisien jika setiap manusia diukur oleh sebab itu diperlukan pemilihan sampel yang tepat. 

Sampai di sana telah diketahui bahwa produk dirancang berdasarkan struktur dan fungsi dari tubuh manusia yang tidak lain tujuannya adalah kenyamanan. Dengan kenyamanan maka produk yang dihasilkan akan lebih diterima oleh pelanggan. Selain itu perlu didengar juga keinginan dari pelanggan. Nah, untuk mengetahuinya dapat digunakan house of quality atau sebuah kerangka kerja yang digunakan untuk menerjemahkan kebutuhan atau permintaan pelanggan, berdasarkan riset pasar dan benchmarking data, dalam jumlah yang sesuai target yang harus dipenuhi oleh desain produk baru. Perhatikan bagian-bagian dari house of quality berikut:

  • A (dinding kiri): customer needs and benefits
  • B (dinding kanan): planning matrix (market research and strategic planning)
  • C (plafon): technical response
  • D (dinding tengah): relationships (impact of technical response on customer needs and benefits)
  • E (atap): technical correlations
  • F (lantai): technical matrix (technical response priorities, competitive, technical benchmarks, technical targets)
Customer needs and benefits merupakan suara pelanggan atau voice of customer dimana ada umpan balik mengenai kebutuhan dan keinginan pelanggan. Kemudian pada bagian planning matrix digambarkan tempat penentuan sasaran atau tujuan produk yang didasarkan pada hasil interpretasi tim terhadap data riset pasar. Setelah keinginan pelanggan dan tujuan produk diketahui maka seorang developer dari produk menerjemahkannya ke dalam bahasa pengembang atau voice of developer. Dari customer needs and benefits serta planning matrix akan ada hubungan yang diterjemahkan ke dalam relationships, tujuannya untuk mencari fenomena-fenomena yang saling berelasi atau berhubungan. Pada proses desain kemungkinan akan menemui bottleneck atau keterhambatan, nah keterhambatan ini perlu untuk diselesaikan dengan menemukan kunci komunikasi antarperencana, ini yang disebut technical correlations. Bagian yang terakhir adalah technical matrix yang merupakan kumpulan dari 3 jenis data, yaitu technical response priorities, competitive technical benchmarks, dan technical targets.




ref:
perancangan-produk-rosnani-ginting
pengadaan.web.id

Network dan System Hardening

Network hardening merupakan aktivitas di dalam layer pencegahan strategi keamanan yang berfokus untuk melindungi jaringan. Tujuan utama dari network hardening adalah menghentikan akses dari pihak yang tidak terotorisasi. Ancaman yang mungkin dari jaringan adalah adanya network mapping, port scanning, dan traffic sniffing. Saat suatu pihak dapat melakukan network mapping maka saat itu juga pihak tersebut telah mengetahui topologi dari jaringan yang dibuat. Sedangkan port scanning akan mencari mana port yang tersedia atau terbuka dari jaringan untuk pihak yang tidak terotorisasi masuk. Saat topologi dan port telah dikuasai maka traffic sniffing akan melakukan perjalanan untuk mendapatkan berbagai informasi.

Ping, nmap, dan wireshark merupakan tools yang secara berurut digunakan untuk network mapping, port scanning, dan traffic sniffing. Teknik ini berguna untuk white hat hacker yang memang butuh untuk memecahkan jaringan dengan ijin yang punya, namun sebaliknya back hat hacker juga memanfaatkannya untuk kejahatan. Nah, oleh sebab itu network hardening dibutuhkan dalam hal ini. Perhatikan hal di bawah:

  • Network Hardening
    • Protect from Network Mapping and Port Scanning
      • Disable ICMP (internet control message protocol)
      • Disable SNMP (simple network management protocol)
    • Protect from Traffic Sniffing
      • Disable promiscuous mode on NICs
      • Use switches instead of hubs in a network
      • Encrypt sensitive data in transit
  • Network Architecture Hardening
    • Adding security components to the network
      • Network firewalls
      • Intrusion prevention systems (IPSs)
    • Segmenting a network
      • Creating private subnets
      • Using network access control lists (network ACL)

Setelah jaringan diperkuat atau diperkeras sehingga lebih sulit untuk diretas maka yang perlu dilakukan selanjutnya adalah system hardening. Kalau network hardening lebih kepada layer sedangkan system hardening lebih kepada kode-kode computing yang dapat melindungi dari serangan pihat tidak berkepentingan.

sumber: vitalsource.com

Pada system hardening ada 3 segi, yaitu:

  1. Authentication: validasi dengan you are who
  2. Authorization: verifikasi ijin untuk akses sumber daya
  3. Accounting: mengumpulkan informasi yang biasanya untuk audit

Caranya system hardening, yaitu:

  • Matikan layanan yang tidak diperlukan
    • Perhatikan proses yang berjalan di foreground atau background
  • Kendalikan operasi komputer melalui group policies
  • Secara reguler lakukan patching dan updating
  • Pada sisi client
    • Aktifkan antivirus dan firewalls
    • Jalankan aplikasi sesedikitmungkin
    • Lakukan update jika ada release terbaru
    • Batasi penggunaan perangkat removable seperti flashdisk
    • Kendalikan download file
    • Batasi layanan terminal (CLI)
    • Pantau environment yang berjalan
  • Pada sisi server
    • Batasi akses fisik (misalnya menggunakan fingerprint atau retina check)
    • Gunakan peran yang berdedikasi
    • Gunakan file system (rwx atau password)
    • Gunakan enkripsi dan PKI (sertifikat keamanaan web)
    • Gunakan peringatan (misalnya melalui email)
    • Lakukan update jika release telah tersedia
    • Batasi akses administratif (gunakan user standard dan jangan root user)
    • FTP server
      • Non aktifkan mode anonim
      • Gunakan internet protocols (IP) filtering
      • Folder terisolasi
      • Rawat kuota
      • Buat permission untuk folder
    • DHCP server
      • Aktifkan port security
      • Buat peranan terisolasi

Di AWS sedikitnya ada 4 layanan untuk system hardening, yaitu AWS trusted advisor (semacam cs yang sedia 24 jam), Amazon GuardDuty (mendeteksi ancaman), AWS Shield (menangani DDoS), dan AWS CloudTrail (menangani log). Sekarang akan diterapkan network hardening dan system hardening di AWS cloud secara ringkas ikuti langkah di bawah:

  1. Network Hardening
    • Add tags
      • Buka EC2 instance
      • Pilih tab Tags
      • Pilih Manage tags
      • Pilih Add tag dan isi pada bagian key dan value, misalnya:
        • key: SecurityScan
        • value: true
      • Pilih save
    • Configure and run Amazon Inspector
      • Buka AWS inspector dan switch ke Inspector Classic
      • Pilih Get started
      • Pilih Advanced setup
      • Di dalam define an assesment target isi datanya, misalkan:
        • Name: Network-Audit
        • Clear check box for All Instances
        • Tags: Key, pilih SecurityScan (yang sebelumnya telah dibuat)
        • Tags: Value, pilih true
        • Clear check box for Install Agents
      • Pilih next
      • Pada Define an assessment template isi data, misalkan:
        • Name: Assessment-Template-Network
        • Rules package, leave Network Reachability-1.1 (x)
        • Duration: 15 Minutes
        • Clear the check box for Assessment Schedule
      • Pilih next
      • Pilih create
      • Periksa status scan
        • Di panel navigasi sebelah kiri pilih Assessment runs
        • Cari bagian yang tadi telah dibuat
        • Jika belum muncul statusnya tekan tombol refresh
    • Analyze Amazon Inspector findings
      • Perhatikan jika ada high-severity findings dan cermati pada:
        • AWS agent ID
        • Description
        • Recommendation
      • Perhatikan juga apabila ada medium-severity findings dan cermati
    • Update security group
      • Cek di Inbound rules
        • Apabila ada port range 23 sebaiknya di delete karena port 23 Telnet itu celah untuk keamanan diserang
      • Untuk SSH rule hapus current inbound jika ada IP address 0.0.0.0 karena itu sama dengan port 22 yang bisa diakses oleh siapapun
      • Jangan lupa simpan perubahan
    • Replace server with System Manager
      • Sebelumnya untuk mengakses server bisa menggunakan SSH, hal ini tidak direkomendasikan. Sebaiknya untuk mengakses server menggunakan Session Manager dari Systems Manager
      • Pilih Security Groups
      • Pilih Security group Id dari EC2 Instance
      • Pilih Edit inbound rules
      • Pilih delete SSH inbound rule dan save
      • Gunakan Session Manager yang ada di System Manager saja untuk mengakses server
  2. System Hardening
    • Select patch baselines
      • Buka Systems Manager
      • Di bagian panel navigasi sebelah kiri pada area Node Management pilih Fleet Manager
      • Pilih EC2 instance kemudian pada Node action pilih View details
        • perhatikan Platform type, Node type, OS name, dan IAM role
      • Kembali ke System Manager homepage
      • Pada panel navigasi di bagian Node Management pilih Patch Manager
      • Pilih View predefined patch baselines
      • Pilih Patch baselines
      • Di search bar cari patching default sesuai OS yang digunakan
      • Pilih kemudian pilih Actions dan pilih Modify patch groups
      • Di dalam Modify patch group pilih Patch group dan pilih sesuai informasi sebelumnya
      • Pilih close
      • Tag Instance
        • Buka EC2 Instance
        • Pilih Instace kemudian pilih Tags tab
        • Pilih Manage tags dan pilih Add tag dan isi informasi, misalnya:
          • Key: Patch Group
          • Value: WindowsProd
        • Pilih Save, ulangi untuk instance yang sejenis
      • Create a custom patch baseline
        • Kembali ke System Manager
        • Pada panel navigasi di bawah Node Management pilih Patch Manager
        • Pada instance yang akan di patch pilih View predefined patch baselines
        • Pilih Patch baselines tab
        • Pilih Create patch baseline
        • Pada Patch baseline details isi informasi, misalnya:
          • Name: WindowsServerSecurityUpdates
          • Description: Windows security baseline patch
          • Operating system: Windows
          • Leave the check box for Default patch baseline
        • Pada Approval rules for operating systems isi informasi, misalnya:
          • Product: WindowsServer2019
          • Severity: Critical
          • Classification: SecurityUpdates
          • Auto-approval: 3 days
          • Compliance reporting: Critical
        • Pilih Add rule dan isi informasi, misalnya:
          • Product: WindowsServer2019
          • Severity: Important
          • Classification: SecurityUpdates
          • Auto-approval: 3 days
          • Compliance reporting: High
        • Pilih Create patch baseline
        • Pada bagian Patch baselines pilih misalnya WindowsServerSecurityUpdates
        • Pilih Actions kemudian pilih Modify patch groups
        • Pada bagian Patch group isi misalnya WindowsProd
        • Pilih Add dan pilih Close
    • Configure patching
      • Kembali ke Patch Manager kemudian pilih Configure patching
      • Pada bagian Instance to patch pilih Select a patch group dan pilih nama group patch yang telah dibuat sebelumnya
      • Pada Patching schedule pilih Schedule in a new Maintenance Window dan lakukan konfigurasi, misalnya:
        • How do you want to specify a Maintenance Window Schedule?: Use a CRON scheduler builder
        • Maintenance Window run frequency: Every
          • Every Day: 02.00
        • Maintenance Window duration: 1
        • Maintenance Window name: sesuai namanya
      • Pada Patching operation pilih Scan and install dan pilih Configure patching
      • Patch instances instantly
        • Kembali ke Patch Manager dan pilih Patch baselines tab kemudian pilih baseline yang telah dibuat
        • Pilih Configure patching
        • Pada Configure patching isi informasi, misalnya:
          • How do you want to select instances?: Select a patch group
          • Patch groups: pilih sesuai group yang telah dibuat
          • How do you want to specify a patching schedule?: Skip scheduling and patch instances now
          • Patching operation: Scan and install
        • Pilih Configure patching
        • Jika berhasil akan muncul Successfully configured patching
        • Pilih refresh dan tunggu hingga status semua instances Success
        • Pilih satu instance kemudian pilih View output
        • Pada Step 1 - Command description and status pilih Output
        • Pada bagian output skrol hingga menemukan InstalledCount untuk melihat berapa banyak patches yang telah diinstall
        • Pada panel navigasi di bawah Node Management pilih Patch Manager
        • Pilih Configure patching
        • Pada Configure patching isi informasi, misalnya:
          • How do you want to select instances?: Select a patch group
          • Patch groups: pilih yang sebelumnya telah dibuat
          • How do you want to specify a patching schedule?: Skip scheduling and patch instances now
          • Patching operation: Scan and install
        • Pilih Configure patching
      • Verify compliance
        • Kembali ke Patch Manager
        • Pilih tab Dashboard, di bawah compliance summary bisa dilihat Compliant
        • Pilih tab Compliance reporing tab, dan perhatikan Compliance status

Jadi di AWS cara sederhana untuk melakukan network hardening adalah hanya menggunakan session manager untuk mengakses server dan untuk melakukan system hardening adalah dengan mengatur patch sehingga terupadate sama setiap server yang memiliki sistem operasi sama.

Jaringan atau network dapat diperkuat dengan DNSSEC atau domain name security extension. Ada 3 hal yang dilakukan dalam DNS security, yaitu membuat DNS server yang redundant, menggunakan protokol seperti DNSSEC, dan merekam aktivitas DNS yang terjadi. DNSSEC merupakan protokol yang diciptakan untuk memitigasi masalah keamanan yang terjadi pada DNS, misalnya DNS cache poisoning, yaitu dengan memverifikasi DNS record menggunakan cryptographic signatures. Dengan DNSSEC maka semua level DNS akan ditandatangani secara cryptographic, artinya root DNS server, TLD server, dan authoritative name server. Dengan adanya tanda tangan disetiap level maka akan terbangun rantai kepercayaan (chain of trust) sampai ke level root DNS server. Dengan adanya rantai ini akan menurunkan risiko DNS record dirusak, diubah, atau dimanipulasi dalam perjalanan.

Penguatan jaringan juga bisa melalui proxy atau server perantara, baik perangkat lunak maupun perangkat keras antara client dan internet. Tujuan dari proxy server ini adalah melindungi client. Cara kerjanya proxy server ini adalah menggantikan IP address sumber dari permintaan (request) dengan IP address milik proxy server, kemudian permintaan tersebut diarahkan ke server yang dituju. Akhirnya server tujuan tidak akan menyadari identitas client tetapi hanya identitas proxy server. Jenis proxy server ada 2, yaitu forward proxy server (untuk client) dan reverse proxy server (untuk server). Banyak strategi yang digunakan untuk memperkuat jaringan, diantaranya rate limit (membatasi lalu lintas misalnya 5000 request dalam 1 menit), firewall (hanya paket data yang memenuhi syarat yang bisa masuk ke dalam jaringan), dan HTTPS (request yang dikirim akan dienkripsi).

Firewall di Linux dapat menggunakan iptables. Untuk memeriksa status konfigurasi pada iptables gunakan command: sudo iptables -L -v. Konfigurasi sederhana dapat dilakukan untuk membatasi request. Misalnya saja lakukan ping pada default gateway dan IP address. Untuk mendapatkan default gateway dan IP address di Linux gunakan command: ifconfig. Setelah didapatkan lakukan ping pada keduanya, secara default jika belum ada konfigurasi maka ping akan berhasil. Gunakan command di bawah untuk membatasi ping:

  • sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
    • sudo : untuk mendapatkan superuser do
    • -A OUPUT : mengelola akses keluar
    • -p icmp : protokol apa yang akan diblokir
    • --icmp-type echo-request : tipe icmp yang akan diblokir
    • -j DROP : melakukan aksi drop
  • sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    • -A INPUT : mengelola akses masuk

Jika dilakukan ping kembali pada default gateway maka akan muncul not permitted atau tidak dijinkan. Nah, untuk menetralkan kembali gunakana command: sudo iptables -F.




ref:
awsrestart.instructure.com
niagahoster.co.id

Dasar-Dasar Penggunaan Linux

Linux merupakan sistem operasi terbuka yang bisa dimodifikasi dan dikembangkan. Biasanya linux digunakan untuk menangani jaringan. Pertama kali dikembangkan oleh Linus Torvalds pada tahun 1991. Komponen mayor dari linux ada 5, yaitu kernel (driver), daemons (process), applications, data files, dan configuration files. Linux biasanya diakses melalui CLI atau command line interface, meskipun demikian tersedia juga dalam bentuk GUI atau graphical user interface. Kernel atau kalau di windows disebut driver merupakan komponen yang cukup krusial, sebab jika tidak dipatching sebelum update maka memungkinkan terjadinya crash atau bug. Ada 3 distro besar di linux, yaitu fedora, debian, dan openSUSE, distro ubuntu merupakan turunan dari debian sedangkan red hat merupakan turunan dari fedora. Distro red hat ini berbayar karena kita bisa bertanya jika terjadi error. Distro red hat memiliki kedekatan dengan CentOS karena distro CentOS merupakan distro gratis yang diharapkan menjadi jembatan sebelum menggunakan red hat.

Begitu linux di-install maka akan muncul di CLI untuk login (masukan user name) dan password (masukan kata sandi). Ada 3 syntax standar yang digunakan, yaitu man (untuk melihat man page), -i (mencari dengan case-insensitive), dan whoami (untuk mengetahui siapa yang login). Sedangkan untuk mengetahui identitas baik uid, gid, maupun groups bisa menggunakan syntax id. Nama host juga bisa diketahui melalui syntax hostname. Berikut daftar syntax yang mungkin dibutuhkan:

  • uptime : mengetahui panjang waktu sistem sejak boot
  • date : melihat tanggal
  • cal : melihat kalender
  • clear : menghapus layar
  • echo : seperti print pada python atau console.log di JavaScript
  • history : melihat apa yang telah dilakukan user
  • touch : membuat file dengan ekstensi tertentu
  • cat : menampilkan isi file
  • ls -l 1>folder.txt : menyimpan data permission ke file folder.txt
  • find / -name "*" -print 2> / dev/null : mencetak pesan error
  • ls : melihat file yang ada di lokasi saat ini
  • pwd : mengetahui lokasi saat ini
sumber: vitalsource.com

Cara untuk membuat user account menggunakan syntax: useradd (nama user), nah, untuk melihat user yang telah dibuat bisa menggunakan syntax: id (nama user). Berikut syntax penting untuk user atau group:

  • useradd -c "new employee" jdoe : membuat user baru bernama jdoe dengan komentar new employee
  • useradd -e 2025-01-01 jdoe : membuat user baru bernama jdoe dengan expired date 1 Januari 2025
  • useradd -d /users/jdoe jdoe : membuat user baru bernama jdoe dengan path home directory di /users/jdoe
  • userdel -r jdoe : menghapus user dengan nama jdoe
  • passwd (nama user) : memberikan password ke user tertentu
  • groupadd (nama group) : membuat grup
  • groupdel (nama group) : menghapus grup
  • groupmod -n (nama grup baru) (nama group lama) : mengubah nama grup
  • tail -n 3 /etc/group : melihat daftar group 3 terakhir
  • usermod -aG (nama grup pertama),(nama grup kedua) (nama user) : memasukan user ke dalam dua grup yang berbeda
  • gpasswd -a (nama user) (nama grup) : memasukkan satu user ke dalam satu grup
Pengguna linux memiliki 2 kategori yaitu root user(#) dan standard user($). Root user memiliki otoritas tertinggi, dia bisa membuat standard user termasuk mengubah dan menghapusnya. Untuk pindah ke root user bisa menggunakan syntax: su root. Su merupakan kependekan dari switch user. Di bawahnya ada sudo yang merupakan kependekan dari superuser do. Bedanya kalau su memiliki full administrative permission sedangkan sudo hanya memiliki permission yang didelegasikan.

Untuk membuat teks di linux ada 3 cara, yaitu melalui Vim, GNU nano, dan gedit. Pilihan untuk mengedit teks opsional bagi pengguna linux artinya bergantung kenyamanan. Secara user interface lebih mudah menggunakan GNU nano. Khusus untuk gedit hanya bisa dilakukan di GUI atau graphical user interface. Syntax yang digunakan untuk membuat file adalah: nano (nama file.ekstensi). Jika file yang sudah dibuat begitu banyak sehingga sulit untuk mencarinya satu per satu maka bisa menggunakan syntax grep, seperti:

  • ls -l | grep .txt : cari file atau folder dengan ekstensi .txt
  • ls -l | grep index : cari file atau folder dengan nama yang mengandung index
Ada 9 directories yang penting diketahui di linux, yaitu:
  • / : root of the file system
  • /boot : boot files and kernel
  • /dev : devices
  • /etc : configuration files
  • /home : standard users' home directories
  • /media : removable media
  • /mnt : network drives
  • /rott : root user home directory
  • /var : log files, print spool, network services
Syntax ls digunakan untuk menampilkan file atau folder di posisi saat ini. Syntax tersebut dapat dikombinasikan dengan -l (long format), -h (human friendly report), -a (show all files even hidden files), -R (menampilkan subdirectories. Untuk melakukan duplikasi file bisa menggunakan syntax cp, perhatikan contoh:
  • cp file.txt file1.txt : membuat duplikasi dari file.txt dengan nama file1.txt
  • cp (nama file) (destination) : membuat duplikasi dengan lokasi tertentu
  • rm (nama file) : menghapus file
  • mkdir (nama directories) : membuat directories
  • mv (nama file atau directories) (lokasi yang dituju) : memindahkan file atau direktori
  • rmdir (nama directory) : menghapus directory
  • pwd : mengetahui posisi saat ini
  • hash : melihat proses yang sedang running
  • cksum (nama file) : melihat value dari file biasanya untuk melihat terjadinya corrupt saat transfer
  • find (nama file atau directory) : menemukan nama file atau directory secara persis
  • grep (pattern) : menemukan nama file atau directory sesuai pattern tertentu
  • diff (file1) (file2) : membandingkan dua file
  • tar -cvf (nama kompres).tar file1 file2 : membuat kompres file1 dan file2
  • tar -xf (namaFile.tar) : untuk dekompres file .tar
  • gzip (namaFile.tar) : membuat file lebih terkompres
  • gzip -d (namaFile.tar.gz) : untuk dekompres file.tar.gz
Manajemen file di linux menggunakan kode rwx, r artinya read yaitu file bisa dibaca, w artinya write yaitu file bisa diedit, dan x artinya execute yaitu untuk file eksekusi di linux. Secara default baik root user maupun user standard bisa mengubah permission sebuah file dengan syntax: chmod (kode permission) (nama file yang akan diubah). Pengubahan permission ini ada 2 jenis, yaitu simbolik dan absolut. Sebelum mengganti permission sebuah file perlu diketahui permission dari file tersebut saat ini dengan syntax: ls -l. 
sumber: vitalsource.com

Gambar diatas menunjukkan siapa yang memiliki permission atas sebuah file, permission untuk user artinya khusus untuk user tersebut saja yang bisa mengakses, sedangkan permission group artinya setiap user yang masuk ke dalam grup bisa menggunakan permission tersebut, dan other permission artinya selain user dan group. Untuk mengubah permission dengan cara simbolik maka ada beberapa simbol yang perlu diketahui, yaitu:

  • Identity
    • u : user
    • g : guest
    • o : other
  • Permission
    • r : read
    • w : write
    • x : execute
  • Operator
    • + : menambah permission yang sebelum -
    • - : menghapus permission yang sebelumnya sudah ada
    • = : mengganti permission yang lama menjadi yang baru
  • Contoh penggunaan:
    • chmod u+r file.txt : mengubah permission file.txt menjadi read untuk user
    • chmod u-r file.txt : mengubah permission file.txt menjadi -
    • chmod u=x file.txt : mengubah permission file.txt yang sebelumnya r menjadi x
Sedangkan untuk absolute mdoe perhatikan simbol dibawah:
  • Read : 4
  • Write : 2
  • Execute : 1
  • All permision : 7
  • Contoh penggunaan:
    • chmod 400 file.txt : mengubah permission menjadi r--------
    • chmod 637 file.txt : mengubah permission menjadi rw--wxrwx
Selain mengubah permission, bekerja dengan command yang ada di linux menjadi krusial sebab itu adalah jalan untuk berinteraksi dengan sistem linux. Metacharacter yang perlu diketahui seperti * (star/wildcard/all), ? (hook/wildcard), ; (command chain), ~ (home directory), dan - (previous working directory). Contoh penggunaan star untuk menduplikasi data:
  • touch file.txt
  • touch file1.txt
  • mkdir file
  • cp *.txt file/
  • perintah di atas akan membuat file duplikasi yaitu file.txt dan file1.txt kemudian ditempatkan di directory file
Cara menghapus file dengan hook:
  • touch file2019.txt
  • touch file2020.txt
  • touch file2021.txt
  • touch file2022.txt
  • rm file202?.txt
  • perintah di atas akan membuat file dengan awalan file202 dan satu karakter apapun untuk dihapus
Untuk dapat memanipulasi teks perhatikan syntax di bawah:
  • sort (nama file) : otomatis data yang ada di dalam file akan diurutkan secara alfabet
  • sort -r (nama file) : otomatis data yang ada di dalam file akan diurutkan terbalik dari alfabet
  • sort -u (nama file) : mengurutkan dengan menghapus duplikat (biasanya digunakan untuk log)
  • sort -M (nama file) : mengurutkan berdasarkan Month (bulan)
Seperti sistem operasi lain yang menjalankan proses baik itu proses sistem atau proses aplikasi maka di linux juga demikian. Proses yang besar biasanya akan memiliki child process. Perhatikan syntax di bawah:
  • echo $PATH : melihat path secara spesifik
  • ps : melihat proses yang sedang berjalan
  • ps -ef : melihat seluruh proses yang sedang berjalan walaupun hidden
  • ps -e : melihat seluruh proses (hidden juga) tetapi lebih ringkas
  • pstree : melihat proses yang sedang berjalan dengan format tree
  • top : melihat rangkuman proses sistem real-time
  • killall -9 less : akan menghentikan proses dengan cmd less
  • jobs : menampilkan proses yang dimulai oleh user dengan urutan
  • at : untuk menjalankan proses
  • crontab -e : edit crontab file dengan root user
  • sudo systemctl status httpd : setelah install httpd maka diperiksa statusnya apakah berjalan
  • lscpu : menampilkan informasi dari cpu
  • lshw : menampilkan daftar hardware
  • du : memeriksa ukuran file dan direktori
  • df : melihat disk free
  • vmstat : melihat apakah menggunakan virtual memory
  • free : melihat apakah menggunakan physical memory
  • uptime : mengetahui sudah berapa lama sistem digunakan sejak diaktifkan
Kode sederhana juga dimungkinkan untuk dibuat di linux command line. Syntax echo mirip penggunaannya seperti console.log pada JavaScript. Memang mempelajari linux akan mirip-mirip mempelajari bahasa pemrograman php. Perhatikan syntax bash shell:
  • namasaya="ronaldo"
  • echo $namasaya
  • maka akan menghasilkan ronaldo
Perhatikan penggunaan syntax echo yang lain serta penggunaan alias:
  • echo $USER : untuk mencetak nama user
  • echo $HOME : untuk mencetak path home
  • echo $SHELL : untuk mencetak path bash
  • alias ll='ls -l' : cara singkat untuk mendapatkan ls -l dengan ll saja
  • unalias ll : menghapus cara singkat (short hand)
  • nano ~/.bashrc : menambahkan alias di file bashrc

Kalau di windows ada file eksekusi seperti .exe maka di linux file eksekusi berformat .sh. Sebelum melakukan eksekusi tentu file .sh tersebut perlu diubah permissionnya menjadi x atau execute. Perhatikan langkah pembuatannya:
  • Buat file script.sh
    • touch script.sh
  • Kemudian edit dengan nano
    • nano script.sh
  • Misalnya saat script.sh dijalankan akan menampilkan 'Hello World', gunakan shebang (#!/bin/bash)
    • #!/bin/bash

    • echo 'Hello World'
  • Simpan file yang diedit dengan nano tersebut kemudigan gunakan syntax dibawah untuk menjalankannya:
    • ./script.sh
  • Jika berhasil akan tampil frasa Hello World
Perhatikan pembuatan syntax untuk mengimplementasikan operator:
  • Buat file script.sh dan gunakan syntax:
    • #!/bin/bash

    • sum=$(($1 + $2))
    • echo $1 + $2 equals $sum
  • Jalankan syntax dengan
    • ./script.sh 4 5
  • Jika berhasil akan muncul 4 + 5 equals 9
Hati-hati dalam melakukan bash shell scripting karena whitespace itu menjadi penting, hal ini tentu berbeda dengan misalnya JavaScript yang tidak terlalu memperhatikan whitespace. Selain mencetak karakter dan melakukan operasi, di bash shell scripting juga ada conditional dan looping statements. Perhatikan statements di bawah:
  • Conditional statements
    • #!/bin/bash

    • if [ cp file1 /tmp ];
    • then
    •             rm file1
    • fi
  • Looping statements
    • for
      • #!/bin/bash

      • for x in 1 2 3 4 5 a b c d
      • do
      •             echo "the value is $x"
      • done
    • until
      • #!/bin/bash

      • counter=1
      • until [ $counter -gt 10 ];
      • do
      •             echo       $counter
      •             ((counter++))
      • done
      • echo "loop exited"
      • echo "counter equals $counter"
    • while
      • #!/bin/bash

      • counter=1
      • while [ $counter -le 10 ];
      • do
      •             echo $counter
      •             ((counter++))
      •             if [ counter == $1 ];
      •             then
      •                       break
      •             fi
      • done
      • echo "loop exited"
      • echo "counter equals $counter"
Di dalam statement ada yang dikenal sebagai exit way yaitu exit 0 (tidak ada error), exit 1 (ada error), dan exit n (ada error yang spesifik).

Kernel dalam linux sangat penting karena jika terjadi masalah maka akan menghambat proses bahkan bisa menghentikan proses. Kernel itu mirip seperti driver di windows. Patching adalah salah satu metode yang digunakan untuk menyeragamkan instalasi dari kernel yang ada di linux. Sayangnya linux memiliki beberapa distro yang membuat cara untuk manajemen perangkat lunak berbeda. Sedikitnya ada 2 pendekatan, yaitu red hat method dan debian method. Untuk mendownload update-an misalnya ada dua metode yaitu wget dan curl. Sebaiknya menggunakan wget jika hendak mendownload sebab dengan wget jika terjadi proses download yang berhenti maka bisa dilanjutkan sedangkan dengan curl akan membuat proses download dimulai dari awal. 

Selain manajemen perangkat lunak di linux juga perlu dilakukan manajemen log yaitu aktivitas yang terjadi di sistem operasi. Ada 8 level keamanan log di linux, yaitu:

  • 0 - emergency (sistem menjadi tidak stabil)
  • 1 - alert (aksi dibutuhkan)
  • 2 - critical (sistem mungkin tidak dibutuhkan)
  • 3 - error (kondisi error yang tidak kritis)
  • 4 - warn (peringatan)
  • 5 - notice (normal events)
  • 6 - info (informasi umum)
  • 7 - debug (informasi debug)

Biasanya seorang manajer log akan melihat apa aktivitas pertama atau aktivitas terakhir. Nah, untuk memudahkan untuk melihatnya bisa menggunakan syntax head dan tail. Karena biasanya banyak sekali log yang ada teknik pencarian dengan pip ( | ) dan grep cukup sering digunakan. Ada 9 file log yang penting, yaitu:

  • /var/log/syslog - store system information
  • /var/log/secure - authentication information red hat
  • /var/log/kern - linux kernel information
  • /var/log/boot.log - startup message
  • /var/log/maillog - mail message
  • /var/log/daemon.log - running background service
  • /var/log/auth.log - authentication information debian
  • /var/log/cron.log - schedule task
  • /var/log/httpd - apache information for red hat
Untuk melihat login terakhir gunakan syntax lastlog.




ref:
awsrestart.instructure.com

Jokourno

Jokourno is focus for providing efficient and fair solutions for all

Dasar Arsitektur Teknologi Informasi

Dahulu untuk seseorang bertemu dengan keluarganya di tempat yang jauh maka diperlukan perjalanan yang panjang, bahkan melewati lautan dan padang pasir. Selanjutnya ada kemudahan karena munculnya teknologi seperti kendaraan bermotor dan pesawat. Namun itu semua masih membutuhkan waktu yang seringkali menjadi penghambat. Dewasa ini dengan perkembangan teknologi informasi seseorang dapat langsung bertukar informasi secara real-time melalui video conference. Dengan adanya kemajuan tersebut membuat setiap perkumpulan berlomba-lomba membuat sistem teknologi informasi yang memanjakan pelanggannya. Sayangnya terkadang pembuatan sistem teknologi informasi tersebut mengabaikan arsitektur yang dipersyaratkan. sumber: https://pixabay.com/illustrations/video-conference-webinar-5352757/ Untuk membuat sistem informasi yang baik diperlukan pemahaman setidaknya 2 hal yaitu software dan hardware. Keduanya tentu saja memiliki arsitektur tersendiri seperti object oriented programming, functional progr...

Perancangan Machine Learning

Pemrograman dibuat untuk menyelesaikan permasalahan. Dalam pemrograman konvensional akan dibuat deretan kode yang memecah masalah tersebut menjadi solusi yang lebih kecil. Sayangnya ketika masalah itu begitu kompleks maka deretan kode yang diperlukan akan sangat banyak. Pada kondisi inilah machine learning dimungkinkan sebagai solusi. Alih-alih membuat deretan kode yang sangat banyak dari suatu permasalahan konteks, machine learning akan membuat penyelesaian lebih sederhana. Tipe machine learning sendiri ada 4, yaitu supervised, unsupervised, semi-supervised, dan reinforcement. Pada tipe reinforcement, mesin menggunakan teknik pengambilan keputusan terbaik, secara berurutan, untuk memaksimalkan ukuran sukses kehidupan nyata. Ada 4 komponen utama pada mesin tipe reinforcement, yaitu action, agent, environment, dan rewards. Semua itu menggambarkan Marcove Decision Process (MDP). sumber: https://magnitt.com/news/world%E2%80%99s-most-valuable-resource-no-longer-oil-data-21035 Sebagaimana d...

Minuman Cayenne Pepper

source: https://favpng.com/png_view/chilli-with-chicken-cayenne-pepper-chili-pepper-peppers-food-bell-pepper-png/xiXNdS3r Cayenne pepper (Capsicum annuum) adalah jenis cabai yang berasal dari keluarga solanaceae, yang dikenal dengan rasa pedasnya yang kuat. Cabai ini biasanya digunakan sebagai bahan bumbu dalam masakan untuk memberikan rasa pedas dan sedikit rasa manis. Cayenne pepper memiliki bentuk panjang dan tipis dengan warna merah cerah saat matang, namun pada umumnya dapat ditemukan dalam bentuk bubuk yang lebih praktis digunakan dalam masakan sehari-hari. Cayenne pepper mengandung senyawa aktif yang disebut capsaicin, yang memberikan rasa pedas dan memiliki berbagai manfaat kesehatan. Capsaicin diketahui dapat merangsang metabolisme, meningkatkan pembakaran lemak, serta memiliki sifat antiinflamasi dan analgesik. Oleh karena itu, cayenne pepper sering digunakan dalam pengobatan tradisional untuk membantu mengatasi masalah pencernaan, meredakan nyeri otot, dan meningkatkan p...