Cara menggunakan apa generator python?

Membuat Password Generator Menggunakan Python – pesonainformatika.com, tidak bosan bosan membahas bahasa pemrograman python, dan pastinya kita akan belajar studi kasus baru, kali ini kita akan membuat program password generator sederhana menggunakan python simak caranya disini

Deskripsi Kasus

untuk membuat password tentu harus sedikit rumit paling simple menggunakan kombinasi antara huruf dengan angka, bayangkan jika kamu harus membuat password untuk 10 akun, mungkin masih bisa tapi bagaimana jika 100 akun pasti membosankan dan ribet, bagaimana cara cepat memecahkan masalah tersebut

Membuat Program

okay kali ini masuk ke step membuat program, pastikan sudah menginstall python dan menggunakan text editor, untuk langkah pertama buat file misal main.py kemudian isi seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}


def passMaker(dict_keys):
    password_list = []
    username_list = []
    for username in dict_keys:
        generate_password = sum(ord(c) for c in username)
        password_list.append(f"{username}{generate_password}")
        username_list.append(username)

    # append result
    named_dict = {
        "username": username_list,
        "generate_password": password_list
    }

    return named_dict


print(passMaker(data_dict['username']))

jika dijalankan hasilnya akan seperti ini

Cara menggunakan apa generator python?
hasil program diatas

Penjelasan Program

setelah berhasil running, kali ini kita akan bahas bagaimana si program bisa running dan apa sebabnya bisa menghasilkan password dengan angka yang berbeda pada tiap kata kita akan kupas tuntas disini

pertama kita mempunyai data berbentuk list namun disini pada kasus ini datanya berbentuk dictionary seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}

kemudian kita membuat fungsi misal passMaker dengan parameter berupa list seperti ini

def passMaker(dict_keys):
    pass

disini parameter dict_keys harus berupa list

kemudian kita tambahkan dua list kosong untuk menampung data username dan hasil password yang sudah dibuat seperti ini

password_list = []
username_list = []

kemudian karena parameter fungsi passMaker yaitu dict_keys berupa list maka kita dapat melakukan looping pada parameter tersebut dan membuat password generator dengan cara menghitung berapa jumlah karakter ASCII pada setiap string yang di input, kemudian kita tambahkan string yang sudah ditambahkan jumlah karakter ASCII dengan string (yang belum dihitung) kedalam list password_list

for username in dict_keys:
    generate_password = sum(ord(c) for c in username)
    password_list.append(f"{username}{generate_password}")

tambahkan juga username yang tadi di loop ke dalam list username_list

username_list.append(username)

setelah kedua list tersebut berisi data yang sudah di hitung di looping tadi kita dapat mengelopmpokannya kedalam dictionary baru kemudian di return

named_dict = {
    "username": username_list,
    "generate_password": password_list
}

return named_dict

kemudian kita dapat memanggil fungsinya seperti ini

print(passMaker(data_dict['username']))

hasilnya seperti digambar yaitu seperti ini

{'username': ['pery', 'bayu', 'fajar', 'iqbal'], 'generate_password': ['pery448', 'bayu433', 'fajar516', 'iqbal521']}

Kreasikan Program

kita dapat menambahkan beberapa fungsi dari program kita dapat menambahkan enkripsi pada password yang telah kita generate menggunakan modul bcrypt di python, kita install dulu menggunakan pip

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}
0

setelah itu kita membuat enkripsi seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}
1

kemudian kita tampung di list kita buat list baru buat menampung enkripsi password misalnya encrypted_password

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}
2

kemudian kita terapkan di program kita seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}
3

kemudian coba jalankan programnya hasilnya menjadi seperti ini

Cara menggunakan apa generator python?
hasil password yang di enckripsi menggunakan bcrypt

gimana cukup mudah bukan, sampai sini dulu studi kasus kali ini semoga bermanfaat dan selamat mencoba, soure code dapat diakses melalui github ikuti terus pesonainformatika, dan dapatkan studi kasus bahasa pemrograman lainya seperti  Java, Python  C++

Generator memudahkan kita membuat iterasi dalam Python dan menghasilkan kode lebih sedikit. Tutorial ini akan mengenalkan kamu pada Python Generator, keuntungannya, dan bagaimana mereka bekerja.

Dasar

Sebuah generator adalah fungsi yang mengembalikan objek generator yang bisa kita panggil method next(), sedemikian rupa sehingga setiap pemanggilan mengembalikan nilai berikutnya. Fungsi normal pada Python menggunakan keyword

2
29 untuk mengembalikan suatu nilai, tapi generator menggunakan keyword
2
30 untuk mengembalikan nilai. Ini berarti setiap fungsi Python yang berisi adalah fungsi generator.

Statement

2
30 biasanya menghentikan fungsi dan menyimpan state lokal agar bisa dilanjutkan tepat seperti saat dihentikan. Fungsi generator bisa memiliki satu atau lebih statement
2
30.

Sebuah generator juga merupakan sebuah iterator, tapi apa itu iterator? Sebelum kita membahas detail generator, saya rasa penting untuk mengetahui apa itu iterator karena merupakakn bagian penting dari diskusi ini.

Iterator Python

Sebuah iterator Python adalah kelas yang mendefinisikan sebuah fungsi

2
34. Sebagian besar objek Python bersifat iterable, artinya kamu bisa melakukan loop terhadap setiap elemen dalam objek tersebut. Contoh iterable pada Python misalnya string, list, tuple, dictionary, dan range.

Kita lihat contoh di bawah, kita melakukan loop terhadap daftar warna:

1
colors= [red,blue,yellow]
2
3
def my_funct():
4
    for color in colors:
5
        print color

Di balik layar, statement

2
35 akan memanggil
2
36 pada objek list. Lalu fungsi akan mengembalikan objek iterator yang memiliki fungsi
2
37, yang akan mengakses masing-masing warna, satu per satu. Saat tidak ada warna tersisa,
2
38 akan melempar exception
2
39, yang akan menginformasikan loop
2
35 untuk berhenti.

Mengiterasi sebuah Dictionary

1
colors= [red,blue,yellow]
0
2
colors= [red,blue,yellow]
2
3
colors= [red,blue,yellow]
4
4
5
colors= [red,blue,yellow]
7
colors= [red,blue,yellow]
8
colors= [red,blue,yellow]
9
2
0
2
1
2
2
2
3

Mengiterasi Baris dalam file CSV

1
2
5
2
3
2
8
4
3
0
5
3
2
colors= [red,blue,yellow]
8
3
4

Mengiterasi String

1
3
6
2
3
8
3
def my_funct():
0
4
def my_funct():
2
5
colors= [red,blue,yellow]
7
colors= [red,blue,yellow]
8
2
0
def my_funct():
7
2
2
def my_funct():
9
4
0
4
1
4
2
def my_funct():
9
4
4
4
5
4
6
4
7
4
8
4
9
    for color in colors:
0
    for color in colors:
1
    for color in colors:
2
4
5
    for color in colors:
4
    for color in colors:
5

Keuntungan Menggunakan Generator

Mari kita bahas beberapa keuntungan menggunakan generator dibanding iterator:

Mudah untuk diimplementasi

Membuat iterator pada Python memerlukan kamu untuk mengimplementasi kelas dengan fungsi

2
34 dan
2
37 dan menangani semua error
2
39 yang mungkin muncul.

1
    for color in colors:
7
2
    for color in colors:
9
3
5
1
4
5
3
5
5
5
colors= [red,blue,yellow]
8
2
0
5
8
2
2
        print color
0
4
0
4
2
        print color
3
4
4
        print color
5
4
6
        print color
7
4
8
        print color
9
    for color in colors:
0
1
1

Seperti yang kamu lihat di atas, implementasinya sangat panjang. Semua beban ini secara otomatis ditangani oleh generator.

Penggunaan Memory Lebih Sedikit

Generator membantu meminimalkan penggunaan memory, terutama saat berurusan dengan set data yang besar, karena generator hanya akan mengembalikan objek satu per satu.

Performa dan Optimasi yang Lebih Baik

Generator pada dasarnya pemalas. Ini artinya mereka hanya menghasilkan nilai saat dibutuhkan saja. Tidak seperti iterator biasa, di mana semua nilai dihasilkan tidak peduli apakah mereka akan digunakan atau tidak, generator hanya menghasilkan nilai yang dibutuhkan. Inilah yang mendorong program untuk bekerja lebih cepat.

Bagaimana membuat Generator pada Python

Membuat generator sangat mudah. Yang perlu kamu lakukan hanyalah menulis fungsi biasa, tapi dengan statement

2
30, bukan
2
29, seperti pada contoh di bawah.

1
1
3
2
1
5

Statement

2
29 menghentikan fungsi sepenuhnya, sedangkan
2
30 hanya menghentikan fungsi sampai dipanggil kembali oleh fungsi
2
48.

Contohnya, program di bawah menggunakan statement

2
30 dan
2
48.

1
1
7
2
1
9
3
colors= [red,blue,yellow]
01
4
colors= [red,blue,yellow]
03
5
colors= [red,blue,yellow]
05
colors= [red,blue,yellow]
8
colors= [red,blue,yellow]
07
2
0
colors= [red,blue,yellow]
09
2
2
4
0
colors= [red,blue,yellow]
12
4
2
colors= [red,blue,yellow]
12
4
4
4
6
colors= [red,blue,yellow]
17

Bagaimana Generator Python Bekerja

Kita lihat bagaimana generator bekerja. Lihat contoh di bawah.

1
colors= [red,blue,yellow]
19
2
3
1
7
4
colors= [red,blue,yellow]
24
5
colors= [red,blue,yellow]
01
colors= [red,blue,yellow]
8
colors= [red,blue,yellow]
05
2
0
colors= [red,blue,yellow]
03
2
2
colors= [red,blue,yellow]
32
4
0
colors= [red,blue,yellow]
07
4
2
colors= [red,blue,yellow]
36
4
4
4
6
colors= [red,blue,yellow]
12
4
8
colors= [red,blue,yellow]
12
    for color in colors:
0
colors= [red,blue,yellow]
12
    for color in colors:
2
colors= [red,blue,yellow]
17

Pada fungsi di atas, kita mendefinisikan generator bernama

2
51, yang menerima argumen
2
52 berupa list. Lalu kita definisikan variabel
2
53 dan mengatur nilainya menjadi nol. Selain itu, kita melakukan loop ke setiap elemen pada list dan menambahkannya ke variabel total.

Lalu kita buat instance

2
54 dan panggil fungsi
2
48. Ini akan menjalankan kode sampai berhenti pada nilai pertama dari
2
53, yang saat ini bernilai
2
57. Fungsi akan menyimpan nilai variabel total sampai berikutnya fungsi dipanggil. Tidak seperti statement
2
29 biasa, yang akan mengembalikan semua nilai sekaligus, generator akan melanjutkan dari yang terakhir diproses.

Di bawah ini adalah nilai-nilai berikutnya.

1
colors= [red,blue,yellow]
19
2
3
1
7
4
colors= [red,blue,yellow]
24
5
colors= [red,blue,yellow]
01
colors= [red,blue,yellow]
8
colors= [red,blue,yellow]
03
2
0
colors= [red,blue,yellow]
05
2
2
colors= [red,blue,yellow]
32
4
0
colors= [red,blue,yellow]
07
4
2
colors= [red,blue,yellow]
36
4
4
4
6
colors= [red,blue,yellow]
12
4
8
colors= [red,blue,yellow]
12
    for color in colors:
0
colors= [red,blue,yellow]
12
    for color in colors:
2
colors= [red,blue,yellow]
17
    for color in colors:
4
colors= [red,blue,yellow]
75
colors= [red,blue,yellow]
76
colors= [red,blue,yellow]
77
colors= [red,blue,yellow]
78
colors= [red,blue,yellow]
79
colors= [red,blue,yellow]
80
colors= [red,blue,yellow]
81
colors= [red,blue,yellow]
82

Jika kamu coba panggil fungsi setelah loop selesai, kamu akan mendapatkan error

2
59.

2
59 dilempar oleh fungsi
2
48 untuk menandai bahwa tidak ada objek yang dihasilkan oleh iterator.

1
colors= [red,blue,yellow]
84
2
colors= [red,blue,yellow]
86
3
colors= [red,blue,yellow]
88
4
5
colors= [red,blue,yellow]
91
colors= [red,blue,yellow]
8
colors= [red,blue,yellow]
93
2
0
colors= [red,blue,yellow]
95

Contoh 2

Pada contoh ini, kita akan lihat bagaimana cara menggunakan beberapa statement yield dalam sebuah fungsi.

1
colors= [red,blue,yellow]
97
2
3
2
00
4
2
02
5
2
04
colors= [red,blue,yellow]
8
2
06
2
0
colors= [red,blue,yellow]
17
2
2
2
10
4
0
2
12
4
2
2
14
4
4
2
14
4
6
2
14
4
8
    for color in colors:
0
colors= [red,blue,yellow]
75
    for color in colors:
2
    for color in colors:
4
2
24
colors= [red,blue,yellow]
76
2
26
colors= [red,blue,yellow]
77
2
28

Fungsi normal mengambalikan semua nilai saat fungsi tersebut dipanggil, sedangkan generator menunggu sampai fungsi

2
48 dipanggil kembali. Begitu
2
48 dipanggil, fungsi warna melanjutkan dari titik terakhir fungsi tersebut berhenti.

Kesimpulan

Generator sangat efisien dalam menggunakank memory, terutama saat berkerja dengan daftar atau objek yang sangat besar. Ini karena kamu bisa menggunakan yield untuk mengerjakan bagian lebih kecil dibanding menyimpan semua data dalam memory sekaligus.

Apa itu generator pada python?

PYTHON (Pemrograman Fungsional) – Generator Generator adalah tipe iterasi seperti list dan tuple. Tidak seperti list, generator tidak mengizinkan indexing yang semena-mena tetapi masih dapat diiterasi menggunakan fungsi for. Generator dapat dibuat menggunakan sebuah fungsi dan statemen yield.

Keyword apa yang digunakan untuk membuat fungsi generator?

Fungsi normal pada Python menggunakan keyword return untuk mengembalikan suatu nilai, tapi generator menggunakan keyword yield untuk mengembalikan nilai. Ini berarti setiap fungsi Python yang berisi yield adalah fungsi generator.

Apa itu yield pada python?

Yield adalah salah satu cara kita untuk mengembalikan sebuah value dan menghentikan sementara eksekusi function yang sedang berjalan.