Powered by Blogger.
facebook twitter instagram pinterest bloglovin Email

Yasya Indra Blog

Éclairage et ingénierie

 

Kali ini kita akan belajar tentang automated testing. Ini merupakan metode dalam pemograman dimana kita memastikan bahwa kode berjalan dan mengeluarkan hasil sebagaimana mestinya. Automated testing sering di gunakan pada bahasa pemograman tertentu seperti automated testing javascript dan automated testing framework lainnya


Apa Itu Automated Testing?

Automated Testing adalah implementasi dari tool tool yang dijalankan secara otomatis untuk menguji studi kasus kode.

Testing merupakan sebuah langkah paling awal yang harus dilakukan ketika ingin aplikasi kita berjalan baik. Sebelum akhirnya kita melanjutkan pada langkah langkah yang lain seperti intergrasi, API dan UI

 


 

Siapa Yang Melakukan Automated Testing?

Testing biasa di lakukan pada saat tahapan awal lifecycle dan biasanya developer berkolaborasi dengan tester. Tester disini merupakan tim yang tugasnya mengevaluasi tes yang sudah dilakukan yaitu

  • Manual Tester: Merekam dan memastikan fungsionalitas berjalan sebagaimana mestinya. Biasanya menggunakan tool tersendiri dan tanpa kode
  • Automation Engineer: Persis seperti Manual Tester, bedanya ia menggunakan script script tertentu untuk berintergrasi dengan CI/CD
  • Developer: Melakukan test pada kode langsung saaat pengembangan

Cara Menggunakan

Pertama kita bisa menggunakan sebuah metode bawaan dari python bernama assert

Misal saya mempunyai perjumlahan

4 + 5

Tentu hasilnya adalah 9

Nah kita bisa memeriksa apakah hasil perjumlahan ini benar benar 9

 

assert 4 + 5 ==  9

 

Namun untuk menggunakan assert, kita harus menggunakan exception. Kita udah belajar exception pada postingan sebelumnya. 

 

try:
    assert 4 + 5 == 10
    print("SUKSES")
except AssertionError:
    print("ERROR")

Share
Tweet
Pin
Share
No comments

 

Kita sudah belajar tentang list di postingan sebelumnya, tapi sebenarnya kita bisa membuat sebuah list sesuai dengan keinginan kita dengan mudah. Misal kita ingin list yang berisi angka angka genap, kita bisa mencarinya dengan mudah hanya dengan satu baris. Untuk melakukannya kita wajih mengetahui sebuah konsep bernama list comprehension


Baca Juga: Belajar Python Dasar. Pembahasan Struktur Data List, Tuples, Counters, Dictionaries, Sets


Apa Itu List Comprehension?

List Comprehension adalah sebuah kemampuan untuk bisa mempersingkat sebuah list berdasarkan list lain.

Misal saya mempunyai list berikut
 
angka = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 
saya hanya ingin mengambil angka angka ganjil di dalamnya maka saya bisa melakukan kode berikut
 
odd_numbers = [x for x in angka if x % 2 == 1]
 
  • x pertama merupakan variabel yang bisa kita operasikan jika ingin mengubahnya menjadi hasil yang baru
  • x kedua merupakan variabel yang merepresentasikan setiap angka yang ada di dalam list
  • if x % 2  === 1 adalah sebuah perkondisian yang kita inginkan.

Bentuk Lain: Dict dan Set

Selain list, kita juga bisa men-transform struktur data menjadi dict atau set. Caranya adalah dengan yang awalnya menggunakan kurung siku jadi menggunakan kurung kurawal seperti ini

Untuk kasus ini saya menggunakan contoh dimana saya harus mencari angka kuadrat dari 1 sampai 10

square_dict = {x:x*x for x in range(10)}

Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

 

Kita juga bisa menggunakan set dimana struktur data ini menghindari data data duplikasi sehingga dianggap tidak ada

square_set = {x * x for x in [1, -1, 2, -2]}

Output:  {1, 4}


Baca Juga: Belajar Python Dasar. Pembahasan Sorting



Underscore

Kita bisa menggunakan underscore jika kita ingin menggunakan angka tertentu secara konstan. Misal

zeros = [0 for _ in range(10)]
 
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
Kita bisa mengganti 0 dengan angka, atau tipe data apapun yang kita inginkan

Pairs

Selain dict dan set, kita juga bisa membuat pairs sebagai isi dari list kita.
 
pairs = [(x, y) for x in range(10) for y in range(10)]
 
output: [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (4, 7), (4, 8), (4, 9), (5, 0), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (5, 7), (5, 8), (5, 9), (6, 0), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6), (6, 7), (6, 8), (6, 9), (7, 0), (7, 1), (7, 2), (7, 3), (7, 4), (7, 5), (7, 6), (7, 7), (7, 8), (7, 9), (8, 0), (8, 1), (8, 2), (8, 3), (8, 4), (8, 5), (8, 6), (8, 7), (8, 8), (8, 9), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9)]
 
 

 

Share
Tweet
Pin
Share
No comments

 


Di dalam python kita mengenal sebuah method bernama sorting. Method ini berfungsi untuk mengurutkan isi list yanng awalnya data tidak berurutan. Misal kita punya list berisi angka, 1,4,3,9 kita bisa mengurutkannya menjadi dari yang terkecil hingga terbesar. Atau sebaliknya. Kali ini kita akan belajar bagaimana menggunakan sorting menggunakan python


Cara Menggunakan

Sebelum kita menggunakan sorting, pastikan kalian sudah menyiapkan sebuah list dengan isi data data integer

x = [4, 3, 1, 2]

Kita bisa bungkus dengan dengan memasukkannya ke dalam variabel terlebih dahulu

 

y = sorted(x)

print(y)

 

Ascending dan Descending

Kalian juga bisa mengubah dari kecil ke besar dengan memberikan parameter tertentu yaitu reverse=boolean

Ascending adalah urutan dari kecil ke besar

Descending adalah urutan dari besar ke kecil

Nah, jika kalian ingin mengurutkan dari besar ke kecil kalian bisa menggunakan reverse=True


y = sorted(x,  reverse=True)


Baca Juga: Belajar Python Dasar. Pembahasan Struktur Data List, Tuples, Counters, Dictionaries, Sets

Absolute Number

Sorting juga menangani pengurutan terhadap angka angka negative. Namun kita juga menangangi angka angka absolute. Apa itu angka absolut atau absolute number

Absolute number adalah angka yang pasti dan tidak terpaku pada negative dan positif. Kita hanya menilai angka tersebut sebagai angka yang positif.


Dalam sorting

x = [4, 3, 1, 2, -2, 0, -1]

y = sorted(x, key=abs, reverse=True)

Output: [4, 3, 2, -2, 1, -1, 0]

 

Sorting Dictionary

Tak hanya list dengan isi integer atau angka, kita juga bisa mengurutkan value value pada dictionary.

Misal kita mempunyai dictionary dengan value value yang tak beurutan. Kita ingin mencari tau key mana saja yang mempunyai value terbanyak. Untuk kasus kali ini kita akan menggunakan dictionary yang berisi jumlah berapa kata tertentu muncul pada sebuah list


Baca Juga: Ringkasan dan Download Data Science from Scratch: First Principles with Python 2nd Edition


from collections import Counter

document = ["indra", "indra", "wahyu", "afif", "wahyu","wahyu"]

word_counts = Counter(document)

wc = sorted(word_counts.items(), reverse=True)

Output: [('wahyu', 3), ('indra', 2), ('afif', 1)]

Share
Tweet
Pin
Share
No comments

 


Truthiness adalah sebuah istilah dalam pemograman dimana kita mencari tahu seberapa jauh suatu nilai bernilai true atau false. Artinya dari setiap banyaknya tipe data sebenarnya mana saja yang mempunyai nilai kebenaran intrinsik di dalamnya.Yang mana ini sangat berpengaruh jikalau kita ingin memproses program untuk sebuah perkondisian


Misal saya mempunyai perkondisian di bawah

if "makan":
    print(True)
else:
    print(False)

 

Kode diatas akan memunculkan hasil True. Namun jika "makan" saya ubah menjadi string kosong seperti ini

if "":
    print(True)
else:
    print(False)


Baca Juga: Ringkasan dan Download Data Science from Scratch: First Principles with Python 2nd Edition

Kode ini akan memunculkan hasil False. Sampai sini kita bertanya tanya dan menyimpulkan, "Oh, ternyata string kosong itu bernilai False, kira kira ada ga ya tipe data lain yang bisa jadi bernilai False?". Kenapa ini sangat penting karena ini berkaitan bagaimana cara aplikasi kita bekerja

 

Data Yang Mempunyai Nilai False

Selain string kosong, tipe data dibawah juga memiliki nilai False

a = False
b = None
c = []
d = {}
e = ""
f = set()
g = 0
h = 0.0 

 

Ini sangat berguna jika kita ingin mengambil huruf pertama pada sebuah kata. Dan seumpama kata itu berupa string kosong, kita bisa memberikan pesan khusus sebagai karena False

def get_string():
    return "Hello World"

s = get_string()

if s:
    print(s[0])
else:
    print("")


Bisa juga disingkat menjadi seperti ini

first_string = s and s[0]

Pada bahasa pemograman lain kode diatas biasa ditulis seperti ini, let first_string = s && s[0]


Bahkan kita bisa mengechek variabel kosong menggunakan logika diatas yaitu berupa OR

safe_x = x or 0
 

Karena x belum didefinisikan, kita sendiri bahkan bisa mengeceknya, jika tidak ada maka kira isi dengan nilai 0. Kode diatas sama halnya dengan kode berikut

 

safe_x = x if x is not None else 0


Function Untuk Testing

Kita juga bisa menguji data data bernilai false ini menggunakan function all()

all()

all() adalah function yang menerima list dimana di dalam list tersebut berisi data data boolean yang mana semua data ini akan menggunakan logika AND. Ngerti ga? wkwkwkw

misal saya menuliskan kode berikut

all([True, 3]) ini akan mengembalikan nilai True karena ada True dan 3 yang sama sama merupakan True. Kalo dituliskan dengan kode lain berikut True && 3. Kalo ditambah item lagi maka bisa saja memunculkan nilai boolean yang berbeda


all(True, 3, {}] memunculkan nilai False

any()

Sebaliknya any() menggunakan logika OR. 

any(True, {}) memunculkan nilai True

any(False, {}) memunculkan nilai False


Share
Tweet
Pin
Share
No comments

 

Dalam bahasa pemograman python kita mengenal sebuah konsep bernama control flow. Ini merupakan sebuah alur bagaimana program kita bekerja yang biasanya berkaitan dengan loop dan dan perkondisian

 

Apa Itu Control Flow?

Control flow adalah urutan bagaimana statement, instruksi, atau fungsi dieksekusi dan dievaluasi. Semua control flow dalam python diatur oleh looping, pengkondisian, dan panggilan fungsi

Ini sangat bermanfaat jika kita ingin menjalankan function dan ingin melakukan sebuah instruksi lain di tengah tengah prosesnya

Saya akan memberikan contoh dengan menggunakan jenis jenis konsep dan code dibawah
 
Baca Juga: Ringkasan dan Download Data Science from Scratch: First Principles with Python 2nd Edition

Condition

x = 1

if x > 2:
    print(True)
else:
    print(False)


Diatas merupakan kode pengkondisian yang sering digunakan. Namun kita bisa mengubah blok blok prosedur diatas menjadi jauh lebih singkat


is_success = "Success!" if x == 200 else "Failed!"

print(is_success)


Kalo kalian mengetahui ternary condition pada bahas pemograman lain seperti javascript seharusnya udah familiar ya. 

"Success!" merupakan nilai yang dikembalikan jika kondisi memiliki nilai true.

"Failed!" adalah nilai yang dikembalikan jika kondisi memiliki nilai false. Jadi kita disini harus mendefinisikan dulu pesan yang ingin dimunculkan lalu menuliskan kondisinya

"Pesan Jika Sukses" if True else "Pesan Jika Gagal"

 

Baca Juga: Belajar Python Dasar. Pembahasan Function

 

Looping

Looping adalah sebuah konsep pemograman dimana kita menjalankan sebuah proses berulang. 
 
x = 0
while x < 10:
    print(f"{x} is less than 10")
    x += 1
 
Tapi bagaimana jika kita ingin memunculkan atau menjalankan function lain di tengah tengah looping? Nah, kita bisa menggunakan code continue dan break. 
 
for x in range(10):
    if x == 2:
        print("Dua")
        continue
    if x == 7:
        print("Tujuh")
        break
    print(x)

Continue digunakan untuk menjalankan sebuah kode lalu melanjutkan looping

Break digunakan untuk memberhentikan proses looping itu sendiri

Nahhh, khusus untuk proses ini kita harus menggunakan kode range() yang memberikan ukuran pada berapa jumlah angka

Share
Tweet
Pin
Share
No comments

 

Kali ini kita akan belajar bersama apa itu data struktur dalam python berupa list, tuples, counters, dictionaries, dan sets. Yang membedakan antara stuktur data dan tipe data adalah struktur data merupakan sekumpulana data yang bisa kita manipulasi sedangkan tipe data adalah sebuah tipe dari masukkan atau keluaran data yang telah atau yang belum diproses.

Apa Itu Struktur Data?

Menurut Wikipedia, Struktur Data adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau pangkalan data sehingga lebih mudah diakses.

Struktur data sangat penting untuk kita sebagai programmer mengolah data yang ingin diproses dan menyebarkan data data yang ada ke dalam view (jika kamu adalah seorang programmer)

Sebagai Data Scientist, memahami struktur data sangatlah penting karena berbagai bentuk stuktur data ini mempengaruhi proses kita mencari insight dari dalam dataset

Katakanlah kita ingin memproses dataset dari file csv yang mempunyai kolom nama, kelas, id, jenis kelamin, dan score. Sedangkan beberapa module ada yang tidak mau menerima inputan bentuk data seperti ini, kita harus menerjemahkannya terlebih dahulu menjadi struktur data tertentu seperti array, object. Atau dalam bahasa python terdapat struktur data yang namanya berbeda namun secara konsep mirip dengan bahasa pemograman lainnya.

Kita akan membahasnya di bawah

 

Baca Juga: Cara Mengubah Isi Teks Menjadi Dictionary Dengan Python

 

List

List bisa jadi merupakan struktur data yang akan sering kita gunakan. Konsep list mirip sekali dengan array, namun list memiliki kemampuan yang berbeda

Dalam list kita bisa mencampurkan value valuenya dengan tipe data yang sama dan berbeda beda

integer_list = [1,2,3,4,5,6,7]
campuran_list = [1,"string", True]
list_of_list = [integer_list, campuran_list]

 

Kita juga bisa mengambil value berdasarkan index-nya

print(integer_list[0])

 

Salah satu fitur menarik dari list adalah kita bisa melakukan slicing list, dimana kita bisa semacam membelah dan memilah range data yang kita inginkan. Untuk mempermudah saya akan memvisualisasikannya lewat gambar

Misalkan saya mempunya integer_list = [1,2,3,4,5,6,7]

Output: [1, 2, 3]

 Output: [4, 5, 6, 7]

 

 

Output: [2, 3, 4, 5]

 

Output: [5, 6, 7]

Output: [2, 3, 4, 5, 6]


Tuples

Bisa dibilang Tuples adalah versi List yang immutable. Apa artinya? Tuples tidak bisa diubah isinya, namun tuple sangat bermanfaaat jika kita ingin mereturn sebuah value dari sebuah function

 

Ketika kita ingin mengubah nilai dalam tuple, akan terdapat error. Nah, untuk mengcustom pesan error dari kita sendiri, kita bisa menggunakan exception yang pernah kita pelajari sebelumnya

my_list = [1,2]
my_tuples = (3,4)

try:
    my_tuples[0] = 1
except TypeError:
    print("Tuples cannot be modified")


Kita coba menggunakan tuple sebagai return value

def sum_numbers(x, y):
    return (x+y), (y-x)

a, b = sum_numbers(4,5)

print(a)
print(b)


Baca Juga: Belajar Python Dasar. Pembahasan Modules

Counters

Counter adalah sebuah modules dalam python untuk menghitung populasi dalam strukutur data kita yaitu berupa list. 

Misal kita ingin mengetahui berapa jumlah masing masing value pada list dibawah

from collections import Counter
c = Counter([0,0,2,3,3,3])
print(c)

Kita pun juga bisa menghitung jumlah masing masing kata. Berikut caranya

document = ["randomize", "randomly", "randomized", "randomness", "randomization", "randomly", "nonrandom", "pseudorandom", "randomizer", "randomly"]
 
word_counts = Counter(document)
 
for word, count in word_counts.most_common(3):
    print(word, count)

Ini sangat berfungsi ketika kita ingin menghitung dataset dan ingin mencari variabel dengan populasi terbanyak
 

Dictionaries 

Dictionaries adalah sebuah struktur data yang terdiri dari key dan value. Dictionaries bisa ditulis berikut
 
empty_dict = {}
empty_dict2 = dict()
 
grades = {"Joel":80, "Tim":95}

Dictionaries akan sering kita gunakan, dalam bahasa pemograman lain konsep struktur data ini mirip dengan object
 
Kita bisa mengecek isi value dalam dictionaries dengan cara berikut

has_joel_grade = "Joel" in grades
has_kate_grade = "Kate" in grades
 
Kode diatas akan memberikn output boolean, true atau false
 
Kita juga bisa mengambil value berdasarkan key dengan menggunakan get dan memberikan nilai default jika key tidak ditemukan
 
tim_grade = grades.get("Tim", 0)
kate_grade = grades.get("Kate", "Tidak ada")
no_ones_grade = grades.get("No one")
 
Kita bisa menambahkan key dan value baru dengan perintah berikut. Jika ternyata key sudah ada, maka value akan digantikan dengan value yang ditambahkan
 
grades["Tim"] = 199         # mengganti
grades["Albert"] = 200      # menambahkan

Terkadang kita ingin tau apa saja key atau value dari sebuah dictionaries. Kita bisa menggunakan function key, values dan items

tweet = {
"user" : "joelgrus",
"text" : "Data Science is Awesome",
"retweet_count" : 100,
"hashtags" : ["#data", "#science", "#datascience", "#awesome", "#yolo"]
}

tweet_keys = tweet.keys()
tweet_values = tweet.values()
tweet_items = tweet.items()

Untuk items kita bisa menggunakan for untuk memunculkan kedua key dan value

for key, value in tweet_items:
    print(f"Key: {key}, Value: {value}")

defaultdic

Dalam konsep dictionary, kita biasanya membutuhkan dict kosong untuk mengumpulkan data sementara untuk direturn dalam sebuah value
 
Kita bisa langsung saja menggunakan dict kosong seperti ini
 
words_count = {}
 
Kita akan menggunakan dict kosong ini untuk mencari jumlah kata yang ada dalam sebuah list (array)
 
document = ["randomize", "randomly", "randomized", "randomness", "randomization", "randomly", "nonrandom", "pseudorandom", "randomizer", "randomly"]

def count_word(document):
    words_counts = {}
    for word in document:
        if word in words_counts:
            words_counts[word] += 1
        else:
            words_counts[word] = 1
    return words_counts

print(count_word(document)) 

Kita juga bisa mengubah jenis dictionary ini dengan tipe tertentu misal integer, list, atau lambda
 
dd_list = defaultdict(list)
dd_list[2].append(1)
 
dd_list adalah strukut data list dan hanya akan menerima method list saja. Untuk memunculkan isi datanya dengan perintah berikut

print(dd_list)
 
Selain list kalian juga bisa menggunakan dict kosong dengan perintag berikut.
dd_dict = defaultdict(dict)

Sehingga kalian bisa menggunakan perintah perintah yang befungsi untuk dictionary
 
dd_dict["Joel"]["City"] = "New York"
 
print(dd_dict)
 
Selain itu, kita bisa menggunakan perintah lambda untuk menentukan strukur data yang kita inginkan. Misalnya, kalian ingin membuat struktur dict menggunakan struktur list [0.0] seperti ini
 
dd_lambda = defaultdict(lambda: [0,0])

dd_lambda[2][0] = 5 
 
print(dd_lambda)
 
 

Sets

Sets adalah tipe data yang berisi sekumpulan value seperti list namun bedanya setiap value tidak mempunya index. Sets jarang digunakan
 
primes = {2,3,5,7}

s.add(1)
s.add(2)
s.add(3) 

Untuk membuat Set kosong kita tidak bisa menggunakan kurung kurawal seperti ini {}, namun kita harus menggunakan sebuah kode set()

s = set()
 
Kita akan menggunakan set untuk mengumpulkan data dan hanya mengetahui saja jumlah, dan ada value apa saja di dalamnya

Misal kita punya data kata dalam sebuah list seperti berikut

word_list = ["a", "an", "at", "yet", "you", .......(ribuan string), "we" ]

Lalu kita ingin mengchek apakash ada kata "zip" di dalamnya

print("zip" in word_list)

Ada cara yang lebih cepat yaitu dengan menggunakan set. Karena set tidak mempunyai index sehingga bisa lebih cepat

stopwords_set = set(word_list)
print("zip" in stopwords_set)

Share
Tweet
Pin
Share
No comments

 

Ada kalanya ketika kita menuliskan kode terdapat skenario dimana kode kita tidak berjalan sesuai dengan yang diharapkan. Maka dari itu kita harus membuat sebuah message atau peringatan


Di dalam bahasa pemograman Python terdapat sebuah konsep bernama Exception, menurut buku Data Science From Scratch, Exception merupakan sebuah kode untuk menangani jikalau kode kita crash sehingga kode bisa lebih clean

 

Baca Juga: Ringkasan dan Download Data Science from Scratch: First Principles with Python 2nd Edition

Terdapat macam macam jenis exception, salah satu yang sering digunakan adalah Built-in Exception

 

Apa itu Built-in Exception?

Menurut dokumentasi python-nya sendiri, Built-in Exception adalah instance yang dijalankan dari kelas bernama BaseException. Ketika kita menuliskan try dan except, ini sama saja kita sudah menjalankan sebagaian dari kelas BaseException tersebut

 

Macam Macam Built-in Exception

Ada berbagai macam jenis Built-in Exception, kita akan membahas beberapa saja ya pada postingan ini.

 

ZeroDivisionError

Ini merupakan error exception sederhana dimana sebuah nilai tidak bisa dibagi dengan angka 0

Untuk memudahkan kita akan mensimulasikannya lewat kode dibawah

try:
    print(0/0)
except ZeroDivisionError:
    print("cannot divide in zero")


Di kode tersebut kita ingin membagi 0 dengan 0, tentu ini salah, karena angka apapun tidak bisa dibagi dengan 0. Maka dari itu kita butuh sebuah error khusus yaitu ZeroDivisonError, ini merupakan Built-in Exceptions yang sudah disediakan langsung oleh python

 

Maka kode diatas akan memunculkan error seperti berikut

 

 

ValueError

ValueError adalah sebuah exception dimana sebuah inputan tidak menerima value yang kita inginkan. Misal kita ingin menerima data inputan berupa integer agar kita bisa menghitungnya, namun user justru ingin memasukkan kata atau string. Tentu ini akan merepotkan beban kerja aplikasi


Baca Juga: Belajar Python Dasar. Pembahasan Function


Maka dari itu kita butuh ValueError

 

Caranya seperti berikut

 

while True:
    try:
        x = int(input("Please input a number:"))
        print(x)
        break
    except ValueError:
        print("Number is invalid")


Share
Tweet
Pin
Share
No comments

 

Kita akan belajar apa itu function. Ini merupakan konsep paling penting dalam pemograman, karena semua program bisa memproses atau tidak itu tergantung apakah function bisa bekerja dengan baik atau tidak

Menurut buku Data Science from Scratch: First Principles with Python, Function adalah aturan yang mengambil masukan parameter lalu mengembalikan nilai yang diinginkan. Parameter disini sebenarnya hanya opsional saja, kita bisa menjalankan function dengan tanpa parameter atau bahkan tanpa nilai yang harus dikembalikan

Bahkan kita bisa me-return function lain di dalam function. Gimana maksudnya, baca function di bawah

Pertama kita membuat function bernama double. Tentu kalian bisa membaca bahwa function ini akan menerima data integer untuk bisa dikembalikan dengan hasil setelah ia dikalikan dengan 2

def double(x):
    return x * 2

 

Di sini kita membuat function lagi yang menerima masukkan dan mengembalikan hasil dari sebuah function berdasarkan parameter.

def apply_to_one(f):
    return f(5)


 

Kita bungkus di dalam variabel

my_double = double

x = apply_to_one(my_double)


 

Setelah itu kita akan print variabel x tersebut

print(x)


Anonymous Function

Namun rasanya kalo menggunakan cara di atas terlalu panjang. Kita bisa menggunakan anonymous function di dalam parameter function apply_to_one

y = apply_to_one(lambda x: x + 4) print(y)

 

Kita pun bisa menggunakan anon function ini di dalam sebuah variable, meskipun sebaiknya menggunakan function seperti biasa saja

another_func = lambda x: x - 1

# sama dengan ini

def another_func():
    return x - 1

 

Sourccode: Github

 

 


Share
Tweet
Pin
Share
No comments

 

Kali ini kita akan membahas sebuah buku yang cocok buat kamu seumpama ingin belajar data science dari awal banget

Meskipun berjudul 'from scratch' atau dengan kata lain dari 'awal'. Sebenarnya buku ini memberikan gambaran apa yang harus dipelajari jika kamu yang awalnya merupakan programmer ingin masuk ke dalam ranah data science

Daftar Isi

Kalo mau dirontokkan poin apa saja yang tidak perlu, sebenarnya buku ini ingin mengajarkan kita tentang hal hal ini saja

  • Bahasa Pemograman: Python
  • Visualisasi Data
  • Aljabar Linear
  • Statistik
  • Probabilitas
  • Hipotesa dan Pengambilan Kesimpulan
  • Data
  • Machine Learning
  • k-Nearest Neighbors
  • Naive Bayes
  • Regression
  • Decision Tree
  • Neural Network
  • Deep Learning
  • Clustering
  • Natural Learning Processing
  • Network Analysis
  • Recommender System
  • Database dan SQL
  • MapReduce
  • Data Ethics

 

Download


Share
Tweet
Pin
Share
No comments

 

Beberapa fitur pada python tidak ujug ujug ada di dalamnya. Namun terkadang kita membutuhkan fitur dari pihak ketiga yang kita download. Fitur ini biasanya disebut dengan modules, dan cara untuk menggunakannya menggunakan keyword import. Kita akan belajar konsep yang disebut modules ini. Ini sangat bermanfaat untuk memantain kode kita dengan baik, kenapa? karena konsep ini sangat membantu kita untuk berkutat pada data

Baca Juga: Data Scientist Itu Kerjaanya Apa Aja Sih?

Keuntungan Menggunakan Modules

Seperti yang sudah disebutkan diatas, dengan penggunaan modules aplikasi, model machine learning kita bisa terawat dengan baik. Jadi kode tidak dalam satu struktur kode raksasa, namun dipisah menjadi beberapa file sehingga ketika ada error, kita bisa membenahi berdasarkan module tersebut

Baca Juga: Ringkasan. Apa Itu Kohesi & Kopling? 

Apa Itu Modules?

Module dalam python menurut GeekForGeeks adalah sebuah file berformat python yang berisi definisi dan statements. Module biasanya berisi functions, class, dan variabel, intinya kode yang bisa dirunning dengan tujuang kode kode ini bisa digunakan lagi pada file lain secara terorganisir

 

Cara Membuat Modules

Buat file baru bernama calc.py

# A simple module, calc.py
def add(x, y):
    return (x+y)
 
def subtract(x, y):
    return (x-y)

Kalian tidak harus menjalankan function function ini di dalam file calc.py, kalian bisa menjalankannya di file lain. Kita akan menamainya main.py

Cara Mengimport Modules

Kalian masukkan perintah import dan file python yang berisi function

# importing module calc.py
import calc

print(calc.add(10, 2))

Salah satu case yang akan sering kita gunakan menggunakan konsep ini adalah dengan ketika kita ingin mengimport module matplotlib, yaitu sebuah module yang berfungsi untuk memvisualisasikan data

Menggunakan Alias

Alias adalah sebuah keyword untuk mewakili atau merepresentasikan modules yang sudah kita import sehingga kita ga perlu menuliskan nama module tersebut terlalu panjang

Mungkin untuk kasus ini sangat mudah karena file tersebut memiliki nama file yang pendek. Namun gimana jadinya seumpama ada modules dari pihak ketiga dimana namanya sangat panjang. Tentu kita membutuhkan keyword alias ini

Caranya:

import matplotlib as plt

plt.plot()

Bayangkan seumpama kita harus menulis matplotlib di setiap kita ingin menjalankan function di dalamnya, tentu sangat melelahkan sekali


Sourcecode: Github



Share
Tweet
Pin
Share
No comments

 

Ketika kita menuliskan kode tentu kita ingin menjalankan kode tersebut dengan efiisen. Tak hanya itu biasanya kita juga membutuhkan kecepatan ketika kode itu dijalankan. Maka dari itu kita membutuhkan softwre yang mampu menjalankan kode dengan cepat dan memberikan hasil yang kita inginkan, pada postingan kali ini kita akan membahas bagaimana cara menggunakan Google Colab

 

Ini sangat berguna untuk para data scientist yang membutuhkan hasil dari data yang dianalysis namun masih mendapatkan riwayat atau history dari kode kode yang dicompile

 

Biasanya kita akan membutuhkan aplikasi bernama Jupyter, Anaconda untuk menjalankan kode ini. Namun Google sudah menyediakan alternatif. Dimana aplikasi ini bisa dijalankan secara online, asal komputer kita bisa menggunakan aplikasi ini tanpa harus menginstalnya secara lokal

 

Baca Juga: Cara Download Kaggle Dataset Di Google Colab

 

Langkah Langkah

Buat akun google dan buka google drive

 

Buat folder baru



Instal Google Colab


 

Kalo kalian belum punya, kalian harus install dulu dengan memilih Connect more apps


 
Secara otomatis, ketika membuat file Google Colab akan muncul tab baru seperti ini



Share
Tweet
Pin
Share
No comments

 

Kali  ini kita akan membahas apa itu database design, apa saja tool database designer yang sering digunakan, dan mengapa database design merupakan proses paling krusial dalam pembuat software

 

Namun sebelum kita memulai pembahasan seputar database design ini, kita harus tau pengertian masing masing apa itu databse, dan apa sebenarnya proses design itu sendiri

 

Daftar Isi

  • Apa itu Database?
  • Apa itu Database Management System (DBMS)?
  • Pengertian Database Design
  • Cara Mendesign Database
    • Prinsip Prinsip Database Design
  • Langkah Langkah
  • Jenis Jenis Relationship (setidaknya yang sering digunakan)

Apa Itu Database?

Menurut Oracle.com, Database adalah kumpulan data dari struktur informasi yang terorganisir yang tersimpa dalam sistem komputer. Database biasanya dikendalikan oleh sistem bernama DBMS (Database Management System)

Ketika kita membuat aplikasi atau bahkan ketika kita menggunakan aplikasi, kita biasanya akan memasukkan data. Seperti autentikasi profile kita, sehingga ketika kita masuk aplikasi bisa mengenali usernya, atau ketika kita ingin membeli sebuah item. Item item tersebut dipopulasikan ke dalam tampilan di aplikasi mobile dari database
 
Saat ini banyak sekali software database yang bisa menyelesaikan segala permasalahan penyimpanan data data kita. Software ini disebut dengan nama Database Management System (DBMS)

Apa Itu Database Management System (DBMS)?

Menurut Appdynamics, DBMS adalah sistem software yang digunakan untuk memasukan, mengambil, dan menjalankan query data. DBMS menyediakan tampilan antarmuka antar user sehingga user bisa dengan mudah menjalankannya

 

Contoh contoh DBMS sudah sering kali kalian jumpai, bahkan mungkin kalian pernah menggunakannya untuk membuat aplikasi atau menyelesaikan pekerjaan kalian

 

Contoh Contoh DBMS Populer

  • MySQL

MySQL merupakan DBMS yang sering digunakan. MySQL memiliki struktur baris, kolom, tabel sehingga data data ini bisa dinamis seumpama ingin dibuatkan relasi antar tabelnya

  • MongoDB

MongoDB merupakan database NoSQL (not onlt sql) berbasis object key dan value.  Sistem ini menjadi alternatif dari SQL biasanya.

  • PostgreSQL

 PostgreSQL persis sama dengan MySQL namun lebih powerful jika kita sebagai programmer ingin men-scale lagi aplikasi menjadi lebih besar

 

Pengertian Database Design

Menurut paper yang diterbitkan oleh Huawei Technologies Co., Ltd., Database design merujuk pada bagaimana user mengkonstruksikan database yang cocok untuk aplikasi yang spesifik berdasarkan karakteristik sistem database, menjalankan database dan aplikasi yang sesuai, jadi seluruh sistem bisa secara efektif mengumpulkan, memasukkan, memproses, dan mengelola data yang memenuhi kebutuhan user

 

Intinya, kira merancang database mulai dari isi dan relationship-nya sehingga bisa cocok dengan kebutuhan bisnis kita

 

Seumpama kita ingin membuat aplikasi ecommerce, maka terdapat tabel yang melayani proses transaksi, cart hingga orderan apa saja yang ingin di-record

 

Ini merupakan hal yang harus diperhatikan. Karena biasanya fitur yang ingin dibuat ada kaitannya dengan rancangan design yang kita buat

 

Baca Juga: Cara Membuat ERD Untuk Aplikasi Web Rental Mobil

Cara Mendesign Database

Sebelum kita masuk ke bagian paling teknikal, kita perlu memperhatikan prinsip prinsip apa saja dalam mendesign database ini. Kita akan membahasnya satu persatu menurut artikel yang ditulis oleh Microsoft

 

Prinsip Prinsip Database Design

Menentukan tujuan

Tujuan yang dimaksud bisa fitur, rencana bisnis yang sedang dijalankan. Aplikasimu itu berfungsi untuk apa. apakah untuk keperluan ecommerce, elearning, atau todo list. Ini akan memudahkan pemetaan aplikasimu menjadi lebih baik lagi

 

Organisir informasi yang dibutuhkan

Setelah menentukan tujuan, sekarang saatnya tentukan apa saja informasi yang bisa diperah dari rencana bisnis tersebut. Misal ingin membuat aplikasi untuk todolist maka informasi yang bisa kita dapat adalah nama tugas, deskriptsi, apakah sudah dikerjakan atau belum, dan lainnya

 

Bagi data/informasi menjadi beberapa tabel

Setelah mengetahui apa saja informasinya, kalian bisa melakukan memisahkan antar tabel. Tidak mungkin semua data dari user, task, transaction dicampur dalam satu tabel. Semua harus dikategorisasikan via tabel

 

Masukkan informasi ke dalam tabel

Masukkan informasi data data tersebut ke dalam tabel. Termasuk primary key & foreign key (jika ada)

 

Masukkan informasi ke dalam kolom

Kolom kolom ini akan dinamai sesuai dengan informasi yang sudah kita dapat. Termasuk juga juga tipe data yang diharapkan akan diinput ke dalam tabel

 

Spesifikasikan primary key

Primary key itu apa? primary key adalah id berupa angka yang unik yang menggambarkan data keseluruhan. Dengan kata lain, primary key merupakan angka unik yang membedakan data satu dengan data lainnya. Diibarakan seperti sidik jari, semua manusia barang kali punya kemiripan mulai dari wajah, nama, dan sifat. Namun ada satu hal yang membedakan yaitu sidik jarinya

 

Sidik jari adalah organ paling unik dari manusia. Bahkan saudara kembar pun memiliki sidik jari yang berbeda

 

Kita membutuhkan kolom primary key (id) di setiap tabel yangkita buat.

 

Tentukan relationship tabel

Relationship adalah hubungan antar tabel yang menjadikan tabel satu dengan yang lain saling terkait. Untuk bisa menghubungkan tabel ini kita memerlukan foreign key/id

 

foreign id adalah primary key dari tabel lain. Misal kalian membuat tabel User, di dalamnya ada kolom nama, jenis kelamin, deskripsi, kategori. Nah kategori ini bisa diisi dengan foreign id karena kita ingin ada tabel khusus yang berisi nama nama kategori dan data data lainnya

 

Ada beberapa jenis relationship. Kita akan membahasnya dibawah

 

Analisa design yang sudah dibuat

Setelah dibuat dan yakin bahwa rancangan database kita bekerja dengan baik. Maka, kita harus analisa lagi nih, apakah database kita sudah cocok dengan kebutuhan bisnis yang dibuat dan make sense. Jangan sampai rancangan database kita ini tidak bisa memenuhi kebutuhan kita

 

Terapkan database yang sudah dirancang

Setelah sudah dianalisa dan sesuai dengan jenis binis, maka bisa kita terapkan. Dan evaluasi apa saja yang kuran 

 

Langkah Langkah

Setelah kita membahas prinsip prinsip database design, kita akan masuk ke tahapan teknikal. 

 

Buka tool database designer bernama Lucidchart


 

Gunakan template. Cari database design dan kalian langsung bisa pilih template pertama

 


Tentukan nama nama table yang diinginkan dan tarik garis untuk menentukan relationship antar table


Jenis Jenis Relationship

Mungkin kalian bingung, sewaktu saya menarik garis apa maksudnya. Garis garis ini ditarik suka suka saya aja atau bagaimana. Untuk menjawab kebingungan saudara, baca artikel ini sampe habis

 

Sebenarya ada beberapa jenis jenis relationship, saya tidak akan menjelaskannya semua. Saya akan menjelaskan relationship apa saja yang sering saya gunakan

 

One To Many

One To Many adalah konsep relationship dimana satu tabel bergantung pada beberapa tabel. Contoh tabel yang biasa menggunakan ini adalah tabel kategori, dimana satu tabel dimana banyak sekali data mulai dari nama, deskripsi, url gambar bisa dengan mudah dipopulasikan ke tabel lain

 

One To One

One To One adalah konsep relationship dimana satu tabel hanya bergantung pada satu satunya tabel. Biasanya digunakan untuk tabel kategori yang foreign keynya ada di tabel lain. Misal, kita membuat tabel User yang memiliki kategori_id yang berisi id kategori. Maka kategoru id ini hanya bergantu satu satunya pada tabel kategori

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