-->
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

Optimisasi Mesin Pencari

Tujuan dari optimisasi mesin pencari adalah untuk meningkatkan lalu lintas pengunjung ke halaman web. Sedikitnya optimisasi dapat diterapkan pada halaman, judul, url, dan konten. Secara garis besar optimisasi dibagi menjadi dua bagian yaitu on-page dan off-page. Beberapa fokus pada optimisasi on-page adalah:

  1. Meta Deskripsi
    • Merupakan salah satu elemen HTML yang mendeskripsikan atau merangkum isi dari konten. Dia akan muncul sebagai ringkasan dalam mesin pencarian.
  2. Struktur HTML
    • Penempatan dari elemen-elemen HTML dapat dianalogikan seperti formasi dalam pertandingan sepak bola. Formasi yang baik akan memberikan potensi kemenangan begitu juga pada penempatan elemen-elemen HTML.
  3. Title Tag
    • Bagian dari elemen HTML yang berisi judul. Sebaiknya judul disesuaikan dengan kata kunci pencarian yang sering muncul.
  4. Alt Text
    • Sampai saat ini mesin pencari masih terbatas pembacaannya pada teks, sehingga gambar belum mampu dirender. Untuk mengatasi hal tersebut dapat dibuat alt-text atau alternative text sebagai penjelas dari gambar atau objek yang belum mampu di render.
  5. Secure Socket Layer
    • SSL akan mengubah url menjadi https. Keamanan dari website akan diprioritaskan oleh mesin pencari. Upgrade dari SSL saat ini adalah TLS atau Transport Layer Security.

Sedangkan optimisasi off-page berfokus pada:

  1. Domain Authority
    • Metode pengukuran seberapa efektif dan efisien SEO yang telah dikembangkan. Dengan pengukuran secara online, cukup memasukkan url lalu akan muncul penilaian dari url tersebut, diantara website penyedia itu adalah moz.com.
  2. Backlink
    • Bukan kita yang membuat link menuju website atau blog orang melainkan orang lain yang membuat link menuju website atau blog kita.

Sumber: https://pixabay.com/id/illustrations/pengembang-programmer-teknologi-3461405/

Dengan menggunakan optimisasi mesin pencari, lalu lintas pengguna web akan meningkat. Asumsi dasarnya dimana banyak orang berada maka akan ada potensi ekonomi yang berakhir pada profitabilitas. Begitu pentingnya optimisasi mesin pencari hingga ada posisi khusus sebagai spesialis SEO.




ref:
blog.avana.id

Dari Trading Menuju Investasi Saham

Finansial adalah sebuah aktivitas yang tidak terhindarkan dalam kehidupan manusia. Kebutuhan yang semakin banyak dan keterbatasan manusia membuat setiap manusia saling bahu-membahu untuk memenuhi kebutuhannya. Alat untuk saling bantu-membantu itu diterjemahkan dalam bentuk mata uang. Nah, mata uang ini yang dibahas dalam kajian finansial. Jika seseorang tidak merencanakan keberhasilan finansial maka orang tersebut sedang merencanakan kegagalan finansial.

Saham adalah bukti kepemilikan pada suatu perusahaan dan merupakan klaim atas penghasilan dan kekayaan perusahaan. Tujuan dari saham itu ada dua, yaitu investasi (jangka panjang minimal 1 tahun, idealnya 5 tahun) dan trading (jangka pendek, bisa bulanan, mingguan, atau bahkan harian). Dalam dunia saham yang dibeli itu adalah prospeknya. Jika harga saham murah namun memiliki masa depan buruk maka itu adalah harga yang mahal dalam dunia investasi.

Sumber: https://pixabay.com/id/photos/arsitektur-bangunan-bisnis-kota-1868667/

Sedikitnya ada 5 prinsip dasar dalam investasi, yaitu:

  1. Pastikan legalitas baik perijinan dan pengawasan lembaga terpercaya
  2. Harus logis dari mana hasil keuntungan
  3. Gunakan dana lebih, bukan uang dapur atau hutang.
  4. Jangan menempatkan pada satu jenis instrumen
  5. Pahami produk investasi
  6. Pantau perkembangan produk

Seorang trader saham mengambil keuntungan utama dari capital gain atau selisih positif antara harga jual dan harga beli, tidak memperhatikan bagaimana prospek perusahaan lebih mengutamakan mendapatkan keuntungan dari selisih jual-beli. Sedangkan seorang investor mengambil keuntungan utama dari dividen atau bagi hasil karena perusahaan mendapatkan laba. Investor tidak mempermasalahkan naik turunnya kondisi saham dalam jangka pendek, yang penting adalah di masa depan akan lebih baik.

Sebenarnya inflasi adalah faktor utama seseorang melakukan trading atau investasi saham. Dengan adanya inflasi nilai mata uang akan menurun yang berdampak naiknya harga barang. Jika mata uang itu hanya ditabung maka kemampuan tabungan itu tidak akan sepadan dengan adanya inflasi. Emas dan deposito hanya mampu mengimbangi belum dapat melampaui secara signifikan. Di sinilah letak fungsi saham. Perlu dicatat risiko dari saham ada minimal tiga, yaitu: perusahaan bangkrut, capital loss, dan suspended & delisting.

Di dalam konsep cash flow quadrant dikenal istilah jebakan rat race. Jebakan tersebut akan membuat seseorang terus bekerja untuk mendapatkan uang karena adanya kebutuhan hidup. Pada dasarnya setiap orang pernah terjebak dalam rat race tersebut sehingga strategi investasi untuk keluar dari sana akan sangat penting. Menurut Warren Buffett, investasi harus rasional, jika Anda tidak memahaminya maka jangan melakukannya.

Fase Strategi

Strategi merupakan keputusan yang diambil untuk jangka yang lebih panjang, sedangkan taktik merupakan keputusan yang diambil untuk jangka pendek. Pemahaman dasarnya sesuatu yang menjadi tujuan jangka panjang lebih diutamakan daripada sesuatu yang menjadi tujuan jangka pendek. Sedikitnya ada 4 fase untuk menentukan strategi, yaitu:

  1. Formulating a Plan
    • Fase ini untuk mengatur secara objektif dan mengidentifikasi jalan yang digunakan untuk mendapatkan pencapaian.
  2. Implementation of Strategies
    • Fase ini adalah eksekusi untuk jalan-jalan yang telah teridentifikasi.
  3. Evaluating the Strategy's Results
    • Dari jalan-jalan yang telah teridentifikasi dan dieksekusi akan muncul hasil, namun hasil tersebut harus dievaluasi kembali.
  4. Modification and Amplification
    • Hasil dari evalusi akan mengarahkan modifikasi dari jalan-jalan yang telah teridentifikasi untuk menuju jalan yang lebih luas.

Sumber: https://pixabay.com/id/vectors/presentasi-statistik-anak-laki-laki-1454403/

Pencapaian puncak disebabkan strategi yang tepat. Strategi berbeda dengan taktik, dalam penerapannya taktik bersifat pendek sedangkan dalam penerapan strategi, sifatnya panjang. Strategi yang tepat hanya bisa didapatkan dengan wawasan yang luas dan tujuan yang jelas. Tanpa wawasan yang luas, keputusan yang diambil kemungkinan besar adalah taktik dan bukan strategi. Begitu juga tanpa tujuan yang jelas maka strategi yang telah ada tidak dapat diyakini penerapannya.




ref:
idxevent
cgs-cimb
smallbusiness.chron.com

Kerangka Kerja Manajemen Risiko

Risiko dalah sesuatu yang dikeluarkan karena adanya aktivitas yang sedang dituju. Sebagai pendekatan misalnya seorang pengendara sepeda yang melakukan perjalanan sejauh 30km akan memiliki risiko berkeringat. Jika keringat tersebut tidak ditanggulangi maka pakaian saat berkendara dapat menjadi basah yang mengganggu perjalanan. Untuk mengatasi keringat tersebut bisa dilakukan penggunaan pakaian khusus untuk bersepeda atau bahkan menggunakan obat-obatan tertentu untuk membuat jumlah keringat menjadi sedikit.

Kegiatan mengatur risiko disebut dengan manajemen risiko. Untuk mencapai manajemen risiko yang optimum diperlukan kerangka kerja. Komponen dari kerangka kerja manajemen risiko adalah:

  1. Identification
    • Semua hal terkait organisasi atau tim kerja, baik itu berupa strategi, hukum, operasional, dan privasinya.
  2. Measurement and Assessment
    • Pembuatan ukuran dan penilaian biasanya dengan cara membandingkan antara visi-misi dan keadaan saat ini serta memperhatikan bagaimana tim kerja lain.
  3. Mitigation
    • Ini semacam soal ujian yang perlu untuk dicari solusinya. Biasanya akan muncul banyak sudut pandang yang perlu dipertimbangkan secara jeli.
  4. Reporting and Monitoring
    • Pelaporan dan pemantauan merupakan cara untuk melihat perkembangan dari mitigasi atau solusi dari risiko yang mungkin ada.
  5. Governance
    • Memastikan bahwa mitigasi yang hendak diterapkan tidak melanggar aturan pemerintah.

Sumber: https://pixabay.com/id/vectors/mempertaruhkan-uang-investasi-upaya-6771847/

Setelah memahami komponen dari risiko maka diperlukan langkah-langkah untuk menerapkan. Sedikitnya ada 7 langkah dari penerapan kerangka kerja manajemen risiko:

  1. Prepare
    • Langkah pertama dilakukan persiapan untuk mencari kunci-kunci dari risiko yang ada.
  2. Categorize
    • Setelah kunci-kunci risiko didapatkan maka perlu untuk dikategorikan menurut tingkat risiko tertentu.
  3. Select
    • Langkah ketiga adalah memilih kendali yang akan diambil berdasarkan tingkat risiko.
  4. Implement
    • Setelah pasti dalam pemilihan kendali maka penerapan dari kendali tersebut.
  5. Assess
    • Langkah kelima, menilai bahwa kendali tersebut berhasil memitigasi risiko yang ada.
  6. Authorize
    • Jika telah terbukti kendali tersebut berhasil memitigasi risiko yang ada maka perlu dilakukan otorisasi terhadap kendali.
  7. Monitor
    • Risiko yang telah berhasil dimitigasi harus dipantau terus perkembangannya karena boleh jadi muncul risiko baru dimasa yang akan datang.

Komponen yang diterapkan dalam langkah-langkah tersebut dimaksudkan untuk mengidentifikasi, mengeliminasi, dan meminimumkan risiko yang ada dari sebuah kegiatan. Sebagai catatan setiap kegiatan pasti memiliki risiko.

Hukum

Agunan adalah salah satu objek dari hukum. Biasanya agunan digunakan untuk melakukan hutang-piutang. Di Indonesia ada tiga jenis agunan, yaitu gadai, fidusia, dan hipotek. Barang yang digadai harus berupa benda bergerak seperti logam mulia, sedangkan fidusia adalah pengalihan hak kepemilikan atas suatu benda dengan dasar kepercayaan selama benda tersebut masih berada di bawah kendali pemilik benda. Berbeda dengan gadai dan fidusia, hipotek mengharuskan klaim dari barang yang tidak bergerak seperti tanah.

Sumber: https://pixabay.com/id/vectors/pertimbangan-keadilan-hakim-palu-6823792/

Hukum pembangunan di Indonesia sering dikaitkan dengan tokoh bernama Mochtar Kusumaatmadja. Dari berbagai tulisan beliau bisa dianggap termasuk ahli hukum yang menganut hukum positif.  Hal itu dapat dilihat dari pernyataannya bahwa, hukum sebagai kaidah sosial tidak lepas dari nilai yang berlaku di suatu masyarakat. Lebih lanjut beliau menyatakan bahwa hukum merupakan pencerminan dari nilai-nilai yang berlaku di suatu masyarakat.

Di dunia teknik khususnya pekerja yang bekerja di daerah yang berbahaya perlu memahami Undang-Undang Ketenagakerjaan tahun 2003 yang memuat tentang prinsip-prinsip dasar yang berkaitan dengan pelaksanaan keselamatan kerja. Prinsip dasar tersebut adalah:

  1. Perlindungan pekerja
  2. Jaminan atas keselamatan dan kesehatan kerja
  3. Tanggung jawab pengusaha
  4. Campur tangan negara atau intervensi pemerintah

Penerapan hukum yang baik akan memperlancar pembangunan, sehingga diperlukan kerjasama setiap pihak yang terkait di dalamnya.




ref:
searchcio.techtarget.com
prospeku.com
spsibekasi.org

Metaverse

Teknologi blockchain merupakan sebuah penerapan dari blok rantai transaksi secara digital. Berbeda dengan transaksi nyata yang lebih sulit untuk dilacak. Bayangkan jika seseorang mengambil uang di sebuah anjungan tunai mandiri kemudian uang tersebut dibelikan siomay di tengah jalan lalu orang tersebut itu pulang ke rumah. Nah, untuk membuktikan bahwa orang tersebut betul membeli siomay maka salah satu buktinya harus bertanya kepada penjual siomay tersebut. Padahal mungkin saja penjual siomay itu telah pergi dari tempatnya dan sulit untuk dicari. Berbeda dengan dunia digital yang akan selalu meninggalkan jejak berupa kode tertentu sehingga lebih mudah dilacak. Kegiatan pencatatan transaksi secara digital dengan rantai dari blok-blok transaksi itu yang membuat teknologi blockchain lebih dapat dipercaya.

Sumber: https://pixabay.com/id/vectors/metaverse-maya-ruang-angkasa-dunia-6786713/

Data transaksi di blockchain akan disimpan dalam bentuk hash yang berupa deretan kode panjang yang memvalidasi suatu transaksi. Basis dari transaksi ini tentunya adalah web, pada web 1.o kegiatan digital hanya bersifat satu arah karena berupa bacaan seperti majalah. Seiring waktu berkembang menjadi web 2.o yang menjadi dua arah namun hanya dapat dilakukan oleh segelintir orang yang mengerti teknologi. Kemudian untuk mengembangkan diri terbentuk web 3.o yang bersifat dua arah dan global.

Lalu akan muncul pertanyaan bagaimana membuktikan bahwa aset digital tersebut milik seseorang maka muncul teknologi NFT atau Non Fungible Token atau token yang tidak dapat dipertukarkan. NFT adalah bukti kepemilikan dari aset digital. Maksud dari aset digital tidak hanya berupa crypto currency tetapi juga image, video, dan tanah digital. Karena adanya blockchain  yang memunculkan mata uang digital dan adanya NFT yang menjadi bukti dari adanya aset digital maka muncul dunia baru bernama metaverse.

Konsep dari metaverse adalah memindahkan avatar yang ada di dunia nyata ke dunia digital. Jadi setiap orang bisa bekerja, bermain, serta belajar di dunia baru bernama metaverse. Dunia baru tersebut akan berjalan di atas pondasi blockchain.


ref:
dicoding event

Elastisitas Permintaan

Menurut Philip Kotler, harga adalah salah satu unsur bauran pemasaran yang
menghasilkan pendapatan; unsur-unsur lainnya menghasilkan biaya. Harga yang baik akan mengalami dua kemungkinan yaitu naik dan turun. Harga yang tetap menunjukan kurangnya aktifitas ekonomi, sebetulnya harga yang tetap menunjukan penurunan. Prinsip dalam jual-beli adalah membeli saat harga rendah dan menjual saat harga tinggi. Lalu bagaimana memperkirakan harga akan rendah atau harga akan tinggi?.

Secara sederhana dapat dilakukan dua analisa, yaitu analisa fundamental dan analisa teknikal. Analisa fundamental adalah penelaahan sesuatu berdasarkan berita yang beredar. Misalnya ada berita bahwa dua bulan lagi akan diadakan festival layang-layang. Diketahui bahwa salah satu bahan layang-layang adalah kertas. Kita juga dapat mengetahui bahwa antusiasme masyarakat untuk melihat fertival tersebut akan membuat banyak orang untuk membuat layang-layang. Akhirnya kita dapat memprediksi permintaan akan kertas layang-layang. Ini adalah analisa fundamental secara sederhana.

Berbeda dengan analisa fundamental, analisa teknikal merupakan deretan data historis yang dapat memperkirakan permintaan. Jika kita mengetahui setiap 6 bulan sekali akan ada festival layang-layang, dan selama 3 tahun terakhir kita berhasil mencatat berapa estimasi kertas yang berhasil terjual setiap diadakan festival layang-layang maka kita dapat memperkirakan kebutuhan kertas di masa yang akan datang. Selain itu pertumbuhan penduduk yang signifikan akan mendorong permintaan yang meningkat.

Sumber: https://pixabay.com/id/photos/layang-layang-festival-pantai-warna-4338128/

Dengan melakukan kombinasi dari kedua analisa maka akan didapatkan keputusan terbaik kapan saat membeli dan kapan saat menjual. Di sana adalah kunci dari keberhasilan jual-beli.

Elastisitas permintaan akan membantu untuk mengetahui berapa banyak jumlah yang dibeli berkurang saat harga naik. Jika suatu barang atau jasa memiliki elastisitas permintaan maka konsumen akan banyak melakukan pertimbangan belanja. Ada tiga jenis utama elastisitas harga permintaan: elastis, elastisitas satuan, dan tidak elastis.

  • Koefisien elastisitas permintaan = % perubahan permintaan / % perubahan harga
  • Ed = (∆Q/∆P) x (P/Q)
  • Ed = koefisien elastisitas permintaan
  • ∆Q = perubahan jumlah penawaran
  • ∆P = perubahan harga
  • Q = Jumlah permintaan awal
  • P = harga awal

Sumber: http://web-suplemen.ut.ac.id/espa4111/espa4111a/MENU1/elastisitas_harga_permintaan1.htm

Misalnya harga telur saat ini menjadi Rp20.000,00- yang sebelumnya Rp15.000,00-. Karena adanya kenaikan harga akibatnya terjadi perubahan permintaan dari 2000 butir menjadi 1000 butir. Perhitungan elastisitas permintaan adalah:

  • P = 15.000
  • dP = 20.000 - 15.000 = 5.000
  • Q = 2.000
  • dQ = 1.000 - 2.000 = -1.000 (negatif diabaikan)
  • Ed = (∆Q/∆P) x (P/Q)
  • Ed = (1.000/5.000) x (15.000/2.000)
  • Ed = 1,5

Karena nilai Ed > 1 maka kategori perubahan tersebut termasuk elastis.


ref:
https://accurate.id/
https://www.ekrut.com/

Database di Amazon

Perlu diketahui bahwa storage dan database itu berbeda. Perbedaannya pada database terdapat engine sedangkan pada storage tidak. Seperti diketahui bahwa database membutuhkan server. Untuk menyimpan sementara data dari EC2 instance maka dibuat instance store. Jangan menyimpan file penting di instance store. Untuk menyimpan data yang penting diperlukan lokasi penyimpanan yang permanen sehingga data tidak hilang ketika EC2 instance stop. Amazon Elastic Store adalah media penyimpanan secara permanen. Data yang tersimpan tersebut memang telah permanen, namun akan ada baiknya dibuat cadangan untuk mencegah hal yang tidak diinginkan. Jika dilakukan duplikasi maka akan membuang banyak sumber daya, maka solusinya adalah pencadangan inkremental. Amazon EBS (Elastic Block Service) Snapshot adalah layanan yang disediakan. 



Sumber: https://pixabay.com/id/vectors/skema-database-tabel-data-skema-1895779/

Setiap objek yang disimpan terdiri atas data, metadata, dan kunci. Yang dimaksud data itu bisa teks, dokumen, gambar, atau video. Sedangkan metadata itu berisi informasi mengenai data tersebut. Lain halnya dengan kunci yang berisi identifier atau pengenal yang unik. Tingkat penyimpanan itu ada dua, yaitu block-level storage dan object-level storage. Jika sebuah data dihapus pada level blok maka hanya data tertentu yang akan dihapus, sedangkan jika data dihapus pada level objek maka seluruh data itu akan diperbarui. Di dalam Amazon S3 atau Amazon Simple Storage Service terdapat kelas penyimpanan yaitu:

  • S3 Standard
  • S3 Standard-Infrequent Access (S3 Standard-IA), data yang jarang diakses
  • S3 One Zone-Infrequent Access (S3 One Zone-IA), data yang jarang diakses dan disimpan di satu zona
  • S3 Intelligent Tiering, menyimpan sekaligus mengetahui pola data
  • S3 Glacier, menyimpan data untuk keperluan audit
  • S3 Glacier Deep Archive, menyimpan data untuk keperluan audit namun aksesnya butuh waktu lebih lama
Amazon Elastic File System atau Amazon EFS merupakan sistem file terkelola yang bisa diskalakan dan bisa digunakan oleh AWS cloud dan on-premise. Berbeda dengan Amazon EBS yang tidak dapat membaca dan menulis data secara bersamaan, di Amazon EFS data tersebut dapat dibaca dan ditulis secara bersamaan sehingga dapat discaling secara horizontal berdasarkan AZ atau Availability Zone.

Data yang telah tersedia tentu akan diambil manfaat dengan diolah maka munculah Amazon Relational Database Service. Didalamnya terdapat beberapa fitur yaitu:

  • Automated Patching (memperbaiki masalah dengan memperbarui program)
  • Backup (pencandangan)
  • Redundancy (memiliki lebih dari satu instance untuk berjaga-jaga jika instace pertama gagal beroperasi)
  • Failover (instance lain akan mengambil alih saat instance utama mengalami kegagalan)
  • Disaster Recovery (memulihkan pascabencana)
  • Encryption at Rest (enkripsi data saat disimpan)
  • Encryption in-transit (enkripsi data saat sedang dikirim dan diterima)
Pengelolaan database yang lebih maju bisa didapatkan dari Amazon Aurora. Jika Amazon RDS digunakan untuk data relasional, maka ada juga Amazon DynamoDB yang merupakan not only relational database atau noSQL. Setelah database dibuat maka data-data tersebut harus dapat dikonfigurasi, senantiasa tangguh, dan scaling secara berkelanjutan. Selain itu semua, tentu saja data-data tersebut mengandung informasi penting yang dapat digunakan perusahaan. Untuk mendapatkan informasi tersebut perlu dilakukan pengolahan data, hanya saja data yang diolah dalam hal ini sangat besar atau big data. Sebagai solusi muncul layanan Amazon Redshift.

Beberapa pengguna internet telah memiliki database sebelumnya. Jika ia hendak menggunakan layanan database dari Amazon maka perlu dilakukan migrasi dengan layanan AWS Database Migration Service. Migrasi database dilakukan menurut jenisnya ada dua yaitu homogen dan heterogen. Cukup mudah dan tidak membutuhkan waktu yang lama jika data antara database awal dan akhir berjenis homogen. Namun, untuk database yang bersifat heterogen maka diperlukan pengubahan data terlebih dulu menggunakan AWS Schema Conversion Tool.

Layanan database tambahan dari Amazon:
  • Amazon DocumentDB
  • Amazon Neptune
  • Amazon Managed Blockchain
  • Amazon Quantum Ledger Database
Akselerator database dari Amazon:
  • Amazon ElastiCache
  • Amazon DynamoDB Accelerator

Pada kasus tertentu misalnya nuxtjs yang tanpa SSR atau server side rendering dapat langsung di upload distribution folder-nya dan untuk memudahkan hosting bisa menggunakan AWS Amplify Hosting. Untuk mencegah terjadinya lonjakan user maka perlu ditambahkan layanan Amazon CloudFront.

Dalam mengelola database ada 4 peran, yaitu application developer, end user, data analyst, dan database administrator. Application developer berperan melakukan konsolidasi dan manipulasi data dengan sebuah database sehingga terbuat sebuah dashboard dan laporan untuk user. End user melakukan input informasi yang terkadang inputan ini memiliki variasi sehingga data yang dihasilkan tidak bersih, nah, di sanalah peran dari seorang data analyst untuk mengoleksi, membersihkan, dan menginterpretasikan data. Sedangkan database administrator berperan untuk melakukan desain, implementasi, administrasi, dan memantau data yang ada di dalam sistem database. Keempat peran tersebutlah yang melakukan transaksi dalam database.

Secara default transaksi di dalam database dilakukan dengan csv. Seperti namanya csv menggunakan koma sebagai pemisah, selain koma juga digunakan \n untuk membuat baris baru. Database yang baik tidak boleh mengandung null dan datanya sesuai tujuan. Maksud sesuai tujuan adalah kolom nama, ya seharusnya berisi nama dan bukan alamat. Perhatikan query penting yang ada di database khususnya SQL:

  • Required clauses
    • SELECT : untuk memilih kolom dalam tabel
    • * : disebut sebagai wildcard yang menunjuk semua kolom dalam tabel
    • FROM : dari tabel apa
  • Optional clauses
    • WHERE : kondisional dalam kondisi tidak di group
    • GROUP BY : membuat grup tertentu
    • HAVING : kondisional jika digunakan query GROUP BY
    • ORDER BY : disusun berdasarkan kolom dengan ascending atau descending

Perhatikan standar proses awal dalam melakukan analisis dengan SQL:

  1. Buka command provider atau linux dan gunakan command:
    • sudo su
    • mysql -u root --password='(ketik password)'
  2. Tampilkan database yang tersedia
    • SHOW DATABASES;
  3. Gunakan salah satu database yang diperlukan
    • USE (nama database, ingat case sensitive);
  4. Tampilkan tabel yang tersedia dalam database
    • SHOW TABLES;
  5. Tampilkan field dan type yang ada di dalam tabel
    • DESC (nama database).(nama tabel);
  6. Lakukan eksplorasi menggunakan required clauses dan/atau optional clauses, perhatikan contohnya:
    • Menampilkan field continent dan surfacearea dari tabel country dengan nama Ireland
      • SELECT continent, surfacearea FROM country WHERE name = 'Ireland';
    • Menampilkan field name, life, dan life ditambah 5 dari tabel country dengan gnp lebih besar dari 1300000
      • SELECT name, life, life+5 FROM country WHERE gnp > 1300000;
    • Menampilkan field name dan population dibagi surfacearea dari tabel country dengan hasil population dibagi surfacearea lebih besar dari 3000
      • SELECT name, population/surfacearea FROM country WHERE population/surfacearea > 3000;
    • Menampilkan filed name dan district dari tabel city dengan countrycode IND dan district Delhi
      • SELECT name, district FROM city WHERE countrycode = 'IND' AND district='Delhi';
    • Menampilkan field name dan district dari tabel city dengan field district mengandung Delhi, Punjab, atau Kerala
      • SELECT name, district FROM city WHERE district IN ('Delhi','Punjab','Kerala');
    • Menampilkan field name dan district dari tabel city dengan field district yang mengandung huruf depan west
      • SELECT name, district FROM city WHERE district LIKE 'west%';
    • Menampilkan field name dan district dari tabel city dengan field district yang mengandung huruf belakang west
      • SELECT name, district FROM city WHERE district LIKE '%west';
    • Menampilkan field countrycode dan name dari tabel city dengan field countrycode terdiri atas 3 huruf dan huruf tengahnya B
      • SELECT countrycode, name FROM city WHERE countrycode LIKE '_B_';
    • Menampilkan field countrycode dan name dari tabel city dengan nilai populasi antara 500000 dan 505000
      • SELECT countrycode, name FROM city WHERE population BETWEEN 500000 AND 505000;
    • Menampilkan field name, district dan population dari tabel city dengan field countrycode berisi CAN dan field district tidak berisi Ontario atau Alberta
      • SELECT name, district, population FROM city WHERE countrycode = 'CAN' AND district NOT IN ('Ontario', 'Alberta');
    • Menampilkan field name, district dan population dari tabel city dengan countrycode PAK dan district Punjab atau Sindh dan nilai populasinya lebih besar dari 1500000
      • SELECT name, district, population FROM city WHERE countrycode='PAK' AND (district='Punjab' OR district='Sindh') AND population > 1500000;
    • Menampilkan field name, life dan life+5 yang dialiaskan dengan Life Expected berkondisi gnp lebih besar dari 1300000
      • SELECT name, life, life+5 AS 'Life Expected' FROM country WHERE gnp > 1300000;

Sejauh ini sudah digunakan 11 jenis conditional search yang tentunya bisa dikombinasikan. Praktis conditional search hanya akan membuat tahu data yang ada sedangkan dalam analisis tentu diperlukan perhitungan, nah, untuk memudahkan perhitungan sudah disediakan function bawaan dari SQL seperti:

  • Mengembalikan tanggal saat ini YYYY-MM-DD
    • SELECT CURRENT_DATE();
  • AVG () : mencari rata-rata
  • COUNT () : menghitung jumlah item
  • MAX () : mengembalikan nilai tertinggi
  • MIN () : mengembalikan nilai terendah
  • SUM () : mengembalikan jumlah seluruh nilai
Fungsi seperti AVG(*) disebut sebagai fungsi agregat yang akan mengembalikan satu nilai berupa rata-rata dari sederet angka. Kata kunci DISTINCT dapat ditambahkan setelah query SELECT jika ingin fokus pada data yang bersifat unik atau tidak duplikat. Selain itu ada funsi TRIM yang digunakan untuk menghapus karakter, jika RTRIM maka karakter di akhir sedangkan LTRIM artinya yang dihapus karakter di awal. Perhatikan query lanjutan:
  • Menampilkan field name, continent dan surfacearea dari tabel country dengan surfacearea lebih besar atau sama dengan 5000000 kemudian diurutkan secara ascending pada field continent dan jika ada kandungan yang sama pada continent maka diurutkan secara descending berdasarkan field surfacearea
    • SELECT name, continent, surfacearea FROM country WHERE surfacearea >= 5000000 ORDER BY continent ASC, surfacearea DESC;
    • Alternatif
      • SELECT name, continent, surfacearea FROM country WHERE surfacearea >= 5000000 ORDER BY 2 ASC, 3 DESC;
  • Menampilkan field continent dan alias countries dari tabel country dengan continent bernama South America dan populasi lebih besar dari 12000000 atau continent sama dengan Antarctica kemudian di group berdasarkan continent dengan kondisi jumlah nama lebih besar dari 5 dan diurutkan secara ascending dari continent kemudian countries
    • SELECT continent, COUNT(name) AS 'countries' FROM country WHERE (continent = 'South America' AND population > 12000000) OR continent = 'Antarctica' GROUP BY continent HAVING COUNT (name) > 5 ORDER BY 1,2;
Cara menarik data dari database menggunakan konsep diagram venn, perhatikan:
  • Menggabungkan tanpa duplikat field name, district, population dari tabel city dengan field name, code, continent, population dari tabel country
    • SELECT name, district, population FROM city
    • UNION
    • SELECT name, code, continent, population FROM country;
  • Menggabungkan dengan duplikat filed name, district, population dari tabel city dengan field name, code, continent, population dari tabel country
    • SELECT name, district, population, FROM city
    • UNION ALL
    • SELECT name, code, continent, population FROM country;
  • JOIN
    • INNER JOIN : irisan dari dua tabel atau lebih yang ditarik datanya
    • LEFT JOIN : hanya tabel pertama dan irisan dengan tabel kedua yang ditarik datanya
    • RIGHT JOIN : hanya tabel kedua dan irisan dengan tabel pertama yang ditarik datanya

Amazon RDS adalah layanan yang disediakan AWS untuk database yang bersifat relasional. RDS hanya bisa diakses melalui instance, artinya untuk mengakses RDS perlu membuat EC2 instance. Jadi masuk ke EC2 instance terlebih dahulu baru kemudian masuk ke RDS. Dengan RDS dimungkinkan pembuatan replica yang tentunya juga memberikan dampak biaya. Biasanya RDS replikasi yang bekerja secara synchronous ditempatkan di area yang privat. Ringkasan pembuatan RDS:

  1. Membuat sebuah Security Group untuk RDS DB Instance
    • VPC > Security Group
    • Inbound rules > type: MySQL/Aurora (3360)
  2. Membuat sebuah DB Subnet Group
    • RDS > Subnet groups
  3. Membuat sebuah Amazon RDS DB Instance
    • RDS > Database
RDS memungkinkan untuk diakses melalui security group yang diijinkan pada bagian inbound rule-nya. Maksudnya dalam kasus seperti sebuah perusahaan telah memiliki EC2 instance dengan nama Web Server dengan Security Group bernama web-server-securitygroup. Lalu perusahaan ingin membuat DB instance dengan RDS. Nah, agar DB instance bisa diakses melalui EC2 instance maka dibuat security group baru dengan nama db-server-securitygroup yang memiliki rule inbound MySQL/Aurora dengan source custom dan pilih web-server-securitygroup.

Not Only SQL

Sebelumnya telah disinggung bahwa database ada 2, yaitu SQL dan not only SQL. Di Amazon untuk data yang bersifat relational ada layanan Amazon RDS sedangkan untuk data yang bersifat not only SQL ada layanan Amazon DynamoDB. Perhitungan di Amazon DynamoDB menggunakan capacity unit atau CU yang terbagi menjadi 2, yaitu read dan write. WCU atau write capacity unit merupakan satuan yang digunakan untuk pricing di Amazon, misalnya digunakan 5 WCU per jam maka per bulan akan menjadi 5 x 24 x 30 = 3600 WCU per bulan. Nilai 1 WCU adalah 1 KB, untuk melakukan 1 KB penulisan standar maka dibutuhkan 1 WCU, akan tetapi untuk transaksional 1 KB maka membutuhkan 2 WCU. Contoh lain untuk melakukan penulisan 5 KB maka dibutuhkan 5 WCU, dan untuk melakukan transaksi maka dibutuhkan 10 WCU. Berbeda dengan RCU atau read capacity unit yang nilai 1 RCU sama dengan 4 KB, sehingga untuk membaca item dengan ukuran 8 KB maka memerlukan 2 RCU.


ref:
https://aws.amazon.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...