Powered by Blogger.
facebook twitter instagram pinterest bloglovin Email

Yasya Indra Blog

Éclairage et ingénierie

 

Kali ini kita akan belajar bagaimana mengubah teks dari berformat txt menjadi dictionary

Dictionary dalam Python mirip mirip dengan Object pada Javascript. Cara mengakses value dari Dictionary ini juga persis sama dengan Javascript

Bagaimana caranya? Simak langkah langkahnya dibawah

Apa Itu Dictionary?

Menurut W3School.

Dictionary merupakan strukutur data dimana ia mengandung key dan value. Dictionary adalah sekumpulan data yang tak bisa diubah, terurut dan tak bisa diduplikasi

Studi Kasus

File teks ini berisi data data harga rumah di Tangerang berdasarkan luas bangunan, harga, tanah, jarak ke pusat kota. Kita akan mengubah baris pertama menjadi keysedangkan baris kedua dan seterusnya akan menjadi valaue bagi masing masing key


Ini juga merupakan Beginner Python Mini Quiz. dari DQLab. Sebuah course yang khusus mengajarkan kalian bagaimana menjadi Data Scienist, buruan ikutan karena ada diskon menarik!

Baca Juga: Beginilah Cara Mengetahui Seberapa Banyak Judul Artikel Positif Dengan Python

Langkah Langkah

Pertama. Kita baca file txt dengan function bernama open(). open() berisi dua parameter. pertama, nama file (pastikan berada dalam folder yang sama), kedua tipe pembacaan data. Kali kita cukup menggunakan 'r' yaitu read. Karena kita hanya akan membacanya saja

Kedua. Lalu kita baca file ini secara baris berbaris menggunakan method readlines()

Ketiga. Lalu kita tutup dengan method close(). Untuk menghindari error error di masa mendatang

Keempat. File yang sudah kita baca ini, kita hilangkan enter atau pergantian barisnya yang mana semua itu diwakili dengan karakter \n dan tanda koma

Kelima. Buat variabel baru bernama harga_rumah yang merupakan array. Kita akan memasukkan dictionary kedalam array ini

Keenam. Loop file yang sudah kita baca dan sudah dibersihkan segala karakternya (enter dan koma) baris demi baris. Barisan tersebut diwakili dengan variabel baris. 

Ingat bahwa tulisan yang sudah kita bersihkan diatas hanya untuk baris pertama saja. Untuk barisan kedua dan selanjutnya kita juga harus membersihkannya dengan cara memberikan method .replace("\n","").split(",") di variabel baris dalam looping

Lalu ketujuh, buat variabe bertipe data dict() 

Kedelapan loop lagi baris harga rumah, namun kali ini kita hanya mencari tahu indexnya saja

Kesembilan masukkan setiap value yang sudah diketahui ke dalam array harga_rumah menggunakan method .append

Coba kita lihat hasilnya

Lihat, ada yang aneh? Tentu, index pertama berisi key yang sama dengan keynya. Tentu kita tak mau memiliki dataset seperti ini. Kita bisa mengabaikannya dengan mengubah isi variabel harga_rumah menjadi berikut

harga_rumah = harga_rumah[1:]

Ini berarti kita memerintahkan Python untuk hanya membaca seluruh data setelah element 1

Maka data kita akan muncul sesuai harapan

Kesimpulan

 Hal yang harus diperhatikan sebelum membuat data dictionary dari file teks adalah membacanya terlebih dahulu baris demi baris, membersihkan karakter yang tak diperlukan, dan loop untuk menentukan manakan yang merupakan key dan value

Setelah kita belajar bagaimana membuat dictionary, langkah selanjutnya adalah mengolahnya menjadi model prediksi. Untuk post selanjutnya saya akan membahas bagaimana membuat prediction model untuk harga rumah di daerah tangerang

Menurut saya ini merupakan skill dasar bagi siapapun yang ingin menjadi data scientist. Apa kamu tertarik juga menjadi data scientist?

Mau Belajar Data Science Dimana?


Kamu bisa belajar segala ilmu data science di DQLab. Saya sendiri sudah mencobanya, kamua akan mempelajari modul dan mencobanya secara praktek


 

Tak hanya modulenya yang lengkap dan diberikan roadmap yang jelas. Di DQLab kita bisa latihan membuat project untuk mengisi portfoliomu biar makin pede dapet pekerjaan.

Gunakan link ini untuk mendapatkan 10% diskon dan 1 bulan gratis menikmati module premium. Atau masukkan kode

 INDR2216. 

Tunggu apalagi. Kalian pun bisa menjadi data scientist
Share
Tweet
Pin
Share
2 comments

 

Bagi kalian yang saat ini sedang mendalami pembelajaran machine learning, sepertinya case mengetahui artike artikel atau kalimat bermuatan positif adalah project yang layak dicoba. Maka dari itu pada postingan kali ini kita akan belajar bagaimana cara membuatnya menggunakan bahasa pemograman Python

Hal Yang Harus Disiapkan

Data Data Artikel Atau Kalimat

Sebenarnya kalian bisa mendapatkan data data ini dari API bisa saja dari Twitter, portal berita atau dari resource data yang lain. Namun pada postingan ini saya akan menyiapkan data dari array. Semua ini saya tulis secara manual. Memang bukan cara yang efektif, maka dari itu setelah belajar dari postingan ini maka bisa loncat ke project project lain yang lebih sulit untuk mengasah kemampuan kalian


 

Code Editor

Yup. Cukup gunakan VS Code, Code Editor sejuta programmer. Namun untuk project yang lebih besar maka kalian harus menggunakan Google Collab, Jupyter, Annaconda, atau beberapa notebook lain. Karena didalam notebook tersebut sudah tertanam beberapa package untuk kebutuhan machine learning, data sciene

Langkah Langkah

Sebelum menentukan mana artikel positif dan negatif. Maka kita harus mengkelompokkan dulu kata kata positif menurut kita.

Untuk project sebenarnya kalian bisa mendapatkan kata kata positif ini dari dictionary atau kamus yang berupa API. Yang nantinya dari API ini, akan menjadi ukuran seberapa positif artikel artikel kita. Semakin powerful API, maka semakin akurat pula mana artikel yang positif dan negatif

Kita simpan kata kata positif ini dengan array

kata_positif = ["Kaya", "Baik", "Mencegah", "Memperkuat"]

Kita juga harus membuat beberapa variabel kata_positif_jeruk dan kata_positif_salak. Kita isi kedua variabel ini dengan 0. Mengapa? Karena dengan variabel ini akan kita isi secara increment 1 setiap kalia ditemukan artikel yang bermuata kata kata positif. Semua ini akan kita kerjakan dengan metode looping

Gunakan Looping

Ada dua scope looping. Looping paling luar, kita looping terlebih dahulu isi array pada artikel. Dan scope terdalam kita akan melooping array dari kata kata positif

Gunakan method count()

dengan count(), kalian bisa mengetahui apakah dari sebuah rangkaian string terdapat kata kata yang kalian inginkan atau tidak. Caranya dengan memasukkan kata yang diinginkan sebagai argument

Cara Membaca File CSV Lewat Python

Gunakan Pengkondisian If

Setelah itu kita gunakan if, dimana ada kata Jeruk dan kata positif yang sudah kita loop.  Kenapa kita ada kata Jeruk. Karena saya pada case ini kita menginginkan manakah yang lebih banyak artikel  positif, artikel Jeruk atau artikel Salak.

Baca dokumentasi untuk mengetahui lebih lengkap

kata_positif_jeruk atau kata_positif_salak akan dihitung satu apabila ada artikel yang bermuatan Jeruk dan kata kata positif dalam array. Jika salah satu tidak terpenuhi maka tidak akan terhitung


 

Hasilnya

Mau Belajar Data Science Dimana?

 

Kamu bisa belajar segala ilmu data science di DQLab. Saya sendiri sudah mencobanya, kamua akan mempelajari modul dan mencobanya secara praktek


 

Tak hanya modulenya yang lengkap dan diberikan roadmap yang jelas. Di DQLab kita bisa latihan membuat project untuk mengisi portfoliomu biar makin pede dapet pekerjaan.

Gunakan link ini untuk mendapatkan 10% diskon dan 1 bulan gratis menikmati module premium. Atau masukkan kode

 INDR2216. 

Tunggu apalagi. Kalian pun bisa menjadi data scientist

Share
Tweet
Pin
Share
No comments

Di era digital ini, menjadi programmer adalah sebuah pekerjaan impian. Bekerja di startup ternama, gaji dua digit, pekerjaan santai, kantornya bebas, bahkan banyak sekali hiburannya. Belum lagi, kesempatan bekerja di luar negeri yang sudah terbuka lebar

Rasanya siapapun ingin menjadi seorang programmer. 

Namun apakah menjadi programmer semudah membalikkan telapak tangan?

Tentu tidak. Dibalik segala kesenangannya dan benefit yang kita dapat sebagai programmer. Sudah pasti, kita harus berlatih bersusah payah di muka

Adakah cara untuk mempermudah atau bahkan memberikan bocoran bagaimana kita bisa bertahan dengan pekerjaan masa depan ini? 

Jawabannya, ada. Buku ini akan menjelaskannya

Saya membuat review buku ini bertujuan ingin memberikan gambaran bagaimana kita bisa menulis kode dengan bersih, Clean Code

Karena menulis kode dengan bersih dan mudah dipahami (bagi programmer yang lain) adalah sebuah basic skill

Layaknya, seorang supir yang bisa berjalan stabil di jalan raya. Sebagai programmer dalam menulis kode juga harus bersih dan konsisten

Sinopsis

Bahkan kode yang buruk, masih bisa berjalan. Tapi jika kodenya buruk, maka pengembangan akan menjadi runtuh. Setiap tahun bahkan jam, resource teknologi hilang begitu saja karena dibangun dengan kode yang buruk. Dan kita tak ingin menginginkannya

Robert C. Martin menulis paradigma penulisan kode revolusionis pada buku Clean Code: A Handbook of Agile Software Craftsmanship. Martin telah membantu membawakan prinsip agile dari praktisi kepada puluhan programmer dan kini ia bekerja sama dengan koleganya untuk menulis sebuah buku yang akan memberikanmu nilai dan value sebagai pengajin perangkat lunak dan menjadikanmu sebagai programmer yang lebih baik, hanya jika kamu mau mencobanya

Pekerjaan seperti apa yang akan ingin kalian lakukan? Kalian akan membaca kode, banyak kode. Dan kalian akan ditantang untuk memikirkan apa yang benar tentang kode itu, dan apa yang salah dengannya. Lebih penting lagi, kalian akan ditantang untuk menilai kembali nilai-nilai profesional kalian dan komitmen terhadap keahlian kalian

Clean Code dibagi menjadi tiga bagian. Yang pertama menjelaskan prinsip, pola, dan praktik penulisan kode bersih. Bagian kedua terdiri dari beberapa studi kasus dengan kompleksitas yang meningkat. Setiap studi kasus adalah latihan dalam membersihkan kode―dari mengubah basis kode yang memiliki beberapa masalah menjadi satu yang sehat dan efisien. Bagian ketiga adalah hasil: satu bab berisi daftar heuristik dan "bau" yang dikumpulkan saat membuat studi kasus. Hasilnya adalah basis pengetahuan yang menggambarkan cara kita berpikir saat menulis, membaca, dan membersihkan kode.

Pembaca mendapatkan pemahaman dari buku ini, seperti:

  •     Bagaimana membedakan antara kode yang baik dan yang buruk?
  •     Bagaimana cara menulis kode yang baik dan bagaimana mengubah kode yang buruk menjadi kode yang baik?
  •     Cara membuat name bagus, function bagus, object bagus, dan class bagus
  •     Cara memformat kode untuk maximum readability
  •     Bagaimana menerapkan error handling lengkap tanpa mengaburkan logika kode
  •     Bagaimana melakukan unit test dan mempraktikkan test-driven development
  •     Apa "bau" dan cara menyelidik untuk membantu kalian mengidentifikasi kode yang buruk?


Buku ini adalah suatu keharusan bagi setiap developer, software engineer, project manager, team lead, or systems analyst yang tertarik untuk menghasilkan kode yang lebih baik.

Kalian bisa membaca buku ini dan mendapatkan segudang ilmu pengetahuan seputar programming yang lebih baik. Dan tunggu apa lagi, jangan buang buang kesempatan kalian untuk menjadi programmer yang menuliskan kode bersih, Clean Code

Isi Buku Ini

Buku Clean Code: A Handbook of Agile Software Craftsmanship terbagi menjadi 17 chapter

  • Chapter 1: Clean Code
  • Chapter 2: Meaninful Names
  • Chapter 3: Functions
  • Chapter 4: Comments
  • Chapter 5: Formatting
  • Chapter 6: Objects Dan Data Structures
  • Chapter 7: Error Handling
  • Chapter 8: Boundries
  • Chapter 9: Unit Test
  • Chapter 10: Classes
  • Chapter 11: Systems
  • Chapter 12: Emergence
  • Chapter 13: Concurrency
  • Chapter 14: Successive Refinement
  • Chapter 15: JUnit Internals
  • Chapter 16: Refactoring
  • Chapter 17: Smells and Heuristics

Sepertinya harus dibuatkan postingan khusus untuk menjelaskan keseluruhannya karena sangat panjang dan padat sekali isi buku ini

Ketika saya membaca buku ini, akhirnya pertanyaan besar saya seputar bagaimana program dan pengembangan perangkat lunak bisa terjawab

Barang kali kita hanya mengetahui sebagian kecil saja tentang arsitektur dan prinsip software bekerja. Namun belum mengetahui lebih dalam bagaimana mereka saling terhubung dan prosesnya berjalan secara hirarki

Garis Besar Buku Ini

Clean Code menjelaskan sangat awal sekali seputar mengapa kita membutuhkan code. Disaat para stackholder, pembisnis, pemiliki perusahaan berusaha ingin membuat sebuah produk atau aplikasi. Maka disaat itulah kode kita dibutuhkan. Program layaknya sebuah mesin. Harus ada kode yang menjalankannya, tak bisa kita menjadikannya abstrak begitu saja dan berharap mesin akan bekerja. Ada kode spesifik yang ada dibalik semua itu

Kode terbagi menjadi dua. good code dan bad code. good code terlahir dari bad code yang kita jumpai. Saat saat dimana kita berusaha mencari clue bagaimana code bekerja. 

Namun yang terpenting adalah buku ini tak berjanji bahwa kamu akan menjadi programmer lebih baik. Buku ini hanya alat. Selayaknya alat, ia akan berfungsi ketika digunakan.

Share
Tweet
Pin
Share
No comments

 

Ketika kita ingin mengolah data untuk menjadi sebua model machine learning, maka data yang harus disajikan harus bersih dari field field kosong.

Biasanya kita akan menjumpai filed field bernilai NaN yang artinya field tersebut kosong atau tak diketahui. Ini sangat berpengaruh hasil model data kita

Inilah yang disebut Missing Value. Nilai yang hilang dari beberapa baris dataset

Cara Mengetahui Bahwa Dataset Kita Terdapat Missing Value?

Cara termudah adalah dengan menggunakan method method yang tersedia oleh package Pandas

Dengan Pandas, tak hanya kita bisa mengetahui dataset terdapat Missing Value atau tidak, kita bisa mencari mean, median dan modus, mengisikan data data yang kosong tersebut, dan melihat hasil data tersebut dari beberapa range tertentu

Pandas juga bisa membantu kita untuk memeriksa apakah dataset kita memiliki data yang kosong. Tak mungkinkan kita melihat satu persatu ratusan atau ribuan data. Maka dari itu kita membutuhkan method yang dikerjakan oleh python dalam package Pandas

Pertama. Kita harus membaca dataset tersebut dan mengeceknya menggunakan script dibawah

Mari kita beda script diatas

import pandas as pd

Disini kita mengimport pandas dan memberikan alias pada pacakge tersebut denga pd. Kenapa kita membutuhkan alias? Supaya kita tak terlalu panjang dalam mengingatnya. Memang untuk Pandas tak seberapa panjang untuk diingat, namun kita akan menjumpai package yang sangat panjang dan susah diingat

data_csv = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/shopping_data_missingvalue.csv")

Di dalam Pandas terdapat method yang bernama read_csv yang mana ia membutuhkan argument berupa link api dataset kita. Yaitu, https://storage.googleapis.com/dqlab-dataset/shopping_data_missingvalue.csv 

print(data_csv.isnull().values.any())

Lalu kita print untuk menetahui hasil outputnya. Jika mengembalikan nilai true. Maka berarti dataset ini memiliki data yang kosong dan harus kita isi

Cara Mengisi Data Data Kosong Pada Dataset

Nilai yang bisa kita masukkan untuk mengisi missing value pada data kita ada dua jenis. Dan berikut bagaimana cara mencari median dan bagaimana cara mencari mean

  • mean

data_csv.mean()

  • median

data_csv.median()

Simpan kode tersebut pada variabel. Menjadi seperti ini

mean = data_csv.mean()

Gunakan salah satu dari dua diatas. Kita bisa menggunakan median atau mean. Untuk kasus ini saya akan menggunakan median

Maka kita memerlukan method Pandas yang bernama fillna() yang akan kita isikan argument data yang ingin kita isi yaitu mean

data_csv.fillna(mean)

Ketika kita print, maka data tersebut akan menghasilkan output demikian


Untuk mempermudah berikut codesnap yang bisa kalian save


Mau Belajar Data Science Dimana?

 

Kamu bisa belajar segala ilmu data science di DQLab. Saya sendiri sudah mencobanya, kamua akan mempelajari modul dan mencobanya secara praktek


 

Tak hanya modulenya yang lengkap dan diberikan roadmap yang jelas. Di DQLab kita bisa latihan membuat project untuk mengisi portfoliomu biar makin pede dapet pekerjaan.

Gunakan link ini untuk mendapatkan 10% diskon dan 1 bulan gratis menikmati module premium. Atau masukkan kode

 INDR2216. 

Tunggu apalagi. Kalian pun bisa menjadi data scientist



Share
Tweet
Pin
Share
No comments
 

Dalam Data Wrangling, kita harus mengolah data mentah sehingga bisa diproses untuk selanjutnya membuat model prediksi, visualisasi, dan lain sebagainya

Untuk bisa melakukan hal tersebut kita memerlukan sebuah package bernama Pandas

Apa Itu Pandas?

Logo sudah dirubah seperlunya

Pandas adalah sebuah package dari python yang berisi segala function, method yang kita perlukan untuk membuka file berisi data secara tabular secara de facto


 

Maksudnya de facto adalah segala isi data tersebut memang menggambarkan bagaimana keadaan sebenarnya dilapangan. Bukan data yang bersifatt real-time yang berubah dari waktu ke waktu

Jika kamu anak IPS seharusnya kamu akrab dengan defacto dan dejure

Langsung saja kita langsung coba package Python ini

Saya akan membaginya menjadi beberapa cara

Ingin Jadi Data Scientist? Berikut Langkah Langkahnya

Membuka File Pandas Keseluruhan Data

Kita akan menggunakan data dari link berikut ini. Silahkan copy

https://storage.googleapis.com/dqlab-dataset/shopping_data.csv

Save jika bermanfaat

Sehingga kode diatas akan menghasilkan berikut

Namun lihat. Data yang ditampilkan sangat banyak sekali. Bayangkan ada 1 sampai 200 data ditampilkan. Sampai sampai Python harus menyingkatnya menjadi ...

Untuk mengatasinya kita bisa mengambil data atasnya saja atau bawahnya saja menggunakan methode head()

Cara Menampilkan Data Teratas Dan Terbawah Dari File CSV

Teratas dan terbawah disini bukan berarti kita ingin melihat data dengan value terbesar, namun kita ingin melihat data teratas berdasarkan id. Dalam data yang kita pakai ini id itu bernama Customer_id

Caranya

Save jika bermanfaat

head() merupakan method untuk melihat data teratas

tail() merupakan method untuk melihat data terbawah

Kita juga bisa memberika parameter angka/integer kedalamnya untuk melihat data berdasarkan jumlah angkah yang kita masukkan

Contoh


 Silahkan coba sendiri unruk melihat hasilnya

Cara Menampilkan Data Berdasarkan Column

Jika kita hanya membutuhkan data data hanya berdasarkan columnnya saja. Maka kita membutuhkan script dibawah

Namun pastikan bahwa column yang kita tulis ada dalam kumpulan data tersebut. Dalam kasus ini, saya melihat column Age yang akan menampilkan isi datanya seperti berikut

Kalian bisa memadukan method ini dengan head() atau tail() untuk menampilkan data teratas atau terbawah. Silahkan dicoba sendiri

Cara Menampilkan Data Berdasarkan Baris

Selain berdasarkan column, kalian juga bisa menggunakan methid iloc[baris] untuk menampilkan data berdasarkan barisnya. Karena berupa baris, maka data yang disajikan juga lengkap. Seperti Id, Age, Nama, dan lain sebagainya


Maka akan menampilkan data berikut

Cara Menampilkan Beberapa Range Data Tertentu

Ada kalanya kita hanya membutuhkan beberapa data tertentu saja. Maka kita perlu menambahkan script seperti ini

[5:10] berarti kita menginginkan data ke 5 sampai ke 10 untuk ditampilkan.



 

Ingat angka ini adalah indeks array, yang mana semua angka dimulai dari angka 0. Untuk bisa menampilkan benar benar data 5 ke 10 maka kita harus menambahkan 1 pada 10 yaitu 10. [5:11]


 

Selanjutnya Apa?

Kini kita sudah mengetahui bagaimana cara membuka dan mengetahui data data yang kita dapat dari file csv. Ini sangat berguna sekali sebagai awal langkah pemrosesan data sciene yang akan semakin dibahas secara mendalam di blog ini.

Eksperimen, coba dan padukan segala method yang sudah saya jelaskan diatas untuk mengasah kemampuan kita pada data wrangling. Semoga membantu

Mau Belajar Data Science Dimana?

 

Kamu bisa belajar segala ilmu data science di DQLab. Saya sendiri sudah mencobanya, kamua akan mempelajari modul dan mencobanya secara praktek


 

Tak hanya modulenya yang lengkap dan diberikan roadmap yang jelas. Di DQLab kita bisa latihan membuat project untuk mengisi portfoliomu biar makin pede dapet pekerjaan.

Gunakan link ini untuk mendapatkan 10% diskon dan 1 bulan gratis menikmati module premium. Atau masukkan kode

 INDR2216. 

Tunggu apalagi. Kalian pun bisa menjadi data scientist

Share
Tweet
Pin
Share
No comments

 

Startup, perusahaan digital, atau bahkan programmer yang sedang melayani clientnnya untuk mengerjakan sebuah aplikasi memiliki metode. 

Metode ini menjadi panduan baku yang kerap digunakan dimananpun dalam pengemabangan produk digital

Lebih mudahnya saat kita membangun aplikasi mobile. Kita akan mempelajari bahasa pemograman apa saja yang dibutuhkan, juga serba serbi framework dan tool yang memudahkan segala prosesnya

Metode yang baru saja saya ceritakan diatas dinamakan Agile. Sedangkan project yang menerapkan konsep tersebut dinamakan, Agile Project

Apa Itu Agile dan Agile Project?

Menurut Wikipedia. 

Sekumpulan praktek yang bertujuan untuk menaikkan keefeketifan pengembangan suatu aplikasi secara profesional, tim dan terorganisir. Agile melibatkan pengembangan solusi melalui usaha secara kolaboratif dari sifat yang sudah terorganisir, fungsionalitas dan pelanggan

Metode ini sangat mengandalkan kolaborasi. Mulai dari para engineer hingga product manager, semuanya harus melalui sebagian proses agile

Sedangkan proses Agile memiliki alur seperti ini

Data. Data ini diambil biasanya dari sentimen para konsumen aplikasi kita. Cara mendapatkannya sederhana, biasanya kita akan melihat dari feedback yang diberikan pengguna, melihat rating bintang, atau turun langung ke forum forum seputar kendala dan manfaat yang didapat dari aplikasi kita

Jika aplikasi kita baru, maka kita bisa melihat keunggulan aplikasi kompetitor dan menerapkannya sendiri. Pastinya akan dijumpai kekurangan, tugas kita adalah menangggulanginya

Learn. Setelah kita mendapatkan data berupa feedback atau bisa jadi kebutuhan pasar, maka selanjutnya kita mempelajari teknologi yang bisa menyelesaikan rangkaian permasalahan. Jika kita ingin membuat aplikasi mobile, misalnya. Maka teknologi apa yang murah, efektif dan mudah dikolaborasikan bersama product manager dan engineer.

Product. Setidaknya setelah kita mempelajari segala tetek bengek, dan permasalahan, dan mengatasinya. Maka semua itu harus berakhir menjadi sebuah product yang disajikan kepada konsumen

Measure. Product yang sudah jadi harus kita ukur. Mulai dari skalabilitasnya, kapasitasnya, dan beberapa faktor yang barang kali bisa menjadi kesempatan kita untuk mengembangkannya. Termasuk mengukur target pasar siapa saja yang menikmati produk kita

Repeat. Ulangi proses ini, kembali lagi dapatkan data dari segala pengukuran (measure), pelajari, jadikan product yang lebih baik, ukur lagi, dan dapatkan data. Seterusnya, secara berulang ulang

Sedangkan Agile Project adalah project yang dijalankan sesuai dengan proses diatas. 

Sebenarnya tidak ada definisi baku atas bagaimana agile itu bekerja sendiri. Maka dari itu di akhir postingan ini saya akan menjelaskan seputar agile manifesto

Jenis Jenis Agile Development

Karena memang tak ada terms yang mendefisinikan agile ini, maka ada beberapa jenis pengembangan aplikasi/product kita di luaran sana, yang sama sama menerapkan prinsip agile, yang berulang ulang

  1. Adaptive Software Development (ASD)
  2. Agile Modelling (AM)
  3. Crystal
  4. Dynamic System Development Method (DSDM)
  5. Extreme Programming (XP)
  6. Feature Driven Development (FDD)
  7. Rational Unified Process
  8. Scrum Methodology

Menarapkan Agile Untuk Para Developer

Apakah kamu seorang developer, seorang programmer, atau seorang engineer? Maka sepertinya kita harus mengerti bagaimana prinsip agile ini diterapkan di lingkungan para developer

Memang sepertinya apa yang saya akan jelaskan dibawah ini terkesan nyeleneh.Maklum, developer adalah orang yang bekerja dengan orang banyak  dan menuntut produktifitasan dan fungsionalitas. Jika menjadi nyeleneh adalah satu satunya cara untuk menggapai keefektifitasan, maka mau tak mau semua itu harus dikerjakan

Jangan Mulai Dengan Proses

Lho, kenapaa begitu? Bagaimana saya bisa menyelesaikan product saya jika saya tak boleh melakukannya dengan proses?

Bukan, tanpa proses disini adalah maksudnya menyusun segala proses dan berharap segala perencanaan itu sesuai dengan yang diharapkan

Alih alih menyusun rencana dan terlalu stick dengan perencanaan, bagaimana jika kita buat product itu berdasarkan data apa saja yang kita dapat, mulai dengan sedikit proses, evaluasi, buang yang tak perlu, dan tambahkan jika itu mendukung

Saya akan membagikannya menjadi tiga bagian

1. Mulai dengan proses sekecil mungkin

2. Dapatkan Feedback

3. Tambah/Kurangi Proses Kapanpun dibutuhkan. Ingat, tak ada aturan dogmatis tentang bagaimana proses agile ini bekerja

Inilah saat saat dimana kita memungkinkan menerapkan semua itu

Setiap hari. Jika kamu adalah seorang manager dari proses ini, maka biarkan para engineer bekerja satu sama lain dan berkolaborasi

Setiap minggu. Setiap minggu kumpulkanlah para engineer untuk bisa meeting. Tak usah berbicara banyak seputar bagaimana meningkatkan prodcut, namun cukup bicarakan bagaimana tim kita bisa semakin efektif dalam beraktifitas

Ketahui Bagaimana Software Project Management Bekerja Terlebih Dahulu

Memang saat ini kita sedang membicarakan bagaimana sistem agile bekerja, namun sudah selayaknya paa engineer dan developer bagaimana project pembuatan software

1. Kumpulkan Yang Dibutuhkan

2. Rancang Sistem

3.  Kembangkan Sistem

4. Test dan Cari Bug (jika ada)

5. Deploy Sistem

6. Maintain (itu pun hanya terkadang)

Proses ini biasa disebut sebagai Waterfall Model dikatakan waterfall (air terjun) karena memang proses ini hanya mengandalkan langkah langkah satu arah.

Untuk aplikasi/product sederhana menggunakan warerfall memang lebih mudah dikerjakan. Namun ketika kita menghadapi case yang lebih besar maka metode ini tidak efektif. Karena kita tak bisa kembali kepada proses dimana aplikasi/product kita direview atau dibenahi

Maka dari itu kita harus menerapkan metode agile. Karena agile sangat mendukung konsep kolaboratif disetiap tim dan berjalan dengan berulang ulang. 

Agile manifesto adalah sebuah konsep dan nilai nilai bagaimana agile diterapkan. Berikut

1. Individual & Interaksi > Proses dan Alat

2. Software Yang Berjalan Dengan Baik > Dokumentasi Yang Mudah Dipahami

3. Kolaborasi Antar Konsumen  > Negosiasi Kontrak

4. Adaptif Terhadap Perubahan > Mengikuti Rencana



 

Jika kita bekerja pada lingkungan pekerjaan yang kolot. Maka sepertinya, agile metodology diatas akan sangat mengejutkan. Apakah mungkin mengandalkan para manusia ketimbang proses dan perencanaan? Tentu agile menjamin penyelesaian project seperti itu, karena di lingkungan pekerjaan pada saat ini pun mengikuti perubahan berdasarkan konsumen sudah sangat lumrah terjadi

Setelah kita membahas metodologi, nilai nilai, prinsip dan beberapa konsep bagaimana agile diterapkan. Kini kita akan belajar hal hal yang lebih konkrit

Agile Toolset. Perlengkapan Sebelum Segalanya Dimulai

Layaknya sebuah pertempuran atau membangun istana. Maka kita memerlukan cangkul, pasir dan semen untuk mewujudukannya

Begitu pula untuk membangun tim yang berjalan secara agile. Kita membutuhkan segala perlengkapan, alat yang secara konkrit bisa kita rasakan. Sehingga kita merasa kita adalaha bagian dari proses ini

Saya mulai dengan mengetahui bagaimana proses agile bekerja. Barangkali sampai sini ada yang bingung terkait dengan proses, mengapa kita tak boleh mengedepankannya terlebih dahulu

Buat Aplikasi PHP Pertamamu Yuk!

Proses Tak Perlu Baku atau Too Much Sticked To The Plan

Betul, ada beberapa hal yang bisa kita sebut juga sebagai proses dan itu tak masalah. Gunakan beberapa proses atau cara dibawah sesuai dengan studi kasus kalian. Kita akan bedah satu persatu

Stands-Up. Meeting harian yang fokus pada tiga pertanyaan. Apa yang sudah dikerjakakan kemarin, hari ini, dan apakah ada sesuatu yang menghalangi segala rutinitas mereka

Retrospectives. Meeting yang mendiskusikan tiga hal. Apa yang sudah berjalan dengan baik, apa yang belum, dan apakah ada yang harus dirubah dari proses yang sudah berjalan kemarin?

Back-logs. Daftar segala task atau tugas yang harus dikerjakan

Sprints. Waktu yang ditentukan untuk menyelesaikan suatu daftar pekerjaan (Backlogs), biasanya berkisar antar 1 atau 2 minggu

Pair Programming. Ketika dua programmer mengerjakan pekerjaan bersama sama. Biasanya satu akan mengajakan dan yang lain lebih dominan untuk mendengarkan. Sangat cocok  untuk team-building untuk segi ilmu

Pull Request. Ketika kode sudah selesai, maka kode tersebut akan direview. Sangat baik untuk menunjang kualitas kode yang baik

Roles. Pastikan Seluruhnya Punya Tanggung Jawab Yang Jelas

Project Manager / Scrum Master. Peran yang memiliki tugas untuk memastikan segalanya berjalan dengan baik dan lancar. Karena pada dasarnya programmer atau engineer tak menyukai segala aktifitas adminisrasi pada pekerjaan mereka, sehingga diperlukan seseorang yang menghandle semua itu.

Product Owner. Biasanya orang ini tidak memiliki skill yang mendalam pada bagian teknologi, namun kemampuan yang diperlukan darinya adalah mengkomunikasikan kebutuhan programmer yang

Agile Methodology

Ada banyak agile methodology di luar sana. Namun saya akan memberikan dua contoh saja, yaitu Scrum dan Kanban. Keduanya sangat cocok bagi kita yang ingin menerapkan prinsip agile ini sebagai permulaan

Kanban

Kanban sangat cocok diterapkan untuk peningkatan product yang konsisten. Biasanya kita akan meletakkan beberapa tugas pada suatu papan atau buletin (Jika kalian menggunakan trello seharusnya sangat familiar dengan ini) lalu nanti para developer atau engineer akan menyelesaikannya satu persatu tanpa ada aturan deadline

Scrum

Jika kalian masih ingin menggunakan prinsip deadline sepertinya, Scrum cocok dipilih. Katakanlah project yang saat ini dikerjakan harus selesai selama satu bulan. Maka kalian membaginya menjadi beberapa hari atau beberapa minggu untuk melaporkan segala hasil prosesnya. Setelah itu hasil pekerjaan dievaluasi untuk meraih hasil terbaik

Ingin Kerja Di Startup? Cari Tahu Dapat Tawaran Pekerjaan Lewat LinkedIn

Contoh Contoh Penerapan Agile Pada Perusahaan Digital

Nama nama perusahana dibawah menerapkan proses agile dalam bisnisnya. Namun jangan sampai terpaku atau menganggap bahwa proses yang mereka lakukan sudah sempurna. Justru dengan mereka menerapkan proses agile, mereka sebenarnya masih terbuka atas segala perubahaan dan adaptasi. 

Lihatlah bagaimana keluaran atau hasil terbaik yang mereka lakukan. Jika itu bermanfaat, bisa saja kita terapkan pada bisnis yang kita jalani saat ini

Spotify. Autonomous Tribes

Dulu Spotify mengadopsi konsep fairly verbose framework, dimana mereka membagi divisi tim engineer menjadi tiga bagian Tribes, Chapters dan Guilds. Ini memungkinkan segala pengembangan aristektur aplikasi berjalans sangat ter-decentralized atau tak terpusat dan terbagi bagi sesuai dengan divisnya masing masing

Amazon. Press Release

Tak banyak aturan atau framework yang ada dalam konsep yang Amzon pilih ini. Sesuai dengan namanya Press Release, tim engineer pada Amazon lebih mengedepankan alasan atau "why" atas segala peningkatan fitur dan dampak yang mereka ingin berikan dari para konsumen mereka

WhatsApp. No Process

Betul, No Prosess. Tanpa proses. Bahkan di salah satu pertemuan antat tim pada perusahaan diakui bahwa setiap engineer memiliki semacam backlog dimana mereka memiliki kuasa atas segala apa yang mereka kerjakan. Dan itupun hanya satu yang diberikan: Benahi bugs terlebih dahulu

Ini juga memungkinkan para engineer bisa saling berkomunikasi dan bekerja sama atas bug apa saja yang mereka atasi

Tulisan ini bisa kalian baca dalam versi bahasa inggris disini



Share
Tweet
Pin
Share
No comments

 

Bayangkan dalam suatu aplikasi web atau mobile yang sangat besar, dengan begitu banyak komponen, dengan begitu banyak template berisi data data dari API. Mereka harus mengambil data dan merubah data data itu satu persatu.

Memang kelihatannya takkan ada masalah

Saat saya membuat project Indra Movie Database, saya bahkan menganggap mengambil data dari API lalu menyimpannya dalam state takkan mempengaruhi apapun pada aplikasi saya

Indra Movie Database. Cari Film Favoritmu Dalam 1 Klik. Kapapun Dimanapun

 Namun ternyata aplikasi saya masih terlalu sederhana sehingga untuk memasukkan data data hanya sekedar String berisi judul film yang kita inginkan lalu mencarinya pada API, tak cukup untuk membuat aplikasi saya mabuk, error, atau nglag

Sampai sini saya merasa tak perlu membutuhkan sebuah library bernama Redux

Apa Itu Redux?

Menurut artikel yang ditulis oleh Codebucks. 

Satu satunya wadah yang menampung state secara global dan sebuah pola yang spesifik untuk diikuti ketika state diperbaharui
Redux menyelesaikan masalah ketika state yang menyimpan data dari API apapun bisa dari MongoDB, Public API, atau lain sebagainya terlalu banyak sehingga setiap  komponen harus merubah satu persatu. Ini takkan masalah jika aplikasi kita sesederhana project saya. Namun, apabila aplikasi tersebut sangat besar, maka kita membutuhkan Redux untuk menampung state state tersebut secara global sehingga component tak perlu lagi khawatir perubahan state dari komponen komponen yang lain secara hirarki

Illustrasi Dan Gambaran Masalah

Katakanlah dalam sebuah aplikasi kita, terdapat file App.js yang memiliki 3 child-component, lalu component kedua memiliki dua child-component.

Lalu ketika kita mem-fetch data dari API. Data data tersebut dikonsumsi oleh komponen ke-dua, dan di-konsumsi lagi oleh komponen ke-empat dan ke-lima.

Komponen ke-tiga ketika ingin mengkonsumsi state pada component ke-empat pada layer kedua (child-component dari komponen kedua), kita harus mengangkat state tersebut pada parent-component. Ini mungkin bisa berhasil saat aplikasi kita masih sederhana. 

Kita perlu menampung semua state pada container global terlebih dahulu sehingga segala component bisa mengkonsumsi state tersebut tanpa harus memperhatikan hirarkinya lagi

Bagaimana Aplikasi Pada React Bekerja Jika Tanpa Redux


 Contoh ketika kita mengklik tombol Action/Event untuk menambah State 1. Maka State tersebut akan langsung dimunculkan pada View. Ketika kita mengklik lagi tombol tersebut, maka View itu akan diupdate

Lalu, Bagaimana Aplikasi Pada React Bekerja Jika Dengan Redux?

Dalam Redux, terdapat function yang bernama reducer

Reducer menerima dua argument, yang pertama adalah state itu sendiri dan kedua adalah action object

Action object bisa memiliki action seperti menambahkan data atau apapun untuk mengubah state. Semua action object ini tersimpan pada redux store sehingga kita bisa menggunakannya kapanpun dan dimanapun 

Seumpama kita ingin mengubah state, maka UI akan merendernya ulang berdasarkan action object yang kita berikan

Pengertian Redux

Singkatnya, Redux adalah container state yang terprediksi

Atau lebih panjangnya, Redux itu

Centralized. Karena kita tak pernah mengangkat state pada parent-component hanya untuk dimanfaatkan pada component yang lain

Debuggable. Segala aktifitas bisa di-debug menggunakan Redux DevTool sehingga kita bisa mengetahui bagaimana state berubah ubah

Flexible. Karena dengan Redux, state bisa berubah kapanpun

Kesimpulan

Untuk skala yang besar, menggunakan Redux memberikan kemudahan bagi kita untuk mengelola state, sehingga segala kesulita mengkonfigurasi sangat sebanding dengan managemen state yang sudah sangat kompleks. Namun jika aplikasi kita sederhana dan tak banyak state yang diperlukan maka menggunakan Redux bukanlah sebuah keharusan

Cheatsheet & Note proses saya belajar seputar MERN, termasuk Redux. Klik disini!

Share
Tweet
Pin
Share
No comments

 


Ketika web dijalankan, maka segala aktifitas terekam. Termasuk usernama dan password yang kamu masukkan. 

Namun dibutuhkan pengamanan yang kuat agar segala data itu tidak hilang, dan tetap tersimpan dengan aman di dalam server

Awalnya teknologi Session menangani semua itu. Session akan bertugas untuk merekam data yang username dan password dalam web, sehingga ketika sewaktu waktu ada akun (username & passsword) yang masuk, data data itu takkan hilang. Mulai dari pesan masuk, jumlah absensi sekolahmu, biodatamu, dan lain sebagainya. Semua data itu bisa tetapa ada disana karena adanya Session yang disimpan dalam memory pada server

Namun akhir akhir ada teknologi yang menggantikannya, karena dirasa Session tak lagi aman. Bayangkan jika proses Session hanya semudah itu, berarti hanya dengan mengetahui sidik jari Session yang tersimpan, kita bisa menguasai data data yang kita anggap sebuah privasi. Apakah mau pesan masuk doi kita terbaca oleh orang asing? Tentu tidak

Maka dari itu lahirlah sebuah teknologi yang bernama JWT atau JSON Web Token

Apa Itu JWT (Json Web Token?)

Menurtu situs resminya:

"JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA."

Atau secara singkat JWT adalah standard yang mengamankan pertukaran informasi berbentuk object JSON. Yang mana informasi tersebut bisa diverifikasi karena telah ditandai secara digital.

Kita telah mendapatkan kata kunci untuk memahami JWT ini. Verifikasi dan Ditandai atau dalam bahasa inggris dikenal

Verify dan Signed

Bagaimana JWT Bekerja?

 


Pertama. Semisal kita memasukkan username dan password. Maka Server akan memberikan kode JWT, ini merupakan proses yang disebut sebagai Sign, dan token JWT tersebut merupakan Signature. Kode JWT ini diberikan berdasarkan kode rahasia. para programmer biasanya menyebutnya sebagai SECRET_KEY yang disimpan pada file .env

Contoh SECRET_KEY. Biasanya saat kita takkan memasukkan file ini pada repo Github. Caranya kita tuliskan .env pada file gitignore

Kedua. Setelah itu JWT akan memberikan JWT pada browser dan mengirimkan JWT sebagai header Request kepada Server

Ketiga. Server akan mem-verify JWT tersebut. Atau sederhananya, mencocokan Signature tersebut sehingga server bisa memastikan request ini merupakan request yang aman dan bukan berasal dari hacker

Keempat. Server memberikan response yang diminta oleh Client. Bisa berupa isi data json, data data yang harus dipopulasikan

Kelebihan JWT Dibandingkan Session Biasa


Ketika kita menggunakan Session. Setiap Client mengambil data dari server Bank, maka semua proses keluar masuk, merubah dan menghapus data akan berhasil karena Session pada server Bank menyimpan ID Session tersebut. Namun ketika Client mengakses server Retirement semua itu takkan berhasil karena server Retirement tidak menyimpan Session apapun. 

Sedangkan jika kita menggunakan JWT kita bebas mengakses server manapun, bisa Bank bisa Retirement. Selama kedua server tersebut memiliki SECRET_KEY yang sama

Amankan SECRET_KEY-mu

Tunggu. Apakah kamu yakin, SECRET_KEY mu aman?

Dan apakah kamu sudah tahu, bahwa SECRET_KEY mu tidak boleh sampai bocor?

Untuk mengamankan SECRET_KEY mu. Maka kita membutuhkan SECRET_KEY yang serandom mungkin. Serandom randomnya. Tidak bisa ditebak oleh manusia manapun. Hanya kita dan Allah yang boleh mengetahuinya

Bagaimana caranya? Caranya adalah dengan mendapatkan kode random tersebut menggunakan module bernama crypto

Buka CLI kalian. Dan ketik node

Lalu ketik require('crypto').randomBytes(64).toString('hex')

Maka kita akan mendapatkan angka angka, karakter karakter aneh ini

Ini lah yang akan menjadi SECRET_KEY kita. Kita kopi dan masukkan kedalam .env


 

Share
Tweet
Pin
Share
No comments
Newer Posts
Older Posts

About me

About Me

Techbros Writer. Educactor, you name it

Follow Us

  • instagram
  • youtube

Categories

Materi Kuliah Buku Internet Stuff

recent posts

Sponsor

Blog Archive

  • March 2025 (4)
  • February 2025 (1)
  • November 2024 (3)
  • October 2024 (1)
  • January 2024 (1)
  • December 2023 (12)
  • November 2023 (9)
  • October 2023 (1)
  • September 2023 (3)
  • August 2023 (14)
  • July 2023 (3)
  • June 2023 (11)
  • May 2023 (3)
  • April 2023 (1)
  • March 2023 (1)
  • February 2023 (8)
  • January 2023 (6)
  • December 2022 (3)
  • November 2022 (2)
  • October 2022 (3)
  • September 2022 (3)
  • August 2022 (1)
  • July 2022 (1)
  • June 2022 (1)
  • May 2022 (1)
  • March 2022 (4)
  • February 2022 (8)
  • January 2022 (8)
  • December 2021 (4)
  • November 2021 (11)
  • October 2021 (6)
  • August 2021 (9)
  • July 2021 (5)
  • June 2021 (5)
  • May 2021 (4)
  • April 2021 (4)
  • March 2021 (6)
  • February 2021 (2)
  • January 2021 (7)
  • December 2020 (5)
  • November 2020 (2)
  • October 2020 (5)
  • September 2020 (6)
  • July 2020 (1)
  • June 2020 (1)
  • May 2020 (6)
  • March 2020 (1)
  • January 2020 (3)
  • December 2019 (3)
  • November 2019 (12)
  • October 2019 (8)
  • September 2019 (6)
  • August 2019 (8)
  • July 2019 (6)
  • June 2019 (3)
  • May 2019 (8)
  • April 2019 (2)

Report Abuse

Created with by ThemeXpose