Author Archives: phpgeek programmer

About phpgeek programmer

pemimpi yang berharap menjadi the best programmer di zamannya

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 11 { Mengunakan Modul }

Modul digunakan untuk mengelompokkan fungsi, variabel, dan hal-hal lain menjadi sesuatu yang lebih besar, program yang lebih powerful. Beberapa modul sudah built-in di dalam python, dan kamu bisa mendownload modul lainnya secara terpisah. Kamu akan menemukan modul untuk menulis game kamu (seperti tkinter, yang sudah build-in, dan pygame yang terpisah). Modul untuk memanipulasi gambar (seperti PIL, the Python Imaging Library), dan modul untuk menggambar 3 dimensi (seperti Panda3D).

panda3d

Modul juga bisa digunakan untuk semua hal berguna lainnya. Sebagai contoh, jika kamu mendesain game simulasi, dan kamu ingin dunia dalam game berubah serealistis mungkin, kamu bisa menghitung tanggal dan waktu saat ini menggunkan modul built-in yang bernama time:

>>> import time;

Disini, perintah import digunakan untuk memberitahu python bahwa kita ingin menggunakan modul time. Kita kemudian dapat memanggil fungsi yang tersedia di modul ini, menggunakan simbol dot. (Ingat kita menggunakan fungsi seperti saat bekerja dengan modul turtle di bab sebelumnya seperti t.forward(50) ). Sebagai contoh, disini adalah bagaimana caranya kita memanggil fungsi asctime dalam modul time :

>>> print(time.asctime())
'Mon Nov 5 12:40:27 2012'

Fungsi asctime adalah bagian dari modul time yang mengembalikan tanggal dan waktu saat ini, sebagai string.

Sekarang anggap kamu ingin meminta seseorang yang menggunakan program kamu untuk memasukkan sebuah nilai, mungkin tanggal lahirnya, atau umurnya. Kamu bisa melakukan ini dengan pernyataan print, untuk menampilkan pesan, dan modul sys (kependekan dari system), yang berisi utilitas untuk berinteraksi dengan sistem python itu sendiri. Pertama kita mengimport modul sys:

jam pasir

>>> import sys;

didalam modul sys adalah modul khusus yang disebut stdin (kependekan dari standard input), yang menyediakan fungsi yang sangat berguna disebut readline. Fungsi readline digunakan untuk membaca satu baris teks yang diketikkan pada keyboard sampai kamu menekan tombol enter. (Kita akan melihat bagaimana objek bekerja pada bab berikutnya). Untuk mengetes readline, masukkan kode ini di shell python:

>>> import sys
>>> print(sys.stdin.readline())

Jika kamu kemudian mengetikkan beberapa kata kemudian menekan enter, kata-kata itu kemudian akan dicetak ke layar. Pikirkan kembali kode yang kita tulis di bab sebelumnya, menggunakan pernyataan if :

>>> if age >= 10 and age <= 13:
        print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
        print('Huh?')

Dari pada membuat variabel age dan memberikan nilai tertentu sebelum pernyataan if, sekarang kita bisa meminta seseorang untuk memasukkan nilainya. Tapi pertama, mari kita taruh kode tersebut dalam sebuah fungsi:

>>> def silly_age_joke(age):
        if age >= 10 and age <= 13:
                print('What is 13 + 49 + 84 + 155 + 97? A headache!')
        else:
                print('Huh?')

Sekarang kamu bisa memanggil fungsi itu dengan mengetikkan namanya, kemudian beritahu angka berapa yang akan digunakan dengan memasukkan nilainya didalam tanda kurung. Apakah ini berfungsi?

>>> silly_age_joke(9)
Huh?
>>> silly_age_joke(10)
What is 13 + 49 + 84 + 155 + 97? A headache!

Berhasil! Sekarang mari kita membuat fungsi yang menanyakan umur seseorang. (Kamu bisa menambahkan atau mengubah fungsinya sebanyak yang kamu mau.)

>>> def silly_age_joke():
         print('How old are you?')
         age = int(sys.stdin.readline())
         if age >= 10 and age <= 13:
              print('What is 13 + 49 + 84 + 155 + 97? A headache!')
         else:
              print('Huh?')

Apakah kamu memperhatikan fungsi int didalamnya, yang mengubah string menjadi angka? Kita memasukkan fungsi itu karena fungsi readline() apapun yang diketikkan seseorang sebagai string, tapi kita membutuhkan angka sehingga kita bisa membandingkannya dengan angka 10 dan angka 13. Untuk mencobanya sendiri, panggil fungsi itu tanpa parameter, dan kemudian ketikkan angka berapa umurmu sekarang? Seperti dibawah ini :

>>> silly_age_joke()
How old are you?
10
What is 13 + 49 + 84 + 155 + 97? A headache!
>>> silly_age_joke()
How old are you?
15
Huh?

Apa Yang Telah Kamu Pelajari

Dalam bab ini kamu telah mempelajari bagaimana membuat potongan kode yang bisa digunakan kembali dalam python dengan fungsi dan bagaimana menggunakan fungsi yang disediakan oleh modul. Kamu belajar bagaimana lingkup kontrol variabel apakah mereka bisa dilihat didalam atau diluar fungsi, dan bagaimana membuat fungsi menggukanan kata kunci def. Kamu juga menemukan cara bagaimana mengimport modul sehingga kamu bisa menggunkan isinya.

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

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.

 

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

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 9 { Perulangan }

2.6. Perulangan

Tidak ada yang lebih buruk daripada harus melakukan hal yang sama berulang-ulang. Ada alasan mengapa beberapa orang menghitung domba ketika mereka sedang mengalami kesulitan tidur, dan itu tidak ada hubungannya dengan kekuatan luar biasa dalam menginduksi tidur  dari mamalia berbulu tersebut. Ini karena tak henti-hentinya mengulangi sesuatu jadi membosankan, dan pikiran Anda bisa menurun hingga kemudian tidur menjadi lebih mudah jika Anda tidak fokus pada sesuatu yang menarik.

Programmer tidak begitu suka mengulang sesuatu juga, kecuali mereka berusaha untuk tertidur. Untungnya, kebanyakan bahasa pemrograman memiliki apa yang disebut untuk loop/perulangan, yang mengulangi hal-hal seperti pernyataan pemrograman dan blok kode lainnya secara otomatis.

Fig 2.6.1. Domba hipnotisePada bab ini, kita akan melihat pada perulangan, serta jenis lain dari perulangan yang python tawarkan: perulangan while.

Menggunakan Perulangan

Untuk mencetak kata hello lima  kali di python, kamu bisa melakukkannya dengan cara berikut ini:

>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello
>>> print("hello")
hello

Tapi ini agak membosankan. Sebaliknya, Anda dapat menggunakan untuk perulangan untuk mengurangi jumlah yang harus diketik dan diulang, seperti ini:

>>> for x in range(0, 5):
         print('hello')

  hello
  hello
  hello
  hello
  hello

Fungsi range di dapat digunakan untuk membuat sebuah list nomor mulai dari angka yang disebut diawal hingga angka sebelum angka yang disebut terakhir. Itu mungkin terdengar sedikit membingungkan. Mari kita menggabungkan fungsi range dengan fungsi list untuk melihat persis bagaimana ini bekerja. Fungsi range tidak benar-benar membuat daftar/list nomor, melainkan mengembalikan sebuah iterator, yang merupakan jenis objek Python yang dirancang khusus untuk bekerja dengan loop. Namun, jika kita menggabungkan range dengan list, kita mendapatkan daftar nomor.

>>> print(list(range(10, 20)))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Dalam kasus perulangan for , kode di sebenarnya memberitahu Python untuk melakukan hal berikut:

  • mulai menghitung dari 0 dan berhenti sebelum mencapai 5.
  • untuk setiap angka yang kita hitung simpan nilai di variabel x.

Kemudian Python mengeksekusi blok kode print(‘hello’) . Catat bahwa terdapat 4 spasi tambahan di awal baris (jika kamu membandingkan dengan baris di atasnya). IDLE akan secara otomatis mengidentasikan ini untukmu. Ketika kita menekan [enter] setelah baris kedua, Python akan mencetak “hello” lima kali. Kita juga bisa menggunakan x dalam pernyataan print untuk menghitung kata hello:

>>> for x in range(0, 5):
        print('hello %s' % x)
hello 0
hello 1
hello 2
hello 3
hello 4

Jika kita tidak menggunakan perulangan lagi, kode kita mungkin terlihat seperti ini:

>>> x = 0
>>> print('hello %s' % x)
hello 0
>>> x = 1
>>> print('hello %s' % x)
hello 1
>>> x = 2
>>> print('hello %s' % x)
hello 2
>>> x = 3
>>> print('hello %s' % x)
hello 3
>>> x = 4
>>> print('hello %s' % x)
hello 4

Jadi dengan menggunakan loop telah benar-benar menyelamatkan kita dari menulis delapan baris tambahan kode. Programmer yang baik benci melakukan hal-hal lebih dari sekali, sehingga perulangan adalah salah satu pernyataan yang lebih populer dalam bahasa pemrograman.

Anda tidak perlu untuk tetap menggunakan fungsi range dan list ketika membuat perulangan. Anda juga bisa menggunakan list yang telah Anda buat, seperti daftar belanja dari Bab 2.3, sebagai berikut:

>>> wizard_list = ['spider legs', 'toe of frog', 'snail tongue',
               'bat wing', 'slug butter', 'bear burp']
>>> for i in wizard_list:
        print(i)
spider legs
toe of frog
snail tongue
bat wing
slug butter
bear burp

Kode ini adalah cara untuk mengatakan, “Untuk setiap item dalam wizard_list, simpan nilai dalam variabel i, dan kemudian cetak isi variabel itu.” Sekali lagi, jika kita tidak menggunakan perulangan, kita perlu melakukannya seperti ini:

Fig 2.6.2. Bekicot pemalas

>>> wizard_list = ['spider legs', 'toe of frog', 'snail tongue',
               'bat wing', 'slug butter', 'bear burp']
>>> print(wizard_list[0])
spider legs
>>> print(wizard_list[1])
toe of frog
>>> print(wizard_list[2])
snail tongue
>>> print(wizard_list[3])
bat wing
>>> print(wizard_list[4])
slug butter
>>> print(wizard_list[5])
bear burp

Jadi sekali lagi, loop telah menyelamatkan kita dari mengetik terlalu banyak.

Mari kita membuat loop lain. Ketik kode berikut ke shell. Ini seharusnya kode anda secara otomatis terindentasi untuk Anda.

>>> hugehairypants = ['huge', 'hairy', 'pants']
 >>> for i in hugehairypants:
         print(i)
         print(i)

 huge
  huge
  hairy
  hairy
  pants
  pants

Pada baris pertama, kami membuat list yang berisi ‘huge’, ‘hairy’, dan ‘pants’. Pada baris berikutnya, kita melakukan perulangan melalui item dalam daftar itu, dan setiap item kemudian disimpan ke variabel i. Kami mencetak isi dari variabel dua kali dalam dua baris berikutnya. Menekan enter pada baris kosong berikutnya memberitahu Python untuk mengakhiri blok, dan kemudian menjalankan kode dan mencetak setiap elemen dari list dua kali.

Fig 2.6.3. Celana besar berbulu

Ingat bahwa jika Anda salah memasukkan jumlah spasi, Anda akan berakhir dengan pesan kesalahan. Jika Anda memasukkan kode dengan spasi tambahan pada baris keempat, Python akan menampilkan kesalahan identasi:

>>> hugehairypants = ['huge', 'hairy', 'pants']
>>> for i in hugehairypants:
        print(i)
         print(i)

SyntaxError: unexpected indent

Seperti yang Anda pelajari dalam Bab 2.5, Python mengharapkan jumlah spasi di blok secara konsisten. Tidak peduli berapa banyak spasi yang Anda masukkan, selama Anda menggunakan jumlah yang sama untuk setiap baris baru (selain itu membuat kode lebih mudah bagi manusia untuk dibaca).

Berikut adalah contoh yang lebih rumit pada perulangan dengan dua blok kode:

>>> hugehairypants = ['huge', 'hairy', 'pants']
>>> for i in hugehairypants:
        print(i)
        for j in hugehairypants:
                print(j)

Dimana blok dalam kode ini? Blok pertama adalah perulangan for yang pertama:

hugehairypants = ['huge', 'hairy', 'pants']
for i in hugehairypants:
    print(i)                   #
    for j in hugehairypants:   # These lines are the FIRST block.
        print(j)               #

Blok kedua adalah baris print kedua pada perulangan for :

hugehairypants = ['huge', 'hairy', 'pants']
  for i in hugehairypants:
      print(i)
     for j in hugehairypants:
         print(j)              # This line is also the SECOND block.

Dapatkah Anda mencari tahu apa yang akan dilakukan kode ini?

Setelah list yang disebut hugehairypants dibuat, kita bisa mengatakan dari dua baris berikutnya yang akan diulang melalui item dalam list dan mencetaknya masing-masing. Namun, ia akan mengulang atas list itu lagi, kali ini menetapkan nilai ke variabel j, dan kemudian mencetak setiap item lagi. Kode pada baris ke 4 dan 5 masih merupakan bagian dari perualangan for, yang berarti mereka akan dieksekusi untuk setiap item saat perulangan berjalan melalui list.

Jadi, ketika kode ini berjalan, kita harus melihat huge diikuti oleh huge, hairy, pants dan kemudian hairy diikuti oleh hugehairy, pants dan sebagainya.

Masukkan kode ini ke shell Python dan lihat sendiri:

>>> hugehairypants = ['huge', 'hairy', 'pants']
  >>> for i in hugehairypants:
         print(i)
          for j in hugehairypants:
                 print(j)

  huge
    huge
    hairy
    pants
  hairy
    huge
    hairy
    pants
  pants
    huge
    hairy
    pants

Python memasuki perulangan pertama dan mencetak item dari list. Selanjutnya, memasuki perulangan kedua dan mencetak semua item dalam list. Kemudian berlanjut dengan perintah print(i), mencetak item berikutnya dalam daftar, dan kemudian mencetak daftar lengkap lagi dengan print(j).

Bagaimana tentang sesuatu yang lebih praktis daripada mencetak kata-kata konyol? Ingat perhitungan yang kita bahas dalam Bab 2 untuk menentukan berapa banyak koin emas yang akan Anda miliki pada akhir tahun jika Anda menggunakan penemuan gila kakekmu untuk menduplikasi koin? Itu tampak seperti ini:

>>> 20 + 10 * 365 − 3 * 52

Ini merupakan penemuan 20koin ditambah 10 koin magic dikalikan 365 hari dalam setahun, minus 3 koin seminggu dicuri oleh gagak.

Fig 2.6.4. gagak mencuri koin emas

Hal ini mungkin berguna untuk melihat bagaimana tumpukan koin emas Anda akan meningkat setiap minggu. Kita dapat melakukan ini dengan perulangan for yang lain, tapi pertama-tama, kita perlu mengubah nilai variabel magic_coins kami sehingga mewakili jumlah koin sihir per minggu. Itu 10 koin ajaib per hari kali 7 hari dalam seminggu, sehingga magic_coins seharusnya 70:

>>> found_coins = 20
>>> magic_coins = 70
>>> stolen_coins = 3

Kita bisa melihat harta kita meningkat setiap minggu dengan menciptakan variabel lain, yang disebut koin, dan menggunakan loop:

>>> found_coins = 20
  >>> magic_coins = 70
  >>> stolen_coins = 3
 >>> coins = found_coins
 >>> for week in range(1, 53):
         coins = coins + magic_coins - stolen_coins
         print('Week %s = %s' % (week, coins))

Jadi, jika Anda menjalankan program ini, Anda akan melihat sesuatu seperti ini:

Fig 2.6.5. magic coin dengan perulangan

Kita Berbicara Tentang Perulangan While

Perulangan for  bukan satu-satunya jenis perulangan yang bisa Anda dapat buat dalam Python. Ada juga bisa menggunakan perulangan while. Perulangan for adalah perulangan dari panjang tertentu, sedangkan perulangan while  adalah perulangan yang digunakan ketika Anda tidak tahu sebelumnya waktu yang dibutuhkan untuk menghentikan perulangan.

Bayangkan tangga dengan 20 langkah. Tangga di dalam ruangan, dan Anda tahu bahwa Anda dapat dengan mudah naik 20 langkah. Perulangan for akan menjadi seperti itu.

>>> for step in range(0, 20):
        print(step)

Sekarang bayangkan sebuah tangga naik gunung. Gunung ini benar-benar tinggi, dan Anda mungkin kehabisan energi sebelum Anda mencapai puncak, atau cuaca mungkin berubah menjadi buruk, memaksa Anda untuk berhenti. Inilah yang perulangan while akan tampak seperti.

step = 0
while step < 10000:
print(step)
if tired == True:
break
elif badweather == True:
break
else:
step = step + 1

Jika Anda mencoba untuk masuk dan menjalankan kode ini, Anda akan mendapatkan error. Mengapa? Kesalahan terjadi karena kita belum membuat variabel tired dan badweather. Meskipun tidak ada kode cukup di sini untuk benar-benar membuat program kerja, hal ini menunjukkan contoh dasar loop sementara.

Fig 2.6.6. Awan Mendung

Kita mulai dengan menciptakan sebuah variabel yang disebut step dengan step = 0. Selanjutnya, kita membuat perulangan while yang memeriksa apakah nilai dari variabel step kurang dari 10.000 (step <10000), yang merupakan jumlah langkah dari bawah gunung ke atas. Selama langkah kurang dari 10.000, Python akan mengeksekusi sisa kode.

Dengan print(step), kita mencetak nilai variabel dan kemudian memeriksa apakah nilai variabel tired bernilai Benar dengan if tired ==  True:. (True disebut nilai Boolean, yang akan kita pelajari di Bab 2.8.) Jika ya, kita menggunakan kata kunci break untuk keluar dari loop. kata kunci brean adalah cara melompat keluar dari loop (dengan kata lain, berhenti) segera, dan bekerja dengan baik untuk kedua perulangan while dan for. Di sini ia memiliki efek melompat keluar dari blok dan ke baris step = step + 1.

Baris elif badweather == True: memeriksa untuk melihat apakah variabel badweather  diatur ke True. Jika demikian, kata kunci break membuatnya keluar dari perulangan. Jika tidak lelah/tired atau badweather tidak True (yang lain), kita tambahkan 1 ke variabel step dengan step = step + 1, dan terus melakukan perulangan.

Jadi langkah-langkah dari perulangan while adalah sebagai berikut:

  1. Check the condition.
  2. Execute the code in the block.
  3. Repeat.

Lebih umum, perulangan while mungkin dibuat dengan beberapa kondisi, bukan hanya satu, seperti ini:

>>> x = 45
>>> y = 80
>>> while x < 50 and y < 100:
x = x + 1
y = y + 1
print(x, y)

Di sini, kita membuat variabel x dengan nilai 45 , dan variabel y dengan nilai 80. Perulangan mengecek untuk dua kondisi di: apakah x kurang dari 50 dan apakah y kurang dari 100. Sementara kedua kondisi adalah benar, baris yang mengikutinya dijalankan, menambahkan 1 untuk kedua variabel dan kemudian mencetaknya. Berikut output dari kode ini:

46 81
47 82
48 83
49 84
50 85

Dapatkah Anda mencari tahu bagaimana ini bekerja?

Kami mulai menghitung pada 45 untuk variabel x dan pada 80 untuk variabel y, dan kemudian tembahkan 1 (tambahkan 1 untuk setiap variabel) setiap kali kode dalam perulangan dijalankan. Perulangan akan berjalan selama x kurang dari 50 dan y kurang dari 100. Setelah perulangan lima kali (1 ditambahkan ke masing-masing variabel setiap kali), nilai dalam x mencapai 50. Sekarang kondisi pertama (x <50) tidak lagi benar, sehingga Python tahu untuk menghentikan perulangan.

Penggunaan umum lainnya dari perulangan while adalah untuk menciptakan loop semi-abadi. Ini adalah jenis loop yang bisa berlangsung selamanya, tetapi sebenarnya terus sampai sesuatu terjadi dalam kode untuk keluar dari itu. Berikut ini adalah contohnya:

while True:
lots of code here
lots of code here
lots of code here
if some_value == True:
break

Kondisi perulangan while hanya True, yang selalu benar, sehingga kode di blok akan selalu berjalan (dengan demikian, loop abadi). Hanya jika variabel some_value  benar Python akan keluar dari loop.

Apa Yang Telah Kamu Pelajari

Dalam bab ini, kami menggunakan perulangan untuk melakukan tugas yang berulang tanpa melakukan semua pengulangan. Kita diberitahu Python apa yang kita inginkan berulang dengan menulis tugas-tugas tersebut di dalam blok kode, yang kita masukkan ke dalam perulangan. Kami menggunakan dua jenis perulangan: perulangan for dan perulangan while, yang serupa tetapi dapat digunakan dalam cara yang berbeda. Kami juga menggunakan kata kunci break untuk menghentikan perulangan – yaitu, untuk keluar dari lingkaran.

Teka-teki Pemrograman

1. Perulangan Hello

Menurutmu apa yang akan dilakukan kode program ini? Pertama, coba tebak, lalu kemudian coba jalankan di python untuk melihat apakah tebakanmu benar.

for x in range(0, 20):
   print('hello %s', % x)
   if x < 9:
      break

2. Bilangan Genap

Buat sebuah perulangan yang mencetak angka genap sampai mencapai umur kamu sekarang, jika umur kamu berupa bilangan ganjil, cetak bilangan ganjil hingga mencapai bilangan umur kamu. Sebagai contoh, ia mungkin akan mencetak bilangan seperti dibawah ini:

2
4
6
8
10
12
14

3. Rasa Favorit Saya

Buatlah sebuah list yang berisi rasa sandwich yang berbeda-beda, seperti dibawah ini:

ingredients = ['ayam bakar', 'sapi barbeque', 'kambing guling', 'bebek goreng peking', 'sate kerbau']

Sekarang buat perulangan yang mencetak list  (termasuk angka):

1 ayam bakar
2 sapi barbeque
3 kambing guling
4 bebek goreng peking
5 sate kerbau

4. Berat badan kamu di bulan

Jika kamu berdiri di bulan sekarang, berat kamu akan berkurang 16,5% dari berat kamu di bumi. Kamu bisa menghitungnya dengan mengalikan berat badan kamu di bumi dengan 0,165.

Jika kamu bertambah 1 kilo setiap tahun selama 15 tahun kedepan, berapa berat badan kamu ketika mengunjungi bulan setiap tahunnya dan pada tahun ke 15? Tulislah sebuah program menggunakan perulangan yang mencetak berat badan kamu di bulan setiap tahunnya.

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

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 8 { If dan Else }

2.5. Bertanya dengan If dan Else

Dalam pemrograman, kita sering bertanya dengan  pertanyaan ya atau tidak, dan memutuskan untuk melakukan sesuatu tergantung jawabannya. Sebagai contoh, kita mungkin bertanya, “Apakah kamu lebih tua dari 20 tahun?” dan jika jawabannya ya, akan diberikan respon “Kamu terlalu tua!”. Pertanyaan pendek ini disebut Conditions, dan kita menggabungkan kondisi dan respon menjadi statement if. Kondisi bisa lebih rumit dari satu pertanyaan, dan statement if juga bisa dikombinasikan dengan banyak pertanyaan dan respon yang berbeda tergantung jawaban tiap pertanyaan yang diberikan. Dalam bab ini kamu akan belajar bagaimana menggunakan pernyataan if untuk membuat program.

Pernyataan if

Sebuah pernyataan if mungkin ditulis dalam Python seperti ini:

>>> age = 13
>>> if age > 20:
        print('You are too old!')

Sebuah pernyataan if jika dibuat dengan keyword if, diikuti dengan sebuah kondisi dan sebuah titik dua (:), seperti dalam if age > 20:. Baris dibawah kolom haruslah sebuah blok, dan jika jawaban dari pertanyaan ini adalah ya (atau true, dalam bahasa pemrograman python), perintah dalam blok akan dijalankan. Sekarang, mari kita tinjau bagaimana menulis blok dan kondisi.

Fig 2.5.1. Gambar anjing

Blok adalah Sekelompok Pernyataan Pemrograman

Sebuah blok kode program adalah seperangkat pernyataan pemrograman yang dikelompokkan. Sebagai contoh, ketika jika usia > 20: benar, Anda mungkin ingin melakukan lebih dari sekedar mencetak “Kau terlalu tua!” Mungkin Anda ingin mencetak beberapa kalimat pilihan lain, seperti ini:

>>> age = 25
>>> if age > 20:
        print('You are too old!')
        print('Why are you here?')
        print('Why aren\'t you mowing a lawn or sorting papers?')

Blok kode ini terdiri dari tiga pernyataan print/cetak yang dijalankan hanya jika kondisi usia > 20 ditemukan. Setiap baris di blok tersebut memiliki empat spasi di awal, bila Anda membandingkannya dengan pernyataan if di atasnya. Mari kita lihat kode itu lagi, dengan spasi yang terlihat:

>>> age = 25
>>> if age > 20:
    ▯▯▯▯print('You are too old!')
    ▯▯▯▯print('Why are you here?')
    ▯▯▯▯print('Why aren\'t you mowing a lawn or sorting papers?')

Dalam Python, whitespace, seperti sebuah tab (dimasukkan ketika kamu menekan tombol [tab]) atau sebuah spasi (dimasukkan ketika kamu menekan tombol spacebar), adalah berharga. Kode yang berada pada posisi yang sama (menjorok dengan sejumlah spasi dari margin kiri) adalah dikelompokkan menjadi sebuah blok, dan ketika kamu memulai dengan baris yang baru dengan spasi lebih banyak dari sebelumnya, kamu memulai sebuah blok baru yang merupakan bagian dari blok sebelumnya, seperti ini:

Fig 2.5.2. blok kode python

Kami mengelompokkan pernyataan bersama-sama ke dalam sebuah blok karena mereka saling berhubungan. Pernyataan harus dijalankan bersama-sama. Bila Anda mengubah lekukan/identasi, Anda biasanya membuat blok baru. Contoh berikut ini menunjukkan tiga blok terpisah yang dibuat hanya dengan mengubah lekukan.

Fig 2.5.3. blok kode python 2

Di sini, meskipun blok 2 dan 3 memiliki lekukan yang sama, mereka dianggap blok yang berbeda karena ada blok dengan lekukan yang kurang (lebih sedikit spasi) di antara mereka.

Untuk itu, sebuah blok dengan empat spasi pada satu baris dan enam spasi pada berikutnya akan menghasilkan kesalahan lekukan ketika Anda menjalankannya, karena Python mengharapkan Anda untuk menggunakan jumlah spasi yang sama untuk semua baris dalam blok. Jadi jika Anda memulai blok dengan empat spasi, Anda harus secara konsisten menggunakan empat spasi untuk blok tersebut. Berikut ini adalah contohnya:

>>> if age > 20:
    ▯▯▯▯print('You are too old!')
    ▯▯▯▯▯▯print('Why are you here?')

Saya membuat spasinya terlihat jadi kamu bisa melihat perbedaanya. Perhatikan bahwa baris ketiga memiliki enam spasi alih-alih menggunakan empat spasi.

Ketika kamu menjalankan kode ini, IDLE akan menyoroti baris dimana ia tampaknya bermasalah dengan blok merah dan menampilkan penjelasan pesan SintaxError :

>>> age = 25
>>> if age > 20:
        print('You are too old!')
          print('Why are you here?')
SyntaxError: unexpected indent

Python tidak mengharapkan untuk melihat dua spasi tambahan pada awal baris print yang kedua.

Catatan:

Gunakan spasi secara konsisten untuk membuat kode Anda lebih mudah dibaca. Jika Anda mulai menulis sebuah program dan menempatkan empat spasi pada awal blok, tetap menggunakan empat spasi pada awal blok lain dalam program Anda. Juga, pastikan untuk menjorokkan setiap baris di blok yang sama dengan jumlah spasi yang sama.

Kondisi Membantu Kita Membandingkan Sesuatu

Sebuah kondisi adalah pernyataan pemrograman yang membandingkan sesuatu dan memberitahu kita apakah kriteria yang ditetapkan dalam perbandingan adalah bernilai True (yes ) atau False (no). Sebagai contoh, kondisi  age > 10, dan ini adalah cara lain untuk mengatakan “Apakah nilai dari variabel age lebih besar dari 10?” Ini juga kondisi: hair_color == ‘mauve’, yang mana adalah cara lain untuk mengatakan, “Apakah nilai variabel hair_color adalah mauve?”

Kita menggunakan simbol di Python (disebut operators) untuk membuat kondisi yang kita inginkan, seperti sama dengan, lebih besar dari, dan lebih kecil dari. Tabel 5-1 mendaftar beberapa simbol kondisi.

Fig 2.5.4. tabel simbol kondisi

Misalnya, jika Anda berusia 10 tahun, kondisi your_age == 10 akan mengembalikan nilai True/Benar, jika tidak, ia akan mengembalikan nilai  False/Salah. Jika Anda berusia 12 tahun, kondisi your_age> 10 akan mengembalikan nilai Benar.

Peringatan:
Pastikan untuk menggunakan tanda sama dengan ganda (==) ketika mendefinisikan kondisi – sama dengan.

Mari kita coba beberapa contoh. Di sini, kita menetapkan usia kita sama dengan 10 dan kemudian menulis sebuah pernyataan kondisional yang akan mencetak “Kamu terlalu tua untuk lelucon saya!” Jika umur lebih besar dari 10:

>>> age = 10
>>> if age > 10:
        print('You are too old for my jokes!')

Apa yang terjadi ketika kita mengetikkan ini di IDLE dan menekan [enter]?

Tidak ada.

Karena nilai yang dikembalikan oleh usia/age tidak lebih besar dari 10, Python tidak mengeksekusi (menjalankan) blok print. Namun, jika kita telah menetapkan variabel usia/age sama dengan 20, pesan akan dicetak.

Fig 2.5.5. Gambar Badut

Sekarang mari kita mengubah contoh sebelumnya dengan menggunakan  “lebih besar dari atau sama dengan” (> =) sebagai  kondisinya:

>>> age = 10
>>> if age >= 10:
        print('You are too old for my jokes!')

Kamu seharusnya melihat “You are too old for my jokes!” Dicetak ke layar karena nilai minimum adalah sama dengan 10.
Selanjutnya, mari kita coba menggunakan kondisi “sama dengan” (==):

>>> age = 10
>>> if age == 10:
        print('What\'s brown and sticky? A stick!!')

Anda akan melihat pesan “‘What’s brown and sticky? A stick!!” dicetak ke layar.

Pernyataan if-then-else

Di samping menggunakan pernyataan if untuk melakukan sesuatu ketika kondisi terpenuhi (True), kita juga dapat menggunakan pernyataan if untuk melakukan sesuatu ketika kondisi tidak terpenuhi atau bernilai salah (False). Sebagai contoh, kita bisa mencetak satu pesan ke layar jika usia Anda adalah 12 dan pesan lainnya jika usianya bukan 12 (False).

Kuncinya di sini adalah dengan menggunakan pernyataan if-then-else, yang pada dasarnya mengatakan “Jika ada sesuatu yang benar, kemudian melakukan hal ini,. Atau jika salah, lakukan itu”

Mari kita membuat pernyataan if-then-else. Masukkan berikut kode ini ke shell:

>>> print("Want to hear a dirty joke?")
Want to hear a dirty joke?
>>> age = 12
>>> if age == 12:
        print("A pig fell in the mud!")
else:
        print("Shh. It's a secret.")

A pig fell in the mud!

Kamu seharusnya akan melihat tulisan “A pig fell in the mud!”.

Karena kita sudah mengatur variabel usia sama dengan 12, dan kondisi ini menanyakan apakah usia sama dengan 12? Anda akan melihat pesan pertama tercetak di layar. Sekarang coba mengubah nilai usia ke angka selain 12, seperti ini:

>>> print("Want to hear a dirty joke?")
Want to hear a dirty joke?
>>> age = 8
>>> if age == 12:
        print("A pig fell in the mud!")
else:
        print("Shh. It's a secret.")

Shh. It's a secret.

Kali ini, kamu akan melihat pesan kedua tercetak .

Pernyataan if dan elif

Kita dapat memperpanjang pernyataan if lebih jauh dengan elif (yang merupakan kependekan else-if). Sebagai contoh, kita dapat memeriksa apakah usia seseorang adalah 10, 11, atau 12 (dan seterusnya) dan program kita melakukan sesuatu yang berbeda berdasarkan jawaban yang diberikan. Pernyataan ini berbeda dengan pernyataan if-thenelse karena dengan pernyataan elif bisa digunakan lebih dari satu pernyataan elif:

Fig 2.5.6. penyataan elif

Dalam contoh ini, jika pernyataan pada baris kedua memeriksa untuk melihat apakah nilai variabel usia sama dengan 10 di (1). Pernyataan print yang berikutnya (2) di dijalankan jika usia sama dengan 10. Namun, karena kita telah menetapkan usia sama dengan 12, komputer melompat ke pernyataan elif di depannya (3) dan memeriksa apakah nilai usia/age adalah sama dengan 11. Dalam hal ini tenyata tidak, sehingga komputer melompat ke pernyataan elif di depannya (4) untuk melihat apakah usia sama dengan 12. Maka kali ini, komputer mengeksekusi perintah cetak pada blok dibawahnya (5).

Fig 2.5.7. gambar animasi penyataan elif

Mengkombinasikan Kondisi

Kamu bisa mengkombinasikan kondisi dengan menggunakan keyword and dan or, yang menghasilkan kode program yang simpel dan lebih pendek. Disini adalah contoh penggunaan or:

>>> if age == 10 or age == 11 or age == 12 or age == 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')

Dalam kode ini, jika salah satu kondisi pada baris pertama adalah benar (dengan kata lain, jika usia 10, 11, 12, atau 13), blok kode pada baris berikutnya dimulai dengan print akan dijalankan.

Jika kondisi di baris pertama tidak benar (yang lain), Python pindah ke blok di baris terakhir, menampilkan Huh? di layar.

Untuk mengecilkan contoh ini lebih jauh, kita bisa menggunakan kata kunci and, bersama dengan operator lebih besar dari atau sama dengan (>=) dan operator kurang dari atau sama dengan (<=), sebagai berikut:

>>> if age >= 10 and age <= 13:
print('What is 13 + 49 + 84 + 155 + 97? A headache!')
else:
print('Huh?')

Di sini, jika usia lebih besar dari atau sama dengan 10 dan kurang dari atau sama dengan 13, sebagaimana didefinisikan pada baris pertama dengan jika usia >= 10 dan usia <= 13:, blok kode yang diawali dengan print pada baris berikutnya akan dijalankan. Misalnya, jika nilai age adalah 12, maka “What is 13 + 49 + 84 + 155 + 97? A headache!” akan dicetak ke layar, karena 12 adalah lebih dari 10 dan kurang dari 13.

Variabel dengan tanpa nilai — None

Sama seperti kita dapat menetapkan angka, string, dan list ke variabel, kita juga dapat menetapkan tidak ada apa-apa, atau nilai kosong, untuk variabel. Dalam Python, nilai kosong disebut sebagai None, dan itu adalah tidak adanya nilai. Dan penting untuk dicatat bahwa Tidak ada nilai berbeda dari nilai 0 karena ini adalah tidak adanya nilai, bukan adanya nilai nomor dengan nilai 0. Satu-satunya nilai yang variabel miliki ketika kita memberikan nilai kosong None adalah tidak ada apa-apa. Berikut ini adalah contohnya:

>>> myval = None
>>> print(myval)
None

Menetapkan nilai Kosong untuk variabel adalah salah satu cara untuk me-reset ke kondisi aslinya, keadaan yang kosong. Menetapkan variabel ke None juga merupakan cara untuk mendefinisikan variabel tanpa pengaturan nilainya. Anda mungkin melakukan hal ini ketika Anda tahu Anda akan membutuhkan variabel kemudian dalam program Anda, tetapi Anda ingin mendefinisikan semua variabel Anda di awal. Programmer sering mendefinisikan variabel mereka pada awal program karena menempatkan mereka di sana membuatnya mudah untuk melihat nama-nama semua variabel yang digunakan oleh serangkaian kode.

Anda dapat memeriksa bahwa hal seperti itu ada dalam sebuah pernyataan if juga, seperti dalam contoh berikut:

>>> myval = None
>>> if myval == None:
print("The variable myval doesn't have a value")

The variable myval doesn't have a value

Hal ini berguna bila Anda hanya ingin menghitung nilai variabel jika memang belum pernah dihitung.

Perbedaan String dan Angka

Input pengguna adalah apa yang seseorang masukkan melalui keyboard, apakah itu karakter, panah ditekan atau tombol enter, atau apa pun. Input pengguna datang ke Python sebagai string, yang berarti bahwa ketika anda mengetik nomor 10 pada keyboard Anda, Python menyimpan angka 10 ke dalam variabel sebagai string, bukan angka.

Apa perbedaan antara nomor 10 dan string ’10 ‘? Keduanya terlihat sama kepada kami, dengan satu-satunya perbedaan adalah bahwa satu dikelilingi oleh tanda kutip. Tetapi untuk komputer, keduanya sangat berbeda.

Sebagai contoh, misalkan kita membandingkan nilai variabel usia/age dengan nomor dalam sebuah pernyataan if, seperti ini:

>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")

 

Kemudian kita mengatur variabel age menjadi angka 10 :

>>> age = 10
>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")
What's the best way to speak to a monster?
From as far away as possible!

 

Seperti yang Anda lihat, pernyataan print dijalankan.

Selanjutnya, kita menetapkan age ke string ’10 ‘(dengan tanda kutip), seperti ini:

>>> age = '10'
>>> if age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")

 

Di sini, kode dalam pernyataan print tidak dijalankan karena Python tidak melihat nomor dalam tanda kutip (string) sebagai angka.

Untungnya, Python memiliki fungsi ajaib yang dapat mengubah string menjadi angka dan angka ke string. Sebagai contoh, Anda dapat mengkonversi string ’10’ menjadi angka dengan int:

>>> age = '10'
>>> converted_age = int(age)

 

 

Variabel converted_age sekarang akan terus bertipe angka dengan nilai 10.

Untuk mengkonversi angka menjadi string, gunakan fungsi str:

>>> age = 10
>>> converted_age = str(age)

 

Dalam hal ini, converted_age akan memegang string 10 bukan angka 10.

Ingat bahwa pernyataan if age == 10  yang tidak mencetak apa-apa ketika variabel ditetapkan sebagai string (age = ’10 ‘)? Jika kita mengubah variabel terlebih dahulu, kita mendapatkan hasil yang sama sekali berbeda:

>>> age = '10'
>>> converted_age = int(age)
>>> if converted_age == 10:
print("What's the best way to speak to a monster?")
print("From as far away as possible!")
What's the best way to speak to a monster?
From as far away as possible!

 

Tapi dengar ini: Jika Anda mencoba untuk mengubah nomor dengan titik desimal, Anda akan mendapatkan error karena fungsi int mengharapkan integer.

>>> age = '10.5'
>>> converted_age = int(age)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
converted_age = int(age)
ValueError: invalid literal for int() with base 10: '10.5'

 

Sebuah ValueError adalah yang Python gunakan untuk memberitahu Anda bahwa nilai yang Anda telah coba untuk digunakan tidak tepat. Untuk mengatasinya, gunakan fungsi float bukan int. Fungsi float dapat menangani angka yang bukan bilangan bulat.

>>> age = '10.5'
>>> converted_age = float(age)
>>> print(converted_age)
10.5

 

 

Anda juga akan mendapatkan ValueError jika Anda mencoba untuk mengkonversi string yang tidak mengandung angka menjadi angka:

>>> age = 'ten'
>>> converted_age = int(age)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
converted_age = int(age)
ValueError: invalid literal for int() with base 10: 'ten'

 

Apa Yang Telah Kamu Pelajari

Dalam bab ini, Anda belajar bagaimana bekerja dengan pernyataan if untuk membuat blok kode yang dijalankan hanya jika kondisi tertentu adalah benar. Anda melihat bagaimana untuk memperpanjang pernyataan if menggunakan Elif sehingga bagian yang berbeda dari kode akan dieaksekusi sebagai akibat dari kondisi yang berbeda, dan bagaimana menggunakan kata kunci else untuk mengeksekusi kodenya jika tidak ada kondisi yang bernilai benar. Anda juga belajar bagaimana untuk menggabungkan kondisi menggunakan kata kunci and dan or  sehingga Anda dapat melihat apakah nilai angkanya berada dalam kisaran tertentu, dan bagaimana mengubah string menjadi angka dengan int, str, dan float. Dan Anda menemukan bahwa tidak ada (None) memiliki makna dalam Python dan dapat digunakan untuk me-reset variabel ke kondisi awal, keadaan kosong mereka.

 

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

Mengajari Anak Bagaimana Menulis Program Komputer

Katakanlah kamu memiliki anak, dan kamu ingin membantu mereka belajar pemrograman komputer pada usia dini. Sebagai ayah dari empat anak, saya mencoba  untuk menggunakan pendekatan dari sudut yang berbeda. Apa yang saya lakukan disini adalah mengumpulkan ide dari para orang tua yang mencari pilihan yang berbeda.

Mari mulai dengan sesuatu yang penting: Setiap anak itu berbeda. Beberapa anak membaca dan menulis dengan lancar dibanding anak lainnya. Untuk mereka, belajar memprogram mungkin lebih mudah. Beberapa anak memiliki kemampuan analisa dasar lebih banyak dibandingkan lainnya (Disini adalah cerita tentang anak usia 9 tahun yang sukses membuat aplikasi untuk Iphone), dan seterusnya. Kamu mencoba untuk memamerkan pemrograman kepada anakmu dan mungkin atau mungkin juga tidak “baru mengenal pertama kali”, hanya karena hal ini berbeda. Jadi kamu menunggu beberapa bulan dan mencoba lagi, atau kamu mungkin mencoba pendekatan yang berbeda. Pahami bahwa, pertama kali kamu mengenalkannya kepada anakmu mengenai pemrograman, anak kamu mungkin “tidak tertarik” sama sekali. Dan itu tidak mengapa.

Kedua adalah kemampuan analisa yang sebenarnya sering tidak tampak sampai usia 11 atau 12 atau 13 dalam kebanyakan anak-anak, jadi mengarapkan  lebih mungkin tidak realistis.

Games

Mari mulai dengan beberapa permainan. Disini ada tiga permainan yang mana anakku sangat menyukainya. Mereka mengajarkan ide dasar penyelesaian masalah dalam tiga cara yang berbeda :

Jika kamu mencarinya di web kamu akan menemukan banyak permainan “penyelesaian masalah” seperti tiga game diatas.

Kemudian inilah permainan, yang benar benar bagus dalam mengajarkan kemampuan pemrograman sederhana:

  • Light Bot (tombol “Play” terletak di kanan bawah, dibawah iklan, setelah dimuat)

LightBot

Saya menyukai Light Bot. Ia akan menyibukkan anak selama berjam-jam, mulai dari umur 7 atau 8 tahun. Beberapa teka-teki di Light Bot terlalu sulit untuk anak-anak. Penelusuran di youtube bisa membantu.

Seorang temanku menyarankan permainan ini:

LOGO

Sesaat setelah kamu mencoba Light Bot akan mengingatkanmu  pada LOGO – Bahasa pemrograman untuk anak-anak. Kamu bisa mencari tahu lebih banyak tentangnya dari halaman web seperti dibawah ini :

LOGO Programming

Atau melompat ke Google. Terdapat banyak hal mengenai LOGO di web.

Upaya Yang Lebih Besar

Lego MindstormsSatu hal lagi yang anakku sangat menikmatinya adalah Lego Mindstorms. Ini adalah seperangkat Lego robot. Saya melihat anak-anak seusia enam atau tujuh tahun membuat program yang berarti dengannya. Ia menggunakan bahasa grafis yang mudah dipahami. Jika kamu tidak keberatan menghabiskan $200, maka sudah pasti hal ini layak dilihat. Jika anak kamu sangat menyukainya, kamu mungkin harus melihat juga FIRST Lego League (Tim FLL membangun robot Mindstorms, bekerja pada presentasi, dll). Satu dari anakku telah menjadi tim FLL untuk beberapa tahun dan itu sangat bagus untuknya.

Yang bagus mengenai Mindstorms adalah ia mengijikan anak membangun sesuatu yang menarik. Masalahnya, setelah satu atau dua bulan, kamu akan menemukan keterbatasan pada apa yang bisa dilakukan dengannya. [Ya, ada orang-orang di Youtube menunjukkan hal-hal yang menakjubkan, sesuatu yang lebih canggih, tapi saya menduga orang-orang ini jenius]

Seorang teman merekomendasikan sistem pembelajaran untuk simulasi pemrograman robot. Ia gratis:

RoboMind

Upaya lebih besar seperti ini adalah  Phrogram, dahulu dikenal sebagai Kids Programming Language. KPL memiliki keuntungan besar mengingat ia gratis dan sangat menakjubkan.

Ia datang dengan lusinan contoh program dan bisa melakukan hal yang simpel dan komplek (sebagai contoh, mesin pinball yang sangat bagus adalah salah satu contohnya). Tapi untuk suatu alasan mereka mematikan KPL dan bermetamorfosis menjadi Phrogram. Phrogram seharga $50, dan saya tidak pernah mencobanya, tetapi dengan asumsi bahwa itu adalah paket yang serupa dengan KPL mungkin bermanfaat.

Pada halaman ini, seorang ayah berkata tentang upayanya mengajari pemrograman pada anaknya menggunakan alat yang bernama Greenfoot:

Yang sangat menarik. Dia mampu membuat sesuatu yang canggih dengan nya menggunakan teknik berorientasi objek.

Dalam teknik berorientasi objek yang sama terdapat sistem gratis dari MIT disebut Scratch:

Anak-anak saya bermain dengan ini selama beberapa hari.

Jika anak kamu ingin membuat game, ini salah satu pilihan untuk dicoba:

GameMaker adalah alat yang sangat canggih dengan banyak pilihan.  Terdapat tutorial untuk membantu kamu memulainya. Saya tidak akan menggunakan ini untuk “serangan pertama” mungkin , tapi ini sesuatu yang layak dicoba untuk serangan kedua.

Juga terdapat eBook gratis untuk membuat game menggunakan Python dengan pernyataan “ditulis untuk dipahami oleh anak-anak berumur 10 sampai 12 tahun, meskipun ini bagus buat siapapun pada usia berapapun yang tidak pernah memprogram sebelumnya”:

Seorang teman menyarankan bahwa ini bagus untuk perkenalan.

Yang lain menawarkan untuk mencoba yang ini:

Taglinenya adalah: “Codecademy adalah cara termudah untuk belajar bagaimana membuat kode program secara interaktif, menyenangkan, dan Anda dapat melakukannya dengan teman-teman Anda..”

Pemrograman Yang Sebenarnya – Kelas Java dari Stanford’s

Anakku (sekitar 13 tahun) mulai menggunakan kelas java gratis dari Stanford’s dan dia mendapatkan banyak hal darinya. Kelas ini termasuk YouTube lectures dan class assignments   yang memperkuat konsep dengan diskusi di kelas. Lingkungan pemrograman yang digunakan di kelas disebut Eclipse. Eclipse adalah alat untuk membangun dengan banyak fitur disertai debugger yang hebat dan juga gratis. Ini adalah kelas yang diambil oleh anakku.

Introduction to Computer Science | Programming Methodology

dia juga mengambil kelas ini:

CS106A: Programming Methodologies

Anak kamu membutuhkan sedikit dorongan dari orang tuanya (contoh tenggat waktu) untuk menyelesaikan tugas pertamanya, tetapi dengan seiring waktu menuju tugas pemrograman ke #4 (menulis kode program permainan yang disebut “Breakout”) dia sepenuhnya sibuk dan mengembangkan dasar permainan dengan sejumlah aturan tanpa bertanya pada kami. Saya merasa kelas  ini mengajarkannya dasar-dasar untuk menjadi programmer sebenarnya.

Standford memiliki banyak kelas untuk dieksplorasi –  click for list. Penawaran mereka mewakili sumber daya berharga untuk siapa pun yang ingin belajar pemrograman.

Setelah nyaman dengan Java, sesuatu seperti ini mungkin menarik untuk dicoba – dikombinasikan dari Greenfoot dan Java:

Pemrograman yang sesungguhnya – Pemrograman C dan C++

C dan C++ adalah dua bahasa pemrograman yang paling banyak digunakan di dunia. Terdapat compiler gratis yang siap digunakan dan banyak informasi tutorial bisa ditemukan secara bebas. Ini adalah dua sumber yang bisa membantumu memulainya:

Google adalah temanmu dan bisa membantu menemukan jutaan lainnya.

Belajar menulis aplikasi iPhone dan iPad

Menulis aplikasi untuk iPhone dan iPad bukan untuk pemula, tetapi siswa sekolah menengah dan atas bisa menguasai jika mereka memiliki ketrampilan pemrograman. Dan audien untuk aplikasi ini besar sekali melalui App Store yang dioperasikan Apple. Ini langkah yang kamu butuhkan jika kamu ingin memulainya:

Google bisa membantumu menjawab berbagai pertanyaan atau masalah yang kamu temui saat mempelajarinya.

BASIC Stamp

BASIC StampSaya benar-benar memiliki sedikit keberuntungan saat berumur 10 tahun telah terlibat dalam pemrograman menggunakan alat yang disebut BASIC Stamp. Jadi saya akan manghabiskan sedikit waktu disini untuk menceritakannya. Ia tidak murah, tapi memiliki tiga hal yang bisa dilakukan dengannya:

  1. Ia menggabungkan pemrograman dengan elektronika sederhana.
  2. Pemrograman yang dilakukan cenderung sangat sederhana
  3. Kamu bisa melakukan hal nyata dengannya, atau setidaknya sesuatu yang tampaknya lebih nyata ()You can do real things with it, or at least things that seem realer (untuk anak-anak saya) daripada Mindstorms.

Kami pertama kali diperkenalkan dengan BASIC Stamp ketika kami menemukan perangkat ini di Radio Shack seharaga $90:

Apa itu Kit Microcontroller BASIC Stamp

Kamu juga bisa memesan disini:

BASIC Stamp Activity Kit

Peringatan besar adalah bahwa Anda harus memiliki komputer dengan port serial untuk menggunakannya. Jika Anda tidak memiliki komputer seperti ini (kebanyakan komputer yang dibuat sejak tahun 2005 tidak memiliki port serial), maka Anda perlu versi USB kit seharga $160:

BASIC Stamp Discovery Kit – Serial (With USB Adapter and Cable)

Dan jika Anda akan melakukan itu, saya mungkin menyarankan Anda mempertimbangkan robot kit ini sebagai gantinya, karena harganya sama:

Boe-Bot Robot Kit – Versi USB

Jadi, sudah, Anda dapat melihat bahwa BASIC Stamp tidak sederhana atau murah. Kami khawatir tentang jenis port serial dan kit yang mana harus didapatkan. Dan jika hanya itu pilihan anda, pilih itu.

Tapi kami membeli kit di Radio Shack, dan kami memiliki mesin yang lebih tua dengan port serial, dan kami mendapatkannya mengatur dan melakukan semua pekerjaan dan … di sini adalah apa yang menakjubkan tentang hal itu. Anak saya bisa duduk dengan buku, dengan dirinya sendiri, dan sendiri dia bisa memasang sebuah sirkuit kecil dan menulis potongan-potongan kecil kode dan mendapatkan semuanya bekerja. Program dan elektronik cukup mudah agar anak 10 tahun dapat mengelolanya. Hal ini memang hal-hal sederhana, seperti kabel sampai sebuah tombol dan setelah itu membuat LED berkedip, atau membuat motor servo giliran atau membuat suara keluar dari speaker. Tapi gagasan bahwa anak saya (yang membenci membaca untuk sebagian besar) bisa mendapatkan barang-barang ini bekerja sangat mengesankan. Dan kemudian dia bisa memikirkan pengembangan sendiri. Pengembangan sepele, ya, seperti membuat dua LED berkedip, tetapi itu sebuah pengembangan.

Yang menyenangkan tentang pendekatan ini adalah bahwa Anda dapat membeli karya lain di Parallax.com dan mereka cukup mudah untuk dihubungkan . Salah satu hal pertama yang kita beli adalah modul PIR ($10 ) , yang merupakan jenis yang Anda gunakan dalam alarm pencuri atau cahaya otomatis untuk merasakan hangat tubuh manusia. Kami juga membeli sedikit panel LCD text ($25 ) . Dan dia membangun sebuah perangkat yang bisa menghitung orang-orang saat mereka berjalan melewatinya. Jika Anda memiliki keluarga dengan enam orang , berapa kali mereka menggunakan tangga di rumah? Berapa kali mereka membuka kulkas? Dengan perangkat ini Anda bisa mencari tahu. ( Kulkas sesuatu yang lucu – ia dibuka sekitar 50 kali sehari ! )

Hal berikutnya adalah sensor ultrasonik ($30). Dengan itu dan layar LCD Anda dapat membangun pita pengukur ultrasonik kecil. Mereka memiliki banyak sensor kecil seperti ini yang dapat Anda coba . Kami telah menggunakan accelerometer , termometer , tag RFID reader , dll

Petualangan terbarunya adalah dengan modul GPS ($90) dan USB memory stick reader/writer ($35) , yang digunakan dalam proyek ilmu pengetahuan. Dengan USB memory stick, Anda bisa memasang USB memory stick ( AKA ” thumb drive ” ) kemudian membaca dan menulis file. Sehingga Anda dapat membuat file teks dan mulai dumping data. Kemudian Anda dapat menghubungkan GPS, biarkan mengumpulkan data dan menyimpan data ke dalam memory stick. Dengan itu Anda dapat membuat remah roti ke jalur mana pun Anda pergi. Anda kemudian dapat memasang memory stick ke port USB laptop Anda , memuat data ke dalam spreadsheet dan membuat grafiknya….

GPS Scatter Plot…or you can Taruh data ke google maps seperti dijelaskan disini:

Memetakan Koordinat GPS menggunakan Google Maps

Ternyata, GPS Parallax bukan yang terbaik. Ketika kami pertama kali memasangnya, itu tidak akan pernah mendapatkan kunci pada satelit. Setelah satu jam memeriksa di Google, kami menemukan bahwa Anda harus me-mount GPS sekitar 10 inci dari Stamp (karena kebisingan listrik yang dihasilkan oleh Stamp). Ini akan menjadi indah jika fakta ini telah terungkap dalam dokumentasi Parallax. Tetapi bahkan setelah Anda melakukan itu, perangkat ini bisa mengalami kesulitan mendapatkan kunci kadang-kadang (kita tidak bekerja sama sekali dalam cuaca hujan, misalnya). Ia tidak bekerja di dalam mobil jika Anda meletakkannya di dashboard, tetapi bukan dari interior. [Semua masalah ini akhirnya membawa kita ke sebuah situs yang disebut Sparkfun.com, yang memiliki pilihan yang jauh lebih baik dari modul GPS yang sedikit kurang mudah digunakan.]

Hal ini juga menyebabkan kami mencari bahan di web tentang BASIC Stamp. Ada banyak itu. Misalnya, ada orang-orang membangun pilot otomatis dari Basic Stamps:

Anda dapat menemukan semua jenis hal-hal seperti itu. Kemudian Anda menemukan bahwa ada banyak platform lain yang lebih maju daripada Stamp, seperti misalnya Arduino, TeensyMicrochip PICkit ( lihat buku ini dan juga buku ini),Gumstix, dll

Kesimpulan

Intinya adalah, jika Anda ingin memperkenalkan anak-anak Anda pada pemrograman, ada banyak cara yang berbeda untuk melakukannya. Jika Anda ingin pergi ke jalan ini, Google adalah teman Anda. Sungguh menakjubkan betapa banyak hal di luar sana. Hanya mulai mencari, mencoba hal yang berbeda dengan anak-anak Anda, dan melihat apa yang bekerja untuk Anda. Hal ini dapat sangat menyenangkan.

diterjemahkan secara bebas dari http://marshallbrain.com/kids-programming.htm

Categories: Tips & Trik | Tinggalkan komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 7 { Modul Turtles dan Kanvas }

2.4. Menggambar dengan Turtles

Turtle (Kura-kura) di Python adalah semacam kura-kura di dunia nyata. Kita tahu kura-kura sebagai reptil yang bergerak di sekitar dengan sangat lambat dan membawa rumah di punggungnya. Dalam dunia Python, kura-kura adalah panah hitam kecil,  yang bergerak perlahan-lahan di sekitar layar. Sebenarnya, mengingat bahwa kura-kura Python meninggalkan jejak ketika bergerak di sekitar layar, itu sebenarnya kurang mirip dengan kura-kura dan lebih seperti siput.

Turtle merupakan cara yang baik untuk mempelajari beberapa dasar-dasar komputer grafis, maka dalam bab ini, kita akan menggunakan turtle Python untuk menarik beberapa bentuk grafis dan garis sederhana.

Menggunakan modul turtle pada Python

Sebuah modul dalam Python adalah cara memberikan kode yang berguna untuk digunakan kembali oleh program lain (antara lain, modul dapat berisi fungsi yang bisa kita gunakan). Kita akan belajar lebih banyak tentang modul dalam Bab 7. Python memiliki modul khusus yang disebut turtle yang bisa kita gunakan untuk belajar bagaimana komputer menggambar di layar. Modul turtle adalah cara untuk memprogram gambar vektor, yang pada dasarnya hanya menggambar dengan garis-garis sederhana, titik, dan kurva.

Fig 2.4.1. modul turtle pythonMari kita lihat bagaimana turtle bekerja. Pertama buka shell Python dengan mengeklik ikonnya di desktop (atau jika kamu menggunakan Ubuntu, pilih Applications > Programming > IDLE). Kemudian beritahu Python untuk menggunakan turtle dengan mengimport modul turtle, seperti berikut ini :

>>> import turtle

Mengimpor sebuah modul memberitahu Python bahwa kamu ingin menggunakannya.

Catatan :

Jika kamu menggunakan Ubuntu dan kamu mendapatkan error pada saat ini, kamu mungkin perlu untuk menginstall tkinter. Untuk melakukannya, buka Ubuntu Software Center dan ketik python-tk dalam box pencarian. “Tkinter – Writing TK Applications with Python” seharusnya tampil di window. Klik Install untuk menginstal paket ini.

Membuat sebuah Kanvas

Sekarang kita telah mengimpor modul turtle, kita harus membuat sebuah kanvas — Ruang kosong untuk menggambar, seperti kanvas seorang seniman. Untuk melakukkannya, kita memanggil fungsi Pen dari modul turtle, yang secara otomatis membuat sebuah kanvas. Masukkan ini ke shell Pyhton :

>>> t = turtle.Pen()

Kamu seharusnya akan melihat kotak kosong (kanvas), dengan anak panah di tengah, seperti ini :

Fig 2.4.2. kanvas pada turtle python

Anak panah di tengah layar adalah turtle (kura-kura), dan kamu benar — ia tidak mirip kura-kura. Jika jendela Turtle tampil dibelakan jendela shell Python, kamu akan menemukan tampaknya ia tidak akan bekerja dengan benar. Ketika kamu meletakkan kursor mouse di atas jendela Turtle, kursor itu akan berubah menjadi jam pasir seperti ini :

Fig 2.4.3. kanvas pada turtle python tidak bekerja dengan benar

Ini bisa terjadi kareana beberapa alasan: kamu tidak memulai shell dari icon di desktop (Jika kamu menggunakan Windows atau Mac), kamu mengeklik IDLE (GUI Python) di start menu windows, atau IDLE tidak terinstal dengan benar. Cobalah untuk keluar dan merestart shell dari ikon pada desktop. Jika itu juga gagal, cobalah gunakan consol Python dari pada menggunakan shell, seperti berikut ini:

  • Di Windows, pilih Start > All Programs, dan dalam group Python 3.2, klik Python (command line).
  • Di Mac OS X, klik ikon Spotlight pada pojok kanan atas di layar dan masukkan Terminal di kotak input. Kemudian masukkan python ketika terminal telah terbuka.
  • Di Ubuntu, buka terminal dari menu Applications kamu dan masukkan python.

Menggerakkan Kura-Kura (Turtle)

Kamu mengirim instruksi ke turtle dengan menggunakan fungsi yang tersedia pada variabel t yang baru saja kita buat, sama seperti menggunakan fungsi pen di modul turtle. Sebagai contoh instruksi forward memberitahu turtle untuk maju kedepan. Untuk memberitahu turtle agar maju sejauh 50 pixel, masukkan perintah berikut :

Fig 2.4.4. moving turtle

t.forward(50)

Kamu seharusnya melihat sesuatu seperti ini :

Fig 2.4.5. moving turtle execution

Kura-kura telah maju sejauh 50 piksel. Piksel adalah satu titik di layar – elemen terkecil yang bisa ditampilkan. Segala sesuatu yang kamu lihat di monitor terbuat dari piksel, titik segiempat yang sangat kecil. Jika kamu bisa memperbesarnya di kanvas dan garis yang digambar oleh kura-kura, kamu akan bisa melihat anak panah yang mewakili perjalanan kura-kura adalah sekelompok piksel. Itu adalah grafis komputer sederhana.

Fig 2.4.6. turtle piksel

Sekarang kita akan memberitahu kura-kura untuk berbelok ke kiri 90 derajat dengan perintah berikut:

t.left(90)

Jika kamu belum belajar tentang derajat, ini adalah bagaimana memahami tentang mereka. Bayangkan kamu sedang berdiri di tengah sebuah lingkaran.

  • arah kamu menghadap adalah 0 derajat.
  • jika kamu mengulurkan tangan kiri kamu, itu adalah 90 derajat ke kiri.
  • jika kamu mengulurkan tangan kanan kamu, itu adalah 90 derajat ke kanan.

Kamu bisa melihat 90 derajat ini berputar ke kiri atau ke kanan disini:

Fig 2.4.7.putaran 90 derajat

Jika kamu terus mengelilingi lingkaran ke kanan dari mana lengan kanan menunjuk, 180 derajat adalah tepat di belakang Anda, 270 derajat adalah arah lengan kiri menunjuk, dan 360 derajat kembali di mana Anda mulai, derajat pergi dari 0-360. Derajat dalam lingkaran penuh, saat memutar ke kanan, dapat dilihat di sini secara bertahap 45 derajat:

Fig 2.4.8.derajat dalam kelipatan 45 derajat

Ketika kura-kura Python berbelok ke kiri, ia memutar ke arah yang baru (sama seperti jika Anda berbalik arah ke arah lengan kamu yang menunjuk 90 derajat ke kiri).

Perintah t.left (90)  membuat anak panah menunjuk ke atas (sejak anak panah itu dimulai dengan menunjuk ke kanan):

Fig 2.4.9.memutar 90 derajat ke kanan

Catatan:

Ketika kamu memanggil t.left (90), itu sama seperti memanggil t.right (270). Hal ini juga berlaku untuk memanggil t.right (90), yang sama dengan t.left (270). Bayangkan saja lingkaran itu dan ikuti bersama dengan derajat.

Sekarang kita akan menggambar persegi. Tambahkan kode berikut ke baris yang telah kamu ketikkan:

>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)

Kura-kura kamu seharusnya menggambar persegi dan sekarang harus menghadap ke arah yang sama ketika itu dimulai:

Fig 2.4.10.menggambar persegi dengan turtle

Untuk menghapus kanvas, masukkan reset. Ini membersihkan kanvas dan menempatkan kura-kura kembali pada posisi awal.

>>> t.reset()

Kamu juga bisa menggunakan clear, yang hanya membersihkan layar dan membiarkan kura-kura tetap pada posisi terakhirnya.

>>> t.clear()

Kita juga dapat membuat kura-kura memutar ke kanan atau bergerak ke belakang. Kita dapat menggunakan up untuk mengangkat pena dari halaman (dengan kata lain, memberitahu kura-kura untuk berhenti menggambar), dan down untuk memulai menggambar lagi. Fungsi-fungsi ini ditulis dengan cara yang sama seperti yang lain yang telah kita gunakan.

Mari kita coba menggambar lainnya menggunakan beberapa perintah ini. Kali ini, kita akan meminta kura-kura menggambar dua garis. Masukkan kode berikut:

>>> t.reset()
>>> t.backward(100)
>>> t.up()
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.down()
>>> t.forward(100)

Pertama, kita menghapus ulang kanvas dan memindahkan kura-kura kembali ke posisi awal dengan t.reset(). Selanjutnya, kita meminta kura-kura bergerak mundur 100 piksel dengan t.backward (100), dan kemudian menggunakan t.up() untuk mengambil pena dan berhenti menggambar.

Fig 2.4.11.menarik pena kura-kura keatas

Kemudian, dengan perintah t.right(90), kita memutar kura-kura ke kanan 90 derajat untuk menunjuk ke bawah, ke arah bawah layar, dan dengan t.forward (20), kita bergerak maju 20 piksel. Tidak ada yang ditarik karena penggunaan perintah pada baris ketiga. Kami memutar ke kiri 90 derajat untuk menghadap ke kanan dengan perintah t.left (90), dan kemudian dengan perintah down, kami memberitahu kura-kura untuk menempatkan pena kembali dan mulai menggambar lagi. Akhirnya, kita menarik garis ke depan, sejajar dengan baris pertama yang kita buat, dengan t.forward (100). Dua garis paralel telah kita buat akhir tampak seperti ini:

Fig 2.4.12.menggambar 2 garis sejajar dengan turtle

Apa Yang Telah Kamu Pelajari

Dalam bab ini, kamu belajar bagaimana menggunakan modul turtle Python. Kami menggambar beberapa garis sederhana, menggunakan secara bergantian perintah left dan right dan forward dan backward. Anda menemukan cara untuk menghentikan penyu dari gambar menggunakan up, dan mulai menggambar lagi dengan down. Anda juga menemukan bahwa kura-kura memutar menurut derajat putaran.

Teka-teki Pemrograman

Cobalah menggambah beberapa dari bentuk berikut ini dengan turtle.

#1. Persegi Panjang

Buat kanvas baru menggunakan fungsi Pen dari modul turtle dan kemudian menggambar persegi panjang.

#2. Segitiga

Buat kanvas lain, dan kali ini, menggambar segitiga. Lihat kembali diagram lingkaran dengan derajat  untuk mengingatkan diri sendiri ke arah mana kura-kura harus memutar menggunakan derajat.

#3.  Kotak tanpa sudut

Menulis sebuah program untuk menggambar empat baris yang ditampilkan di sini (ukuran tidak penting, hanya bentuk):

Fig 2.4.13.menggambar kotak tanpa sudut dengan turtle

Categories: Pemrograman Komputer, Python | Tag: | 1 Komentar

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 6 { Quiz : String, list, tuple, dan map }

Dibawah ini adalah beberapa percobaan yang bisa kamu coba sendiri.

#1. Favorit

Buatlah daftar hobi favorit Anda dan memberikan list/daftar dalam nama variabel game. Sekarang buat list/daftar makanan favorit Anda dan beri nama variabelnya dengan makanan. Gabungkan dua list tersebut dan simpan hasilnya dalam variabel favorit. Akhirnya, cetak variabel favorit.

#2. Menghitung Pejuang

Jika ada 3 bangunan dengan 25 ninja yang bersembunyi di setiap atap dan 2 terowongan dengan 40 samurai bersembunyi di dalam setiap terowongan, berapa banyak ninja dan samurai di sekitar tempat tersebut yang akan melakukan pertempuran? (Anda dapat melakukan ini dengan satu persamaan di shell Python.)

#3. Ucapan Selamat Datang

Buat dua variabel: satu yang menunjuk ke nama pertama Anda dan satu yang menunjuk ke nama belakang Anda. Sekarang buat string dan gunakan penampung untuk mencetak nama Anda dengan pesan menggunakan dua variabel, seperti “Halo, Dina Mariana!”

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

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 5 { Tuple dan Map }

Tuple

Tuple mirip dengan sebuah list yang menggunakan tanda kurung (), seperti contoh dibawah ini:

>>> fibs = (0, 1, 1, 2, 3)
>>> print(fibs[3])
2

diatas kita mendefinisikan variabel fibs yang berisi angka 0,1,1,2 dan 3. Kemudian seperti sebuah list, kita mencetak item pada posisi index ke 3 dalam tuple menggunakan print(fibs[3]).

Perbedaan utama antara list dan tuple adalah sekali kamu membuat tuple, kamu tidak dapat mengubah isinya lagi. Sebagai contoh, jika kita mencoba untuk menggati nilai pertama dari tuple fibs dengan angka 4, kita akan mendapatkan pesan error.

>>> fibs[0] = 4
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    fibs[0] = 4
TypeError: 'tuple' object does not support item assignment

Mengapa kamu harus menggunakan tuple daripada list? Pada dasarnya karena akan sangat berguna jika menggunakan sesuatu yang kamu tahu tidak akan pernah berubah. Jika kamu membuat sebuah tuple dengan dua elemen di dalamnya, akan selalu ada dua elemen itu di dalamnya.

Maps pada Python tidak Akan Membantu Anda Menemukan Jalan

Dalam Python, sebuah map (juga disebut sebuah dict, kependekan dari dictionary) adalah kumpulan sesuatu, seperti list dan tuple. Perbedaan antara maps dan lists atau tuples adalah dalam map setiap item memiliki sebuah key yang terhubung dengan sebuah value/nilai.

Sebagai contoh, katakanlah kita punya daftar orang dan olah raga favorit mereka. Kita bisa menaruh informasi ini dalam list python, dengan nama orang diikuti olah raga favorit mereka, seperti :

>>> favorite_sports = ['Ralph Williams, Football',
                   'Michael Tippett, Basketball',
                   'Edward Elgar, Baseball',
                   'Rebecca Clarke, Netball',
                   'Ethel Smyth, Badminton',
                   'Frank Bridge, Rugby']

Jika saya bertanya padamu apa olah raga favorit Rebecca Clarke, kamu dapat mencarinya dengan melihat list tersebut dan menemukan jawabannya adalah netball. Tapi bagaimana jika list berisi 100 (atau lebih) orang?

Fig 2.3.10. maps pythonSekarang jika ketika kita menyimpan informasi yang sama di map, dengan nama orang sebagai key dan olah raga favoritnya sebagai nilainya, kode pythonnya akan tampak seperti berikut ini :

>>> favorite_sports = {'Ralph Williams' : 'Football',
                   'Michael Tippett' : 'Basketball',
                   'Edward Elgar' : 'Baseball',
                   'Rebecca Clarke' : 'Netball',
                   'Ethel Smyth' : 'Badminton',
                   'Frank Bridge' : 'Rugby'}

Kita menggunakan titik dua (:) untuk memisahkan kunci/key dari nilai/value nya, dan tiap kunci dan nilai dikelilingi tanda petik tunggal. Perhatikan, juga, item-item dalam map tertutup oleh tanda kurung kurawal ({}), bukan tanda kurung atau braket persegi ([ ]).

Hasilnya adalah sebuah map (setiap kunci memetakan nilai tertentu), seperti dalam tabel 3.1 dibawah ini.

Fig 2.3.11. Tabel maps olah raga favorit tiap orangSekarang untuk mendapatkan olah raga favorit Rebecca Clarke, kita mengakses map favorite_sport menggunakan namanya sebagai kunci, seperti :

>>> print(favorite_sports['Rebecca Clarke'])
Netball

Dan jawabannya adalah netball. Untuk menghapus nilai dari dalam mapm gunakan kuncinya. Sebagai contoh, Disini adalah bagaiman menghapus Ethel Smyth:

>>> del favorite_sports['Ethel Smyth']
>>> print(favorite_sports)
{'Rebecca Clarke': 'Netball', 'Michael Tippett': 'Basketball', 'Ralph
 Williams': 'Football', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}

Untuk mengganti nilai dalam map, kita juga menggunakan kuncinya :

>>> favorite_sports['Ralph Williams'] = 'Ice Hockey'
>>> print(favorite_sports)
{'Rebecca Clarke': 'Netball', 'Michael Tippett': 'Basketball', 'Ralph
 Williams': 'Ice Hockey', 'Edward Elgar': 'Baseball', 'Frank Bridge': 'Rugby'}

Kita mengganti olah raga favorit Footbal dengan Ice Hockey dengan menggunakan kunci Ralph Williams.

Seperti yang kamu lihat, bekerja dengan map seperti bekerja dengan list dan tuple, kecuali kamu tidak bisa menggabungkan map dengan tanda operator  plus (+). Jika kamu mencoba untuk melakukannya, kamu akan mendapatkan pesan error :

>>> favorite_sports = {'Rebecca Clarke': 'Netball',
                   'Michael Tippett': 'Basketball',
                   'Ralph Williams': 'Ice Hockey',
                   'Edward Elgar': 'Baseball',
                   'Frank Bridge': 'Rugby'}
>>> favorite_colors = {'Malcolm Warner' : 'Pink polka dots',
                   'James Baxter' : 'Orange stripes',
                   'Sue Lee' : 'Purple paisley'}
>>> favorite_sports + favorite_colors
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

Apa Yang Telah Kamu Pelajari

Dalam bab ini, Anda belajar bagaimana menggunakan string Python untuk menyimpan teks, dan bagaimana menggunakan list dan tuple untuk menangani beberapa item. Anda melihat bahwa item dalam list dapat diubah, dan Anda dapat menggabungkan salah satu list dengan list yang lain, tetapi nilai-nilai dalam sebuah tuple tidak bisa berubah. Anda juga belajar bagaimana menggunakan map untuk menyimpan nilai dengan kunci yang mengidentifikasi mereka.

 

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

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 4 { Lists }

Lists Lebih Powerful Daripada String

“Kaki laba-laba, kaki katak, mata kadal, sayap kelelawar, mentega siput, dan ketombe ular” tidak cukup daftar belanja normal (kecuali jika Anda kebetulan menjadi penyihir), tapi kami akan menggunakannya sebagai contoh pertama kami mengenai perbedaan antara string dan list.

Fig 2.3.7.gambar penyihirKita bisa menyimpan daftar item ini dalam variabel wizard_list menggunakan string seperti dibawah ini :

>>> wizard_list = 'spider legs, toe of
 frog, eye of newt, bat wing, slug butter, snake dandruff'
>>> print(wizard_list)
spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff

Tapi kita juga bisa membuat daftar, semacam objek Python ajaib yang dapat kita manipulasi. Inilah item ini akan terlihat ketika ditulis sebagai list:

>>> wizard_list = ['spider legs', 'toe of frog', 'eye of newt',
               'bat wing', 'slug butter', 'snake dandruff']
>>> print(wizard_list)
['spider legs', 'toe of frog', 'eye of newt', 'bat wing', 'slug butter',
 'snake dandruff']

Membuat list membuat kita mengetik sedikit lebih banyak dari pada saat membuat string, tetapi list lebih berguna daripada string karena ia bisa dimanipulasi. Sebagai contoh, kita bisa mencetak item ketiga dalam wizard_list (eye of newt) dengan mengetikkan posisinya di dalam list (called the index position) didalam square brackets ([]), seperti ini :

>>> print(wizard_list[2])
eye of newt

Hah? Bukankah item ketiga dalam list? Ya, tapi list mulai dari posisi indeks 0, sehingga item pertama dalam daftar adalah 0, yang kedua adalah 1, dan yang ketiga adalah 2. Yang mungkin tidak membuat banyak arti untuk manusia, tetapi tidak untuk komputer.

Kita juga dapat mengubah item dalam daftar jauh lebih mudah daripada yang kita bisa dalam sebuah string. Mungkin bukan mata kadal tapi kami membutuhkan lidah siput. Berikut adalah bagaimana kita akan melakukannya dengan daftar:

>>> wizard_list[2] = 'snail tongue'
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff']

Ini mengatur item dalam posisi indeks 2, sebelumnya mata kadal (eye of newt), menjadi lidah siput (snail tongue).

Pilihan lain adalah untuk menunjukkan subset dari item dalam daftar. Kami melakukan ini dengan menggunakan titik dua (:) di dalam brackets persegi. Misalnya, masukkan berikut ini untuk melihat item ketiga sampai kelima dalam daftar (satu set brilian untuk bahan sandwich):

Fig 2.3.8.Mata kelelawar

>>> print(wizard_list[2:5])
['snail tongue', 'bat wing', 'slug butter']

Menulis [2:5] sama seperti mengatakan, “Tunjukkan item dari posisi index 2 sampai (tapi tidak termasuk) index 5” – atau dalam kata lain, item ke 2, 3, dan 4.

List juga bisa digunakan untuk menyimpan beberapa item, seperti angka :

>>> some_numbers = [1, 2, 5, 10, 20]

mereka juga bisa menangani kumpulan string:

>>> some_strings = ['Which', 'Witch', 'Is', 'Which']

Juga bisa gabungan dari string dan angka:

>>> numbers_and_strings = ['Why', 'was', 6, 'afraid', 'of', 7,
'because', 7, 8, 9]
>>> print(numbers_and_strings)
['Why', 'was', 6, 'afraid', 'of', 7, 'because', 7, 8, 9]

Bahkan List juga dapat menyimpan List lainnya :

>>> numbers = [1, 2, 3, 4]
>>> strings = ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']
>>> mylist = [numbers, strings]
>>> print(mylist)
[[1, 2, 3, 4], ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']]

Contoh List-dalam-list ini menciptakan tiga variabel: numbers dengan empat angka, strings dengan delapan string, dan mylist menggunakan numbers dan strings. List ketiga (mylist) hanya memiliki dua elemen karena ia berisi nama variabel, bukan isi dari variabel.

Menambahkan Item ke dalam List

Untuk menambahkan item ke dalam list, kita menggunakan fungsi append. Sebuah fungsi adalah potongan kode program yang memberitahu python untuk melakukan sesuatu. Dalam kasus ini, append menambahkan sebuat item ke akhir dari sebuah list.

Sebagai contoh untuk menambahkan sebuah bear burp (Saya yakin ini adalah sesuatu) kedalam daftar belanja wizard_list, untuk melakukannya :

>>> wizard_list.append('bear burp')
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp']

Kamu bisa menambahkan lebih banyak item magis ke dalam wizard_list dengan cara yang sama, seperti ini:

>>> wizard_list.append('mandrake')
>>> wizard_list.append('hemlock')
>>> wizard_list.append('swamp gas')

Sekarang wizard_list akan berisi item seperti ini :

>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Wizard jelas siap digunakan untuk mengerjakan sihir yang serius!

Menghapus Item dari dalam List

Untuk menghapus item dari sebuah list, gunakan perintah del (kependengan dari delete). Sebagai contoh, untuk menghapus item ke enam dari list wizard_list, yaitu snake dandruff, lakukan seperti ini:

>>> del wizard_list[5]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Catatan :

Ingat posisinya dimulai dari nol (0), jadi wizard_list[5] sebenarnya mereferensi item ke enam dalam list

Dan ini adalah cara untuk menghapus item yang baru saja kita tambahkan (mandrake, hemlock, and swamp gas) :

>>> del wizard_list[8]
>>> del wizard_list[7]
>>> del wizard_list[6]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter', 'bear burp']

Operasi Aritmatika pada List

Kita dapat menggabungkan list dengan menambahkan mereka, seperti menambahkan nomor, menggunakan tanda plus (+). Misalnya, kita memiliki dua daftar: List1, berisi angka 1 sampai 4, dan List2, mengandung beberapa kata. Kita dapat menambahkan mereka menggunakan fungsi print dan tanda +, seperti:

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']
>>> print(list1 + list2)
[1, 2, 3, 4, 'I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']

Kita juga bisa menambahkan dua list dan memberikan hasilnya ke dalam variabel lain.

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']
>>> list3 = list1 + list2
>>> print(list3)
[1, 2, 3, 4, 'I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']

Dan kita bisa mengalikan sebuah list dengan angka. Sebagai contoh, mengalikan list1 dengan 5, kita menulis list1 * 5 :

>>> list1 = [1, 2]
>>> print(list1 * 5)
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

Ini sebenarnya mengatakan Python untuk mengulang List1 lima kali, sehingga 1, 2, 1, 2, 1, 2, 1, 2, 1, 2.

Di sisi lain, pembagian (/) dan pengurangan (-) hanya memberikan kesalahan, seperti dalam contoh ini:

>>> list1 / 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 / 20
TypeError: unsupported operand type(s) for /: 'list' and 'int'

>>> list1 - 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 - 20
TypeError: unsupported operand type(s) for -: 'list' and 'int'

Tapi mengapa? Nah, menggabungkan list dengan + dan mengalikan list dengan * adalah operasi yang cukup sederhana. Konsep-konsep ini juga masuk akal di dunia nyata. Sebagai contoh, jika saya harus menyerahkan dua kertas daftar belanja dan berkata, “Tambahkan kedua daftar ini,” Anda mungkin menulis semua item pada lembar kertas lain, dari ujung ke ujung. Hal yang sama mungkin benar jika saya berkata, “Kalikan daftar ini dengan 3.” Anda bisa membayangkan menulis daftar semua item dalam daftar tiga kali pada lembar kertas lain.

Tapi bagaimana Anda akan membagi daftar? Sebagai contoh, mempertimbangkan bagaimana Anda akan membagi daftar enam angka (1 sampai 6) menjadi dua. Berikut adalah tiga cara yang berbeda:
[1,2,3]                         [4,5,6]
[1]                               [2,3,4,5,6]
[1,2,3,4]                     [5,6]

Akankah kami membagi daftarnya di tengah, memotongnya setelah item pertama, atau hanya memilih beberapa tempat acak dan membaginya disana? Tidak ada jawaban yang sederhana, dan ketika Anda meminta Python untuk membagi list/daftar, tidak tahu apa yang harus dilakukan. Itulah mengapa ia merespon dengan kesalahan.

Fig 2.3.9. aritmatika listHal yang sama terjadi jika kamu menambahkan apapun selain sebuah list dengan list lainnya. Kamu tidak bisa melakukannya juga. Sebagai contoh, ini adalah apa yang terjadi ketika kita mencoba menambahkan list1 dengan 50:

>>> list1 + 50
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 + 50
TypeError: can only concatenate list (not "int") to list

Mengapa kita mendapatkan error di sini? Nah, apa artinya untuk menambahkan 50 ke dalam daftar/list? Apakah ini berarti menambah 50 untuk setiap item? Tapi bagaimana jika item tersebut bukan angka? Apakah ini berarti menambahkan angka 50 pada akhir atau awal daftar?

Dalam pemrograman komputer, perintah harus bekerja dengan cara yang persis sama setiap kali Anda memasukkan mereka. Bahwa komputer bodoh melihat setiap hal hanya dalam warna hitam dan putih. Mintalah untuk membuat keputusan yang rumit, dan ia pasti angkat tangan dengan menampilkan kesalahan.

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

Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 3 { Strings }

2.3. Strings, Lists, Tuples, dan Maps

Dalam Bab 2.2, kita melakukan beberapa perhitungan dasar dengan Python, dan Anda belajar tentang variabel. Dalam bab ini, kami akan bekerja dengan beberapa item lain dalam program Python: string, list, tuple, dan map. Anda akan menggunakan string untuk menampilkan pesan dalam program Anda (seperti pesan dalam permainan “Get Ready” dan “Game Over”). Anda juga akan menemukan bagaimana daftar, tuple, dan map yang digunakan untuk menyimpan koleksi sesuatu hal.

Strings

Dalam istilah pemrograman, biasanya kita menyebut teks sebagai string. Ketika Anda memikirkan string sebagai kumpulan huruf, istilah string menjadi masuk akal. Semua huruf, angka, dan simbol dalam buku ini bisa jadi string. Untuk itu, nama Anda bisa jadi string, juga alamat Anda. Bahkan, program Python pertama kita buat di Bab 1 menggunakan string: “Hello World”.

Fig 2.3.1. gorilla

Membuat String

Pada Python, kita membuat sebuah string dengan meletakkan tanda kutip di sekitar teks. Sebagai contoh, kita bisa mengambil variabel fred dan menggunakannya untuk melabeli string, seperti ini:

fred = “Mengapa gorila memiliki lubang hidung besar? Jari besar!!”

Kemudian, untuk melihat apa yang di dalam variabel fred, kita bisa mengetikkan print(fred), seperti ini:

>>> print(fred)
Why do gorillas have big nostrils? Big fingers!!

Anda juga dapat menggunakan tanda kutip tunggal untuk membuat string, seperti ini:

>>> fred = 'What is pink and fluffy? Pink fluff!!'
>>> print(fred)
What is pink and fluffy? Pink fluff!!

Namun, jika Anda mencoba untuk memasukkan lebih dari satu baris teks  string menggunakan tanda kutip tunggal (‘) atau kutip ganda (“) atau jika Anda mulai dengan satu jenis kutipan dan mencoba untuk mengakhiri dengan tanda kutip yang lain, Anda akan mendapatkan pesan kesalahan di shell Python misalnya, masukkan baris berikut:

>>> fred = "How do dinosaurs pay their bills?

Kamu akan melihat hasil seperti ini :

SyntaxError: EOL while scanning string literal

Ini adalah pesan kesalahan yang mengeluhkan tentang sintaksnya karena Anda tidak mengikuti aturan untuk mengakhiri string dengan tanda kutip tunggal atau ganda.

Sintaks berarti penataan dan urutan kata dalam kalimat, atau dalam kasus ini, penataan dan urutan kata-kata dan simbol-simbol dalam sebuah program. Jadi SyntaxError berarti bahwa Anda melakukan sesuatu dalam urutan yang tidak Python harapkan, atau Python mengharapkan sesuatu yang tidak kamu cantumkan. EOL berarti akhir-dari-line, sehingga sisa dari pesan kesalahan memberitahu pada Anda bahwa Python telah mencapai akhir baris dan tidak menemukan kutipan ganda untuk menutup string.

Untuk menggunakan lebih dari satu baris teks dalam string Anda (disebut string multiline), gunakan tiga tanda kutip tunggal (”’), dan kemudian tekan enter antara barisnya, seperti ini:

>>> fred = '''How do dinosaurs pay their bills?
With tyrannosaurus checks!'''

Sekarang mari kita mencetak isi fred untuk melihat apakah ini bekerja:

>>> print(fred)
How do dinosaurs pay their bills?
With tyrannosaurus checks!

Menangani Masalah pada String

Sekarang perhatikan contoh string berikut ini, yang menyebabkan Python untuk menampilkan pesan error:

>>> silly_string = 'He said, "Aren't can't shouldn't wouldn't."'
SyntaxError: invalid syntax

Pada baris pertama, kami mencoba untuk membuat sebuah string (didefinisikan pada variabel silly_string) diapit oleh tanda kutip tunggal, tetapi juga mengandung campuran tanda kutip tunggal dalam can`t, shouldn`t, dan wouldn`t, serta tanda kutip ganda. Berantakan!

Ingat bahwa Python sendiri tidak secerdas manusia, sehingga python melihat semua itu sebagai string yang berisi He said, “Aren, diikuti oleh sekelompok karakter lain yang tidak diharapkan. Ketika Python melihat tanda kutip (baik tunggal atau ganda kutipan), mereka mengharapkan string untuk mulai mengikuti tanda pertama dan string diakhiri setelah tanda kutip yang cocok berikutnya (baik tunggal atau ganda) pada baris tersebut. Dalam hal ini, awal string adalah kutip tunggal menandai sebelum He, dan akhir dari string, sejauh pengetahuan Python, adalah single quote setelah n di Aren. IDLE menyoroti titik di mana terjadi hal-hal yang tidak beres:

Fig 2.3.2. invalid sintaks pada stringBaris terakhir IDLE memberitahu kita  jenis kesalahan apa yang terjadi-dalam hal ini, kesalahan sintaks.

Menggunakan tanda kutip ganda bukannya tanda kutip tunggal masih menghasilkan error:

>>> silly_string = "He said, "Aren't can't shouldn't wouldn't.""
SyntaxError: invalid syntax

Di sini, Python melihat string dibatasi oleh tanda kutip ganda, yang mengandung huruf He Said, (dan spasi). Semuanya setelah string tersebut (dari Aren’t) menyebabkan kesalahan:

Fig 2.3.3. invalid sintaks pada string 2

Ini karena, dari perspektif Python, semua hal ekstra hanya tidak seharusnya berada di sana. Python mencari kutipan yang cocok berikutnya dan tidak tahu apa yang ingin Anda lakukan dengan apa pun yang diikuti tanda kutip itu pada baris yang sama.

Solusi untuk masalah ini adalah string multiline, yang kita pelajari sebelumnya, menggunakan tiga tanda kutip tunggal (”’), yang memungkinkan kita untuk menggabungkan tanda kutip ganda dan tunggal dalam string kami tanpa menyebabkan kesalahan. Bahkan, jika kita menggunakan tiga tanda kutip tunggal, kita dapat menempatkan setiap kombinasi tanda kutip tunggal dan ganda dalam string (selama kita tidak mencoba untuk menempatkan tiga tanda kutip tunggal di sana). Ini adalah versi string kita yang bebas dari kesalahan :

Fig 2.3.4. menangani kesalahan pada string

silly_string = '''He said, "Aren't can't shouldn't wouldn't."'''

Tapi tunggu, masih ada lagi. Jika Anda benar-benar ingin menggunakan tanda kutip tunggal atau ganda untuk mengelilingi string di Python, bukannya tiga tanda kutip tunggal, Anda dapat menambahkan backslash (\) sebelum setiap tanda kutip dalam string. Ini disebut escaping. Ini adalah cara untuk mengatakan ke Python, “Ya, saya tahu saya memiliki kutipan dalam string saya, dan saya ingin Anda mengabaikan mereka sampai Anda melihat akhir kutipan.”

Escaping string dapat membuat mereka sulit untuk dibaca, jadi mungkin lebih baik menggunakan string multiline. Namun, Anda mungkin akan menemukan potongan kode yang menggunakan escaping, jadi ada baiknya untuk mengetahui mengapa backslashes ada.

Berikut adalah beberapa contoh bagaimana escaping bekerja:

>>> single_quote_str = 'He said, "Aren\'t can\'t shouldn\'t wouldn\'t."'
>>> double_quote_str = "He said, \"Aren't can't shouldn't wouldn't.\""
>>> print(single_quote_str)
He said, "Aren't can't shouldn't wouldn't."
>>> print(double_quote_str)
He said, "Aren't can't shouldn't wouldn't."

Menyisipkan nilai ke dalam String

Jika Anda ingin menampilkan pesan menggunakan isi dari variabel, kamu dapat menyisipkan nilainya dalam string menggunakan %s, yang berfungsi sebagai penanda untuk menampilkan nilai yang ingin  kamu tambahkan nanti. Sebagai contoh, agar Python menghitung atau menyimpan jumlah poin yang kamu dapatkan dalam sebuah game, dan kemudian menambahkannya ke kalimat seperti “Saya mendapat %s poin, ” gunakan %s dalam kalimat di tempat poin, dan kemudian memberitahu Python nilainya, seperti ini:

>>> myscore = 1000
>>> message = 'I scored %s points'
>>> print(message % myscore)
I scored 1000 points

Di sini, kita membuat variabel myscore  dengan nilai 1000 dan variabel message  dengan string yang berisi kata-kata “I scored %s points” di mana %s adalah sebuah tempat untuk jumlah poin. Pada baris berikutnya, kita memanggil print(message) dengan simbol % untuk memberitahu Python untuk menggantikan %s dengan nilai yang tersimpan dalam variabel myscore. Hasilnya adalah  mencetak pesan ini : I scored 1000 points. Kita tidak perlu menggunakan variabel untuk mendapatkan nilainya. Kita bisa melakukan contoh yang sama dengan hanya menggunakan print(message % 1000).

Kita juga dapat melewatkan nilai yang berbeda untuk placeholder %s, menggunakan variabel yang berbeda, seperti dalam contoh ini:

>>> joke_text = '%s: a device for finding furniture in the dark'
>>> bodypart1 = 'Knee'
>>> bodypart2 = 'Shin'
>>> print(joke_text % bodypart1)
Knee: a device for finding furniture in the dark
>>> print(joke_text % bodypart2)
Shin: a device for finding furniture in the dark

Di sini, kita membuat tiga variabel. Yang pertama, joke_text, termasuk string dengan penanda  %s. Variabel lainnya adalah bodypart1 dan bodypart2. Kita dapat mencetak variabel joke_text, dan sekali lagi menggunakan operator % untuk menggantinya dengan isi dari variabel bodypart1 dan bodypart2 untuk menghasilkan pesan yang berbeda.

Fig 2.3.5. Menyisipkan nilai dalam stringAnda juga dapat menggunakan lebih dari satu placeholder dalam sebuah string, seperti ini:

>>> nums = 'What did the number %s say to the number %s? Nice belt!!'
>>> print(nums % (0, 8))
What did the number 0 say to the number 8? Nice belt!!

Bila menggunakan lebih dari satu placeholder, pastikan untuk membungkus nilai-nilai pengganti dalam kurung, seperti yang ditunjukkan dalam contoh. Urutan nilai adalah urutan di mana mereka akan digunakan dalam string.

Menggandakan String

Apa hasilnya 10 dikalikan dengan 5? Jawabannya adalah 50, tentu saja. Tapi apa hasilnya 10 dikalikan dengan a ? Berikut jawabannya Python:

>>> print(10 * 'a')
aaaaaaaaaa

Python programmer mungkin menggunakan pendekatan ini untuk memperderetkan string dengan jumlah tertentu ketika menampilkan pesan di shell, misalnya. Bagaimana mencetak huruf di shell (pilih File ▸ New Window, dan masukkan kode berikut):

spaces = ' ' * 25
print('%s 12 Butts Wynd' % spaces)
print('%s Twinklebottom Heath' % spaces)
print('%s West Snoring' % spaces)
print()
print()
print('Dear Sir')
print()
print('I wish to report that tiles are missing from the')
print('outside toilet roof.')
print('I think it was bad wind the other night that blew them away.')
print()
print('Regards')
print('Malcolm Dithering')

Setelah Anda mengetik kode tersebut ke jendela shell, pilih File ▸ Save As. Beri nama file Anda dengan myletter.py.

Catatan :

Mulai sekarang, ketika Anda melihat Save As: somefilename.py atas serangkaian kode program, Anda sudah tahu bahwa Anda perlu untuk memilih File ▸ New Window, masukkan kode ke jendela yang muncul, dan kemudian menyimpannya seperti yang kita lakukan dalam contoh diatas.

Pada baris pertama dari contoh ini, kita menciptakan ruang variabel dengan mengalikan karakter spasi sebesar 25. Kami kemudian menggunakan variabel yang dalam tiga baris berikutnya untuk menyelaraskan teks di sebelah kanan shell. Anda dapat melihat hasil dari statement print tersebut sebagai berikut:

Fig 2.3.6. mencetak string yang digandakan

Selain menggunakan perkalian untuk penyelarasan, kami juga dapat menggunakannya untuk mengisi layar dengan pesan yang mengganggu. Coba contoh ini untuk diri sendiri:

>>> print(1000 * 'snirt')
Categories: Buku Komputer, Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Blog di WordPress.com.