Python for Data Professional Beginner — Part 1

Kita akan mempelajari apa itu bahasa pemograman Python, “Hello World” di Python, dan struktur bahasa pemograman Python.

Dadan Dahman W.
Howdy Sysinfo
20 min readJan 8, 2021

--

Howdy Sysinfo? Pada artikel kali ini saya akan berbagi ilmu dan pengalaman tentang Python khsusunya Python for Data Analyst. Materi yang saya bagikan ini merupakan apa yang saya pelajari pada modul Data Analyst Career Track of Data Analyst di DQLab. Semoga yang saya share ini berguna untuk semuanya.

Pada modul ini kita akan mempelajari materi python, sebagai berkut :

  1. Struktur program python
  2. Python variables and data types
  3. Python operators
  4. Python conditioning and looping
  5. Mini quiz

Module ini akan memperkenalkan konsep dasar bahasa pemograman Python, memberikan penjelasan mengenai syntax, dan fungsi built-in yang penting untuk dikuasai untuk melakukan pengolahan data, terutama untuk memulai karir sebagai praktisi data, baik Data Scientist (DS), Data Engineer (DE), ataupun Data Analyst (DA).

Struktur Program Python

Statements: Instruksi yang diberikan secara baris per baris untuk dijalankan oleh mesin.

Contoh:

Variables: Lokasi penyimpanan yang dapat digunakan untuk menampung sebuah data atau informasi. Contoh: aku mempunyai variabel yang bernama bilangan1, bilangan2, dan kalimat1

Literals: Simbol-simbol yang dapat kita gunakan untuk mengisi suatu variabel. Pada kode yang telah dicontohkan di atas, angka 5 dan 10 serta ‘Belajar Bahasa Python’ disebut sebagai literal.

Contoh :

Operators: Simbol-simbol yang dapat digunakan untuk mengubah nilai dari satu variabel dengan melibatkan satu atau lebih variabel dan literal. Contoh: Tanda + merupakan salah satu contoh operator. Dengan menggunakan tanda +, aku berhasil menambahkan isi dari bilangan1 dan bilangan2!

Contoh :

Adapun operator yang lain selain operator + adalah sebagai berikut.
1. Operator -yang berfungsi sebagai operator pengurangan,
2. Operator * yang berfungsi sebagai operator perkalian, dan
3. Operator ** untuk pemangkatan

Struktur Program Python

1. Reserved Words: Kumpulan kata-kata yang memiliki makna khusus dalam bahasa pemrograman Python. Kata False, return, dan for merupakan contoh dari reserved words.

Catatan: Kita tidak dapat mendeklarasikan variabel dengan menggunakan sebuah reserved word!

2. Whitespace: Pada bahasa Python, spasi dan tab memiliki makna khusus untuk menandai serangkaian blok dalam kode Python. Hal ini akan dijelaskan secara lebih lanjut pada bagian struktur pemilihan dan struktur pengulangan pada bahasa Python.

3. Comments: Comments merupakan sekumpulan teks yang dituliskan di dalam sebuah program yang tidak akan mempengaruhi hasil dari sebuah program. Walaupun tidak mempengaruhi hasil program, comments merupakan salah satu komponen yang penting dalam pengembangan program. Hal tersebut dikarenakan comments dapat diselipkan di antara sekumpulan statements yang telah dituliskan, untuk berkomunikasi dengan rekan programmer lainnya dalam satu tim.

Terdapat dua jenis comments di dalam Python, yaitu:

a. single line comment (comments dalam satu baris) seperti pada contoh berikut:

b. multi line comment (comments dalam beberapa baris) yang dapat dituliskan seperti pada contoh berikut:

Python Variables and Data Types

Setelah mengetahui konsep sederhana dari sebuah variabel.

Pada bagian ini, kita akan mengkaji variabel dan tipe data secara lebih detil.

Tips: Dalam mendeklarasikan sebuah variabel, berilah nama yang mewakili isi dari variabel tersebut. Sebagai contoh :

Aturan Penamaan Python Variables

Penamaan suatu variabel pada python dapat dikatakan valid selama memenuhi aturan-aturan berikut:

  1. Nama dari sebuah variabel harus dimulai dengan huruf (a-z, A-Z) atau karakter garis bawah underscore (_) dan tidak dapat dimulai dengan angka (0–9).
  2. Variabel hanya boleh mengandung karakter alfabet dan bilangan dan underscore (a-z, A-Z, 0–9, _)
  3. Variabel bersifat case-sensitive yang mengartikan bahwa variabel TINGGI, tinggi, dan Tinggi merujuk pada tiga variabel berbeda.

Kemudian, selain dapat mendeklarasikan nilai dari suatu variabel secara baris per baris, kita juga dapat mendeklarasikan beberapa variabel dalam satu baris dengan menggunakan ekspresi seperti:

Tipe Data Dasar: Null, Boolean, Numeric dan Text

1. Null Type: Tipe data null dalam Python digunakan untuk menyimpan nilai kosong atau tidak ada yang dinyatakan dengan None.

2. Boolean Type: Tipe data boolean atau bool digunakan untuk menyimpan nilai kebenaran (True, False) dari suatu ekspresi logika.

3. Numeric Type: Tipe data yang digunakan untuk menyimpan data berupa angka. Terdapat dua macam tipe data numeric, yaitu int untuk menyimpan bilangan bulat (e.g.: 0, 1, 2, 404, -500, -1000) dan float untuk menyimpan bilangan riil (e.g.: 0.5, 1.01, 2.05, 4.04)

4. Text Type: Pada Python, tipe data string (str) digunakan untuk menyimpan data teks. Tipe data string dimulai dengan tanda kutip (baik kutip satu/ dua) dan diakhir dengan tanda kutip. Contoh: “Teks”, “Contoh teks menggunakan Python”, dan ‘Teks pada Python’.

Sequence Type — Part 1

Tipe data ini digunakan untuk menampung sekumpulan data secara terorganisir.
List dan tuple merupakan bentuk dari tipe data sequence.
Pada part 1 ini, aku akan mempelajari tipe data list terlebih dahulu.

Tipe data list diawali dengan tanda kurung siku buka ( [ ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan kurung siku tutup ( ] ). Sebagai contoh:

Setiap elemen dari list memiliki indeks yang dimulai dari angka 0 dan terus bertambah satu nilainya hingga elemen terakhir dari list. Sebagai contoh:

Tipe data list bersifat mutable yang berarti setiap elemen di dalam list dapat dirubah nilainya setelah proses pendeklarasian list. Sebagai contoh:

Tugas:

Aku diberikan tugas untuk menerapkan variasi tipe data list dengan mengikuti petunjuk yang diberikan Senja. Berikut petunjuknya:

Petunjuk 1: Input data 1, ‘dua’, 3, 4.0, 5 ke dalam contoh_list
Petunjuk 2: Ambil Elemen pertama dari contoh_list untuk menampilkan output 1 menggunakan print statement
Petunjuk 3: Ambil Elemen ketiga dari contoh_list untuk menampilkan output 4.0 menggunakan print statement
Petunjuk 4: Input data 1, ‘dua’, 3, 4.0, 5 ke dalam contoh_list
Petunjuk 5: Rubah Elemen ketiga dalam contoh_list menjadi ‘empat’
Petunjuk 6: Tampilkan output elemen ketiga yang telah dirubah tersebut menggunakan print statement

Answer :

Sequence Type — Part 2

Setelah mempelajari tipe data list. kita mempelajari tipe data tuple. Tipe data tuple juga berfungsi untuk menampung sekumpulan data. Tipe data tuple diawali dengan tanda kurung buka ( ( ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( ) ). Sebagai contoh:

Aturan indeks dan cara mengakses elemen pada sebuah tuple serupa dengan list. Sebagai contoh:

Berbeda dengan tipe data list, tipe data tuple bersifat immutable yang berarti elemen pada tipe data tuple tidak dapat diubah setelah proses pendeklarasiannya.

Pada saat aku mengubah elemen pada tuple seperti pada kode berikut,

akan menhasilkan error di console

Tugas:

Sekarang aku diberikan tugas untuk menerapkan variasi tipe data tuple dengan mengikuti petunjuk yang diberikan Senja:

Petunjuk 1: Input data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 2: Ambil Elemen pertama dari contoh_tuple untuk menampilkan output 1 menggunakan print statement
Petunjuk 3: Input kembali data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 4: Rubah Elemen pertama dalam contoh_tuple menjadi “Desember”

Answer :

Set Type

Serupa dengan tipe data sequence, tipe data set digunakan untuk menampung sekumpulan data dengan tipe lainnya. Terdapat dua jenis dari tipe data set yaitu, set dan frozenset.

Tipe data set diawali dengan tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Namun, berbeda dengan tipe data sequence, seperti list, tipe data objek tidak mengizinkan adanya elemen dengan nilai yang sama dan tidak memperdulikan urutan dari elemen.

Sebagai contoh:

Akan menghasilkan output:

sedangkan pada tipe data set:

Akan menghasilkan output :

Dari kedua contoh output pada program, dapat terlihat:

  1. Berbeda dengan tipe data set, tipe data list memperdulikan urutan dari setiap elemen saat list dideklarasikan.
  2. Berbeda dengan list yang mengizinkan adanya duplikasi elemen, tipe data set tidak mengizinkan adanya elemen dengan nilai yang sama di dalamnya.

Keunikan dari kedua tipe data ini tentunya menjadi pengetahuan yang berguna.
Dan kita akan mempelajarinya kembali pada bagian struktur kontrol pengulangan!

Bagaimana dengan tipe data frozenset? Tipe data frozenset sebenarnya hanya merupakan set yang bersifat immutable, yang artinya setiap elemen di dalam frozenset tidak dapat diubah setelah proses deklarasinya. Untuk membuat tipe data frozenset, kita dapat merujuk potongan kode di bawah ini:

Akan menghasilkan output:

Tugas:

Sekarang aku diberikan tugas untuk menerapkan variasi set dan frozenset:

  1. Tugas 1:Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data list dan tampilkan hasilnya
  2. Tugas 2: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data set dan tampilkan hasilnya
  3. Tugas 3: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data frozenset dan tampilkan hasilnya

Answer :

Mapping Type

Tipe data mapping dapat digunakan untuk memetakan sebuah nilai ke nilai lainnya. Dalam Python, tipe data mapping disebut dengan istilah dictionary. Tipe data dictionary dapat dideklarasikan dengan diawali oleh tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Setiap elemen pada tipe data dictionary dideklarasikan dengan format:

Hal inilah yang membedakan tipe data mapping dengan tipe data set. Untuk lebih memperjelas tipe data mapping, aku mempelajari potongan kode berikut:

Potongan kode di atas adalah contoh pendeklarasian dari tipe data dictionary. Kemudian, bagaimana dengan cara mengakses informasi dari tipe data ini?

Dengan mencoba potongan code ini pada live code editor, maka akan mendapatkan output:

Untuk mengakses elemen dari sebuah dictionary, kita hanya perlu menspesifikasikan kata kunci yang terdapat dalam sebuah dictionary.

Tugas:

Menggunakan tipe data mapping, aku diminta untuk menampilkan nama & pekerjaan John Doe, seorang Programmer.

Answer :

Tugas Praktek :

Dengan data yang aku miliki, aku bisa menghitung total harga jual dengan potongan harga dengan pajak sebesar 10% dari nilai jual.

Untungnya Senja memberikan beberapa tips untuk menyelesaikan tugas ini:

  1. Tips 1. # Data yang dinyatakan ke dalam dictionary
  2. Tips 2. # Hitung harga masing-masing data setelah dikurangi diskon
  3. Tips 3. # Hitung harga total
  4. Tips 4. # Hitung harga kena pajak
  5. Tips 5. # Cetak total_harga + total_pajak

Answer :

Python Operators

Setelah kita berhasil mempelajari detil terkait dengan variables dan data type, sekarang kita akan mempelajari operator-operator yang tersedia di dalam Python. Di dalam Python, operator terbagi ke dalam 6 kelompok:

  1. Arithmetic operators
  2. Assignment operators
  3. Comparison operators
  4. Logical operators
  5. Identity operators
  6. Membership operators

Arithmetic Operators

Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika sederhana yang terdiri atas:

Assignment Operators

Operator assignment digunakan untuk mendeklarasikan nilai secara langsung ke suatu variabel.

Comparison Operators

Operator comparison dapat digunakan untuk membandingkan dua buah nilai, berikut merupakan contoh-contoh operator komparasi.

Logical Operators

Operator logical digunakan untuk menggabungkan beberapa nilai kebenaran atas suatu statemen logika.

Identity Operators

Operator identitas dapat digunakan untuk membandingkan identitas dari dua buah variabel.

Pada umumnya, operator identitas sering digunakan bersamaan dengan fungsi type(), fungsi type() menerima sebuah objek dan mengembalikan tipe data dari objek tersebut. Contoh penggunaan operator identitas dan fungsi type().

akan menampilkan pesan True.

Setelah line di bawah ini selesai dieksekusi, Python akan secara otomatis mengubah tipe data dari x menjadi float

akan menampilkan pesan False, dan

akan menampilkan pesan True

Membership Operators

Operator keanggotaan (membership) dapat digunakan untuk memeriksa anggota dari sebuah tipe data sequence/set, operator keanggotaan meliputi:

Nilai Prioritas Operator dalam Python — Part 1

Tugas:

Diminta untuk menghitung harga yang harus dibayarkan menggunakan barang senilai 150,000, dengan diskon 30% dan pajak 10%, menggunakan cara yang aku gunakan awal, dan cara lebih singkat yang diajarkan Senja.

Answer:

Nilai Prioritas Operator dalam Python — Part 2

Dalam bahasa pemrograman Python, tabel berikut mencakup nilai prioritas dan arah pengerjaan dari setiap operator.

Dari tabel di atas, dapat terlihat bahwa tanda () memiliki nilai prioritas yang paling tinggi. Hal itu menandakan, jika di dalam suatu statemen yang melibatkan beberapa operator secara sekaligus, setiap operasi yang berada di dalam tanda () akan dikerjakan terlebih dahulu.
Kemudian, jika terdapat beberapa operasi dalam tanda (), tanda kurung yang berada di sebelah paling kiri akan dikerjakan terlebih dahulu dikarenakan arah pengerjaan dari tanda () adalah dari kiri ke kanan.

Dari contoh di atas, meskipun operator perkalian (*) memiliki nilai prioritas yang lebih tinggi dari operator pengurangan (-), tanda () akan membuat Python mengerjakan bagian pengurangan terlebih dahulu, sebelum akhirnya mengalikan hasil pengurangan dengan bilangan 100.

Tugas Praktek :

Aku baru sadar kalau ternyata dengan struktur penulisan yang tepat, penulisan syntax dapat dipersingkat untuk menjadi lebih simpel.

Kenapa tidak terpikirkan olehku ya? Harusnya aku tidak perlu mendeklarasikan variabel total_pajak dan aku bisa langsung menampung hasil perhitungan akhir saat mendeklarasikan variabel total_harga. Jadi, kodeku akan berjalan jika aku menambahkan setiap harga barang yang telah dipotong diskon sebelum menghitung pajak.

Dengan cara yang diajarkan , kita akan membuat potongan kode diatas menjadi lebih simpel.

Answer :

Pythons Conditioning & Looping

Python Conditioning for Decision — Part 1

Layaknya bahasa pemrograman lainnya, bahasa pemrograman Python menyediakan statemen desisi (decision statement) untuk berinteraksi dengan variabel bertipe boolean dan operator logika. Statemen desisi dalam Python dapat dituliskan dengan menggunakan format berikut,

Dengan <conditions> berisikan operator yang mengembalikan nilai kebenaran; ataupun beberapa operator yang mengembalikan nilai kebenaran, yang digabungkan dengan operator logika. Melalui sebuah statemen desisi (if statement), <do_action_1> sampai dengan <do_action_n> akan dijalankan saat <conditions> bernilai True.

Dalam menuliskan serangkaian aksi (<do_action_1>, … , <do_action_n>) dalam sebuah statemen if, kita harus mengemas setiap aksi dalam sebuah blok dengan menambahkan indentasi (jorokan) dari pada aksi.

Python Conditioning for Decision — Part 2

Python Conditioning for Decision — Part 3

Dari yang kita pelajari pada bagian awal dari statemen desisi, operator desisi juga dapat digunakan dengan operator logika.

Sebagai catatan tambahan, kita juga belajar bahwa aksi dalam sebuah desisi statemen dapat dituliskan desisi statemen tambahan (lainnya) yang dikenal dengan istilah nested if.

Tugas:

“Kantor kita akan merilis penawaran baru terkait jasa pembuatan data warehouse. Bisa tolong kembangkan kalkulatormu untuk menghitung tagihan pembayaran? Soalnya selama ini kita masih manual,” jelas Senja sembari memberikan contoh nota tagihan kantor.

Aku belum mengiyakan karena sedikit ragu. Mengingat sebelumnya aku sempat salah. Tapi dalam hati aku berkata, pasti bisa! Kali ini aku harus mampu membuat kalkulator lebih rumit.

Solusi yang terlintas dalam bayanganku: Kalkulator ini harus dapat menghitung subtotal setiap jasa yang diambil dari kolom harga/ hari dan total hari dari setiap jasa. Ternyata Senja juga memikirkan hal yang sama dengan instruksinya yang sangat membantu.

Answer :

Tugas:

Tolong masukkan variabel keterangan waktu tersebut di kodemu. Lalu, diatur dengan detail berikut:

  1. Diatas jam 07 malam adalah salam ‘selamat malam’
  2. Diatas jam 05 sore adalah salam ‘selamat sore’
  3. Diatas jam 12 siang, adalah ‘selamat siang’
  4. dan selain itu ‘selamat pagi’

Answer:

Python Primitive Loop Control

Loop Control merupakan salah satu fitur yang mengizinkan penggunanya untuk melakukan serangkaian aksi, selama suatu kondisi yang telah ditetapkan bernilai benar. Dalam Python, terdapat dua bentuk primitif dari loop kontrol (struktur pengulangan), yaitu

  • while loops
  • for loops

Python while loops — Part 1

Python while loops — Part 2

Dalam sebuah struktur kontrol pengulangan, kita dapat menggunakan perintah break untuk keluar dari struktur pengulangan dan perintah continue untuk melanjutkan proses pengulangan berikutnya.

Python while loops — Part 3

Python for loops — Part 1

Python for loops — Part 2

Serupa dengan struktur pengulangan while, kita juga dapat memanfaatkan statement break dan continue di dalamnya.

Python for loops — Part 3

Ternyata, kita belajar bahwa ada istilah nested loops, yaitu pengulangan bersarang. Dengan nested loops, aku dapat mengkombinasikan (menambahkan) struktur pengulangan lain di dalamnya.

Tugas:

Program yang akan kita bangun akan mengolah sebuah list yang bernama list_cash_flow. Setiap elemen dari list_cash_flow berisikan pengeluaran (bilangan negatif) dan pemasukan (bilangan positif) pada perusahaan. Dari list_cash_flow ini, kita akan menghitung total_pengeluaran dan total_pemasukan perusahaan.

Answer:

Mini Quiz:

Ekspedisi Pamanku

Aku menyambar ponsel di meja dan membuka pesan singkat dari paman tempo hari yang menjelaskan jika paman harus mengeluarkan uang sebesar 1,5 juta per mobil dalam sehari. Tapi, beliau selalu kebingungan total pengeluaran per bulan karena adanya aturan ganjil-genap yang membuat pengoperasian mobil yang berbeda.

“Kalau begitu, aku akan masukkan variabel jumlah_hari berisi jumlah hari dalam sebulan dan variabel list_plat_nomor berisi seluruh nomor plat mobil milik paman,” gumamku sendiri. Kalau seperti ini paman hanya perlu mengganti variabel jumlah_hari atau modifikasi variabel list_plat_nomor untuk melacak total pengeluaran paman selama sebulan. Ide Cemerlang!

Answer:

Dari materi yang telah kita pelajari dan praktekkan, kita telah mempelajari:

  • Alasan Python secara luas digunakan dalam komputasi saintifik, web, ranah data (data domain).
  • Konstruksi dari struktur bahasa pemrograman Python.
  • Teknik mempraktekkan penggunaan tipe data pada Python.
  • Teknik mempraktekkan penggunaan jenis-jenis operator pada Python.
  • Teknik mempraktekkan penggunaan pengkondisian untuk pengambilan keputusan dan perulangan pada Python.
  • Program Python untuk penyelesaian kasus bisnis sederhana.

Bagaimana? Materi dan latihan yang diberikan DQLab sangat membantu kita dalam mempelajari Python, kan? Masih banyak loh modul di DQLab yang membahas topik Python, lengkap dengan studi kasus berdasarkan masalah yang terjadi di industri. Selain Python, ada juga materi tentang R, SQL, dan Excel. Yuk segera ikut course-nya di DQLab

Dan tunggu tulisan di medium ini untuk modul-modul selanjutnya yaaa !!!

Referensi :

https://en.wikipedia.org/wiki/Data_science

--

--