Selain tipe data dasar seperti angka (int, double), teks (str), dan boolean (bool), sejumlah tipe
data lainnya yang tidak kalah penting antara lain:
List
Dalam bahasa Indonesia kita menyebutnya sebagai daftar, karena ya tipe data ini bisa berisi
sekumpulan tipe data lain, bahkan berisi tipe data List itu sendiri.
List menggunakan notasi kurung kotak [] atau dalam bahasa Inggris square brackets atau
brackets aja.
Di beberapa bahasa pemrograman lain disebut juga dengan istilah array.
print('buah-buahan: {}' \
.format(', '.join(daftar_buah)))
# buah-buahan: apel, belimbing, cempedak, durian
Dictionary
Kita menyebutnya juga sebagai kamus, karena berisi daftar unik yang disebut sebagai kunci
(key), yang juga punya nilai (value) yang terkait.
Dictionary menggunakan notasi kurung kurawal {} atau dalam bahasa Inggris curly brackets
atau braces aja.
Di beberapa bahasa pemrogaman lain disebut juga dengan istilah map atau hash-map.
if pencarian_ditemukan:
info = 'Data yang dicari berhasil ditemukan'
else:
info = 'Data yang dicari tidak ada'
Pengulangan
Dalam perosesan data, kita akan menggunakan pengulangan untuk memroses data yang
berurutan (sequence) atau data yang perlu diiterasi.
Sejumlah tipe yang berjenis urutan (sequence), bisa diproses iterasi dengan mudah menggunakan
pengulangan for. Contoh tipe yang merupakan urutan: str, list, tuple, dict.
# mengambil konstanta punctuation (tanda baca)
from string import punctuation
print(punctuation) # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
for p in punctuation:
print(p)
for k, v in kamus_pengguna.items():
print('ID {} bernama {}'.format(k, v))
Kadang kita perlu untuk melakukan iterasi sampai suatu kondisi terpenuhi, misalnya melakukan
pencarian, maka proses iterasi akan berlangsung terus sampai pencariannya ketemu atau ya
sampai semua sudah diiterasi tapi tidak ketemu.
Sebagai contoh kita perlu menggunakan fungsi matematika logaritma, tentu akan merepotkan
sekali kalo kita harus membuat sendiri fungsinya. Maka kita menggunakan modul math yang
sudah disediakan oleh Python, untuk menggunakan sejumlah fungsi matematika seperti log(),
sqrt(), juga konstanta seperti bilangan natural e dan konstanta pi.
Pada kondisi tertentu, misalnya menghindari circular-import (kondisi dimana dua berkas saling
mengimpor), kita bisa menggunakan command import saja seperti berikut.
Bayangkan kalo kita ingin menghitung 3 buah lingkaran dengan nilai jari-jari yang berbeda-
beda, kemudian kita perlu mengulang-ulang lagi memasukkan instruksi di atas, tentu akan
melelahkan. Tapi dengan membungkusnya menjadi sebuah fungsi, kita cukup menuliskannya
satu kali, lalu tinggal memanggilnya berulang-ulang kali.
Pembuatan fungsi/prosedur itu menggunakan sintaksis def seperti dicontohkan berikut. (catatan:
prosedur itu sebuah fungsi yang tidak mengembalikan nilai)
from math import pi
# prosedur hitung luas lingkaran lalu cetak ke layar
def cetak_layar_luas_lingkaran(jarijari):
print('lingkaran dengan jari-jari {}, luasnya {}'\
.format(jarijari, pi*jarijari*jarijari))
Lalu pemanggilannya seperti ini (yang diberikan nilainya ke fungsi disebut masukan atau input
argumen, di bawah ini menggunakan argumen posisi).
cetak_layar_luas_lingkaran(10)
# lingkaran dengan jari-jari 10, luasnya 314.1592653589793
cetak_layar_luas_lingkaran(100)
# lingkaran dengan jari-jari 100, luasnya 31415.926535897932
Gimana agar prosedur yang sudah kita buat di atas, bisa menjadi fungsi, jadi mengembalikan
nilai? Agar bisa digunakan dalam sebuah perhitungan. Caranya adalah menggunakan sintaksis
return.
Salah satu package manager yang memiliki koleksi hingga ratusan ribu ragam paket adalah pip,
semuanya bisa kita gunakan dengan syarat perlu terhubung ke internet saat mengoperasikannya.
Saat melakukan instalasi Python, aktifkan juga package manager pip, sehingga berikutnya
punya perintah pip di command prompt/console.
Untuk berikutnya, hanya akan dituliskan perintah pip dan argumennya saja, tanpa prompt di
windows/linux/macos. Beberapa perintah penggunaan pip:
Numpy
Numpy adalah pustaka untuk pemrosesan numeric dengan efisien. Jika diperhatikan kembali
pembahasan keahlian matematika yang dibutuhkan, maka paket Numpy inilah yang dibutuhkan
untuk melengkapi kebutuhan terkait sejumlah fungsi Aljabar Linear. Numpy adalah pustaka yang
diakui sebagai standar tipe (lingua franca) untuk interaksi data antar pustaka di Python terkait
pemrosesan numerik.
Sebagai contoh, jika dibandingkan dengan mengimplementasi sendiri sebuah vektor dengan
seribu atau sejuta elemen menggunakan tipe data list, maka implementasi ndarray Numpy
akan jauh lebih efisien sehingga pemrosesannya jauh lebih cepat. ndarray singkatan dari n-
dimension array, sebuah tipe data pada Numpy yang efisien untuk penyimpanan dan pemrosesan
vektor, matriks dan tensor.
Pandas
Pandas adalah pustaka untuk melakukan analisis dan manipulasi data yang efisien. Aplikasi
Machine Learning membutuhkan banyak data untuk menemukan pola dan melatih
pengetahuannya untuk menghasilkan model terbaik. Sehingga sebelum kita mulai memrogram
Machine Learning kita perlu melakukan eksplorasi data yang dimiliki terlebih dahulu, karena
itulah kita membutuhkan pustaka seperti Pandas.
Bayangkan sebuah data yang akan digunakan bukan hanya orde ribuan atau ratusan ribu, bahkan
tidak sedikit yang datanya mencapai jutaan. Dalam jumlah data besar seperti itu, kita sulit
mengandalkan aplikasi semacam Google Sheet atau Microsoft Excel untuk melakukan analisis.
Di sini tidak akan dibahas lebih detail, sementara gunakan artikel dan video yang bisa ditemukan
di mesin pencari, sudah banyak sekali, serta dalam bahasa Indonesia.
Scikit-Learn banyak digunakan sebagai pustaka Machine Learning yang berbasis statistik, karena
sebelum tahun 2010an, mayoritas pengolahan data Machine Learning berbasis statistik.
Sebaliknya, PyTorch dan TensorFlow adalah pustaka Machine Learning yang berbasis Artifical
Neural Network, atau kini lebih sering disebut sebagai Deep Learning. Sejak sekitar 2010an,
dimana kemampuan komputasi paralel sudah semakin maju, Deep Learning menjadi pilihan
periset maupun praktisi untuk menyelesaikan masalah-masalah yang bisa dipecahkan dengan
Machine Learning, berikut daftar kecanggihan (State-of-the-Art) dari Machine Learning.
Tentunya di luar cakupan artikel ini untuk membahas Scikit-Learn, PyTorch & TensorFlow lebih
detail, pustaka inilah yang menjadi alat utama yang digunakan sehari-hari oleh peneliti maupun
praktisi Machine Learning, sehingga perlu dipelajari secara mendalam bagi yang tertarik
memecahkan masalah dengan Machine Learning.