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

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

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 229 untuk mengembalikan suatu nilai, tapi generator menggunakan keyword 230 untuk mengembalikan nilai. Ini berarti setiap fungsi Python yang berisi adalah fungsi generator.

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

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 234. 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:

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

Di balik layar, statement 235 akan memanggil 236 pada objek list. Lalu fungsi akan mengembalikan objek iterator yang memiliki fungsi 237, yang akan mengakses masing-masing warna, satu per satu. Saat tidak ada warna tersisa, 238 akan melempar exception 239, yang akan menginformasikan loop 235 untuk berhenti.

Mengiterasi sebuah Dictionary

1colors= [red,blue,yellow] 02colors= [red,blue,yellow] 23colors= [red,blue,yellow] 445colors= [red,blue,yellow] 7colors= [red,blue,yellow] 8colors= [red,blue,yellow] 920212223

Mengiterasi Baris dalam file CSV

1252328430532colors= [red,blue,yellow] 834

Mengiterasi String

1362383def my_funct(): 04def my_funct(): 25colors= [red,blue,yellow] 7colors= [red,blue,yellow] 820def my_funct(): 722def my_funct(): 9404142def my_funct(): 9444546474849 for color in colors: 0 for color in colors: 1 for color in colors: 245 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 234 dan 237 dan menangani semua error 239 yang mungkin muncul.

1 for color in colors: 72 for color in colors: 9351453555colors= [red,blue,yellow] 8205822 print color 04042 print color 344 print color 546 print color 748 print color 9 for color in colors: 011

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 230, bukan 229, seperti pada contoh di bawah.

113215

Statement 229 menghentikan fungsi sepenuhnya, sedangkan 230 hanya menghentikan fungsi sampai dipanggil kembali oleh fungsi 248.

Contohnya, program di bawah menggunakan statement 230 dan 248.

1172193colors= [red,blue,yellow] 014colors= [red,blue,yellow] 035colors= [red,blue,yellow] 05colors= [red,blue,yellow] 8colors= [red,blue,yellow] 0720colors= [red,blue,yellow] 092240colors= [red,blue,yellow] 1242colors= [red,blue,yellow] 124446colors= [red,blue,yellow] 17

Bagaimana Generator Python Bekerja

Kita lihat bagaimana generator bekerja. Lihat contoh di bawah.

1colors= [red,blue,yellow] 1923174colors= [red,blue,yellow] 245colors= [red,blue,yellow] 01colors= [red,blue,yellow] 8colors= [red,blue,yellow] 0520colors= [red,blue,yellow] 0322colors= [red,blue,yellow] 3240colors= [red,blue,yellow] 0742colors= [red,blue,yellow] 364446colors= [red,blue,yellow] 1248colors= [red,blue,yellow] 12 for color in colors: 0colors= [red,blue,yellow] 12 for color in colors: 2colors= [red,blue,yellow] 17

Pada fungsi di atas, kita mendefinisikan generator bernama 251, yang menerima argumen 252 berupa list. Lalu kita definisikan variabel 253 dan mengatur nilainya menjadi nol. Selain itu, kita melakukan loop ke setiap elemen pada list dan menambahkannya ke variabel total.

Lalu kita buat instance 254 dan panggil fungsi 248. Ini akan menjalankan kode sampai berhenti pada nilai pertama dari 253, yang saat ini bernilai 257. Fungsi akan menyimpan nilai variabel total sampai berikutnya fungsi dipanggil. Tidak seperti statement 229 biasa, yang akan mengembalikan semua nilai sekaligus, generator akan melanjutkan dari yang terakhir diproses.

Di bawah ini adalah nilai-nilai berikutnya.

1colors= [red,blue,yellow] 1923174colors= [red,blue,yellow] 245colors= [red,blue,yellow] 01colors= [red,blue,yellow] 8colors= [red,blue,yellow] 0320colors= [red,blue,yellow] 0522colors= [red,blue,yellow] 3240colors= [red,blue,yellow] 0742colors= [red,blue,yellow] 364446colors= [red,blue,yellow] 1248colors= [red,blue,yellow] 12 for color in colors: 0colors= [red,blue,yellow] 12 for color in colors: 2colors= [red,blue,yellow] 17 for color in colors: 4colors= [red,blue,yellow] 75colors= [red,blue,yellow] 76colors= [red,blue,yellow] 77colors= [red,blue,yellow] 78colors= [red,blue,yellow] 79colors= [red,blue,yellow] 80colors= [red,blue,yellow] 81colors= [red,blue,yellow] 82

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

259 dilempar oleh fungsi 248 untuk menandai bahwa tidak ada objek yang dihasilkan oleh iterator.

1colors= [red,blue,yellow] 842colors= [red,blue,yellow] 863colors= [red,blue,yellow] 8845colors= [red,blue,yellow] 91colors= [red,blue,yellow] 8colors= [red,blue,yellow] 9320colors= [red,blue,yellow] 95

Contoh 2

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

1colors= [red,blue,yellow] 972320042025204colors= [red,blue,yellow] 820620colors= [red,blue,yellow] 17222104021242214442144621448 for color in colors: 0colors= [red,blue,yellow] 75 for color in colors: 2 for color in colors: 4224colors= [red,blue,yellow] 76226colors= [red,blue,yellow] 77228

Fungsi normal mengambalikan semua nilai saat fungsi tersebut dipanggil, sedangkan generator menunggu sampai fungsi 248 dipanggil kembali. Begitu 248 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.

Postingan terbaru

LIHAT SEMUA