Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 10 { Fungsi }

2.7. Mendaur ulang Kode Program dengan Fungsi dan Modul

Pikirkan tentang berapa banyak hal yang kamu buang setiap hari: botol air, kaleng soda, tas keripik kentang, bungkus plastik, tas belanja, koran, majalah, dan sebagainya. Sekarang bayangkan apa yang akan terjadi jika semua sampah yang baru saja dibuang di tumpukan di ujung jalan Anda, tanpa memisahkan kertas, plastik, dan kaleng.

Tentu saja, kamu mungkin mendaur ulang sebanyak mungkin, yang baik, karena tidak ada yang suka memanjat tumpukan sampah dalam perjalanan ke sekolah. Daripada menjadi tumpukan kotoran, botol-botol kaca bisa kamu daur ulang dengan dilebur dan diubah menjadi botol baru, kertas pulp menjadi kertas daur ulang, dan plastik diubah menjadi barang-barang plastik yang lebih berat. Jadi kita bisa menggunakan kembali hal-hal yang kita biasanya buang.

Dalam dunia pemrograman, reuse/penggunaan ulang adalah sama pentingnya. Jelas, program anda tidak akan hilang di bawah tumpukan sampah, tetapi jika Anda tidak menggunakan kembali sebagian dari apa yang Anda lakukan, Anda akhirnya akan menyakiti jari-jarimu karena kebanyakan mengetik. Reuse juga membuat kode Anda lebih pendek dan lebih mudah dibaca.

Seperti yang akan Anda pelajari dalam bab ini, Python menawarkan sejumlah cara yang berbeda untuk menggunakan kembali kode program yang telah dibuat.

Fig 2.7.1. Daur ulang limbah

Menggunakan Fungsi

Kamu sudah melihat salah satu cara untuk mendaur ulang kode Python. Dalam bab sebelumnya, kita menggunakan fungsi range dan list untuk membuat Python menghitung.

>>> list(range(0, 5))
[0,1,2,3,4]

Jika Anda tahu bagaimana cara menghitung, itu tidak terlalu sulit untuk membuat daftar nomor berturut-turut dengan mengetikkan mereka, tetapi semakin besar daftarnya, semakin banyak mengetik yang perlu kamu lakukan. Namun, jika kamu menggunakan fungsi, kamu dapat dengan mudah membuat daftar dengan seribu nomor.

Berikut ini adalah contoh yang menggunakan fungsi list dan fungsi range untuk menghasilkan daftar nomor:

>>> list(range(0, 1000))
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16...,997,998,999]

Fungsi adalah potongan kode program yang memberitahu Python untuk melakukan sesuatu. Mereka adalah salah satu cara untuk menggunakan ulang kode program kamu. Kamu dapat menggunakan fungsi dalam program kamu lagi dan lagi.

Ketika kamu sedang menulis program sederhana, fungsi bisa berguna. Setelah kamu mulai menulis kode yang panjang, program yang lebih rumit, seperti permainan, fungsi sangat penting (dengan asumsi Anda ingin selesai menulis program anda abad ini).

Bagian-bagian dari Fungsi

fungsi memiliki tiga bagian: nama fungsi, parameter, dan isi. Ini adalah contoh fungsi sederhana:

>>> def testfunc(myname):
        print('hello %s' % myname)

Nama fungsi diatas adalah testfunc. Ia memiliki satu parameter, myname, dan isinya adalah blok kode segera setelah baris yang dimulai dengan def (kependekan dari define/menentukan). Parameter adalah variabel yang hanya ada saat fungsi sedang digunakan.

Kamu dapat menjalankan fungsi dengan memanggil namanya, dengan menggunakan tanda kurung di sekitar nilai parameter:

>>> testfunc('Mary')
hello Mary

Fungsi bisa mengambil dua, tiga, atau sejumlah parameter, bukan hanya satu:

>>> def testfunc(fname, lname):
       print('Hello %s %s' % (fname, lname))

Dua nilai untuk parameter ini dipisahkan oleh koma:

>>> testfunc('Mary', 'Smith')
Hello Mary Smith

Kita juga bisa menciptakan beberapa variabel pertama dan kemudian memanggil fungsi beserta mereka:

>>> firstname = 'Joe'
>>> lastname = 'Robertson'
>>> testfunc(firstname, lastname)
Hello Joe Robertson

Sebuah fungsi sering digunakan untuk mengembalikan nilai, menggunakan pernyataan return. Sebagai contoh, Anda bisa menulis fungsi untuk menghitung berapa banyak uang yang kamu tabung:

>>> def savings(pocket_money, paper_route, spending):
return pocket_money + paper_route – spending

Fungsi diatas mengambil tiga parameter. Ia menambahkan dua yang pertama (pocket_money dan paper_route) dan mengurangi dengan yang terakhir (spending). Hasilnya dikembalikan dan dapat diberikan ke sebuah variabel (dengan cara yang sama kita menetapkan nilai-nilai lain untuk variabel) atau dicetak:

>>> print(savings(10, 10, 5))
15

Variabel dan Lingkupnya

Sebuah variabel yang ada di dalam tubuh fungsi tidak dapat digunakan lagi ketika fungsi telah selesai berjalan karena ia hanya ada di dalam fungsi. Dalam dunia pemrograman, ini disebut ruang lingkup/scope.

Mari kita lihat fungsi sederhana yang menggunakan beberapa variabel tetapi tidak memiliki parameter:

>>> def variable_test():
first_variable = 10
second_variable = 20
return first_variable * second_variable

Dalam contoh ini, kita membuat fungsi yang disebut variable_test, yang mengalikan dua variabel (first_variable dan second_variable) dan mengembalikan hasilnya.

>>> print(variable_test())
200

Jika kita memanggil fungsi ini menggunakan print, kita mendapatkan hasilnya: 200. Namun, jika kita mencoba untuk mencetak isi first_variable (atau second_variable, dalam hal ini) di luar blok kode dalam fungsi tersebut, kita mendapatkan pesan error:

>>> print(first_variable)
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
print(first_variable)
NameError: name 'first_variable' is not defined

Jika variabel didefinisikan di luar fungsi, ia memiliki ruang lingkup yang berbeda. Sebagai contoh, mari kita mendefinisikan variabel sebelum kita membuat fungsi kita, dan kemudian mencoba menggunakannya dalam fungsi:

>>> another_variable = 100
>>> def variable_test2():
first_variable = 10
second_variable = 20
        return first_variable * second_variable * another_variable

Dalam kode ini, meskipun variabel first_variable dan second_variable tidak dapat digunakan di luar fungsi, another_variable variabel (yang dibuat di luar fungsi) dapat digunakan di dalamnya. Berikut hasil dari panggilan fungsi ini:

>>> print(variable_test2())
20000

Sekarang, misalkan Anda sedang membangun sebuah pesawat ruang angkasa dari sesuatu yang ekonomis seperti kaleng-kaleng bekas. Anda pikir Anda dapat meratakan 2 kaleng seminggu untuk membuat dinding melengkung dari pesawat ruang angkasa Anda, tetapi Anda akan membutuhkan sesuatu seperti 500 kaleng untuk menyelesaikan badan pesawat. Kita dapat dengan mudah menulis fungsi untuk membantu menentukan berapa lama waktu yang dibutuhkan untuk meratakan 500 kaleng jika kita melakukan 2 kaleng seminggu.

Fig 2.7.2. Gambar alien

Mari kita membuat fungsi untuk menunjukkan berapa banyak kaleng yang kita ratakan setiap minggu sampai satu tahun. Fungsi kita akan mengambil jumlah kaleng sebagai parameter:

>>> def spaceship_building(cans):
total_cans = 0
for week in range(1, 53):
total_cans = total_cans + cans
print('Week %s = %s cans' % (week, total_cans))

Pada baris pertama dari fungsi tersebut, kita membuat sebuah variabel yang disebut total_cans dan set nilainya ke 0. Kami kemudian membuat loop untuk minggu dalam setahun dan menambahkan jumlah kaleng rata setiap minggu. Ini adalah blok kode yang merupakan isi fungsi kita. Tapi ada juga blok lain kode dalam fungsi ini: dua baris terakhir, yang membentuk blok untuk loop.

Mari kita coba memasukkan fungsi yang di shell dan menyebutnya dengan nilai yang berbeda untuk jumlah kaleng:

>>> spaceship_building(2)
Week 1 = 2 cans
Week 2 = 4 cans
Week 3 = 6 cans
Week 4 = 8 cans
Week 5 = 10 cans
Week 6 = 12 cans
Week 7 = 14 cans
Week 8 = 16 cans
Week 9 = 18 cans
Week 10 = 20 cans
(continues on...)
>>> spaceship_building(13)
Week 1 = 13 cans
Week 2 = 26 cans
Week 3 = 39 cans
Week 4 = 52 cans
Week 5 = 65 cans
(continues on...)

Fungsi ini dapat digunakan kembali dengan nilai jumlah kaleng yang berbeda untuk tiap minggu, yang sedikit lebih efisien daripada mengetik ulang setiap kali Anda ingin mencobanya dengan nomor yang berbeda.

Fungsi juga dapat dikelompokkan dalam modul, yang mana Python menjadi benar-benar berguna, dibandingkan dengan hanya sedikit berguna.

 

Iklan
Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Navigasi pos

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Blog di WordPress.com.

%d blogger menyukai ini: