1 nyankodmagz edisi 6, 2 Mei 20122 Nyankod Magz Edisi 6 Cingcau Looping Love it and Earn It Halaman 2 dari 983 Sapa Nyankod Hi Nyankoders sekalian... ...
Nyankod Magz Edisi 6 “Cingcau Looping” Love it and Earn It
Halaman 2 dari 98
Sapa Nyankod Hi Nyankoders sekalian... udah siap dengan keganasan edisi 6 kali ini?? Gile nggak tuh, judulnya aja Cingcau. Tapi cingcau bukan sekedar cingcau, cingcau punya Nyankod beda dari cingcau dimana pun di belahan dunia mana pun, karena cingcaunya Nyankod adalah Cingcau Looping. Hehehe... So... jangan lupa, seperti biasa, segera siapkan secangkir kopi hangat, lengkap dengan gorengan dan beberapa list musik dangdut. Karena kita akan Rock n Roll dengan Cingcau looping... Seperti kata pepatah, ada cingcau ada semut, biar kacau, tapi gue imut... Ada juga pepatah lain yang mengatakan, tak ada rotan cingcau pun jadi, artinya kalo nggak punya duit, segeralah bertaubat #nggakNyambung. Pepatah lain mengatakan bagai cingcau di daun talas, artinya sia-sia. Kok sia-sia?? Ya harusnya cingcau itu adanya di dalam gelas, terus dimakan. Kalo di daun talas berarti bakalan jatoh dan terbuang sia-sia. Bukankah itu berarti tidak berprikecingcauan?? Sungguh malang sekali nasib cingcau yang demikian. Tragis... Oke bro, di edisi ke-6 ini Nyankod punya sesuatu yang baru lagi lho, yaitu nyankodPaper. Ini sebuah terobosan baru Nyankod yang bakal menggemparkan dunia persilatan juga dunia percodingan.. Nggak percaya?? Baca terus nyankodMagz edisi 6 ini sampe tamat, jangan ada satu kata pun yang terlewatkan. Setelah itu kamu akan tau betapa ini adalah sesuatu yang bakal mengemparkan dunia. Ya seperti senjata gitu, cingcau pemusnah masal!! Yoooi cong... walaupun galau gara-gara nggak kebagian tiket (nggak kebeli, nggak punya duit) konser pertama L‟Arc~en~Ciel di Indonesia, tapi seenggaknya bisa makan cingcau gratislah. Walaupun dalam hati merana sekali.... Ini adalah momen langka untuk menjitak kepalanya Hyde dan Tetsu, tapi tak apalah. Lain waktu kita
Halaman 3 dari 98
langsung samperin aja ke rumahnya, kita suruh makan cingcau. Gimana guys??? Yoooi cong!!! Jadi, nggakusah basa basi lagi, mari kita santap bersama-sama cingcau ala Nyankod. Cingcau Looping!!! Bang.... beli cingcau bang!!! Laperr nih!!! Cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. cingcau.. (cingcau yang telah dilooping). Love it and earn it Nyankodist Team
Halaman 4 dari 98
Bila ada pertanyaan seputar Nyankod, atau mau bertanya tentang pemrograman kepada Nyankod Team, atau hanya sekedar silaturahmi juga boleh, asalkan jangan spam, silahkan kontak kami ke email kami: [email protected]. Anda juga dapat berkomentar langsung seputar konten majalah di post artikel di situs Nyankod atau langsung menghubungi nyankodist pada kontak yang telah disediakan.
Jangan lupa follow twitter kami ya!
@nyankodTWEET
Halaman 5 dari 98
Di dalam sini, ada.. Seru-seruan nyankodTWEET Nyankoders Menyapa #nyankodPaper Phyton – Memilih Kondisi di Phyton JavaScript – Jangan Takut Sama Fungsi C – Cendol of Function Ruby - Good Morning Class ^_^ ActionScript {Penggunaan Symbol dan Movie Clipt} Perl - [Belajar Alay (Baca:Array) Chapter 2] PHP – PUNK SIEUN #nyanKomik
Seru-seruan nyankodTWEET - #cingcauLooping Seperti janji kami satu hari menjelang penerbitan edisi ke-6 ini. Twit-twit yang paling keren dan gokil dari nyankoders dengan hashtag #cingcauLooping bakalan kita muat di sini. Inilah twit-twit yang terpilih. Hehehehe....
Ternyata abang kita yang satu ini punya kebiasaan aneh dan suka bikin program yang aneh-aneh juga. Nggak kebayang kalo kemudian program buatan abang @elsak_me ini kemudian dipublikasikan dan disebarluaskan secara masal, apa jadinya seluruh warga Indonesia?? Mungkinkah masing-masing warga Indonesia lubang hidungnya bakalan jadi banyak dan pada kriting semua?? -__- #kacautingkatnasional
Sepertinya abang @yllumi nggak pernah nonton bola deh atau punya kelainan dalam sepak bola. Sejak kapan Jalak Harupat jadi lapangannya LIVERPOOL?? Ati-ati bang, ntr digebugin VIKING lho!! (⌣́_⌣̀) #nekat
Halaman 7 dari 98
Abang @IXn_ sepertinya adalah seorang peneliti cingcau. Kali ini doi punya eksperimen baru dengan mengumpulkan cingcau-cingcau dari semua pedagang cingcau, kemudian berniat melooping cincau tersebut. Mari kita tunggu hasil eksperimen doi, akankah membawa perubahan bagi Indonesia?? #penasaran
Senjata pemusnah masal macam apa tuh bang @mc_azim?? ( ゜ ◇゜ ) Gimana cara kerjanya ya cingcau-cingcau bisa menghancurkan dunia? Mungkin ini solusi yg bisa dipake oleh Indonesia kalo diserang Malaysia. Cingcau Pemusnah Masal!! Mari kita lihat reaksi Amerika dan PBB ketika tau kita punya senjata pemusnah masal seperti ini. #khawatir
Mau ikutan seru-seruan bareng @nyankodTWEET?? Ayo cepetan bikin twit kamu yang lebih keren dan lebih gokil dengan hashtag #cingcauLooping!!! Ditunggu ya!!! Dan jangan lupa follow @nyankodTWEET....!!!!
Halaman 8 dari 98
Nyankoders Menyapa... Dari Sandhi Firmadani ([email protected]) Dear Nyangkoders, Baca majalah Nyangkod bikin ngakak, ini mungkin solusi meredam keram urat leher belakang pas ketemu error ngoding, ampe2 impactnya bukan hanya code-nya yg error tp yg ngodingnya jg error :D. Salam buat bro2 Nyankoder, teutetup semangat dan konsisten nerbitin majalah ma artikel2 di Nyangkod.com-nya. Salam, Sandhi Firmadani
Hahaha... kok baca majalah pemrograman bikin ngakak?? Baca komik kali ngakak!! Semoga bermanfaat bang, salam kenal juga....
Dari shinichi kudo ([email protected]) wawww kerren neeh jarang2 ada situs seperti ini yang dalemannya tutor di selipin guyonan....pokoke manknyusss dah rekomended untuk di kunjungi dan di unduh serta di baca setiap edisinya. sekedar saran neeh lebih mantep klo ada tutor videonya... pokoke top markotop..... maju terus karya anak bangsa...
Halaman 9 dari 98
Eh... Ada shinichi kudo... Selaen para programer ternyata nyankod juga dikunjungi oleh detective SMA terkenal shinichi kudo. Oke bang sinichi, nanti akn kami selalu kembangkan terus. Doakan saja bang....
Dari Muh Zuhry ([email protected]) Kpd YTH : Team nyangkod Sebelumnya qsalut buat magazine-nya n kata2 dari nyankod sndiri yg nagajarin tapi nga buat pusing dan pastinya mudah dipahami. Saran aq n yg bakal aq tungu2 dari nyangkod nih : Tolong dong VB.net dimasukin juga di magazine edisi berikut-nya. Regards
Terima kasih untuk abang Muh Zuhry atas masukannya... Hehehe.... untuk saat ini kami belum punya nyankodist bahasa VB.net Tapi ntr kita selaku team akan terus berusaha buat nambahin terus bahasa2 pemrograman laennya. Termasuk VB.net
Halaman 10 dari 98
#nyankodPaper... Apa bedanya nonton film komedi sama nonton film horor? Coba jawab!! ... ... *memberi waktu untuk berpikir* ... *masih memberi waktu untuk berpikir* ... 3... 2... 1... Waktu habis!!! Ah gimana sih, pertanyaan segitu aja nggak ada yg bisa jawab... Jawabannya gampang banget, klo nonton film komedi ya kita ketawa-ketawa, ngakak, gerak-gerak nggak karuan (nari balet), bahkan yang ekstrim sampe bentur-
Halaman 11 dari 98
benturin kepala ke dinding, dan akhirnya kita bakalan lupa sama masalah kita (ya walaupun sejenak). Sedangkan kalo nonton film horor, ya kita bakalan ngeri, merinding, takut, stress, bahkan buat orang-orang tertentu (mungkin kamu) sampe nggak berani ke kamar mandi sendirian akhirnya minta ditemenin sama adiknya yang masih kecil. Tapi film horor yang saya maksud di sini adalah film horor yang masih murni horornya, bukan horor zaman sekarang. Haduuh... klo film horor zaman sekarang tuh udah bener-bener nggak jelas horornya. Parahnya bahkan pake ada acara sewa produk luar (miyabi, dkk) segala lagi.... capedeh... Nah, sekarang.... kalo kamu mau belajar pemrograman, terus ngeliat buku pemrograman, kira-kira yang kebayang di kepala kamu, saat-saat membaca buku pemrograman itu lebih mirip kayak nonton film komedi atau film horor?? #jawabjujur Coba bayangin, misalnya kamu pemula di dunia pemrograman, terus kamu pinjem buku pemrograman temen kamu, misalnya adalah buku Algoritma Pemrograman Bahasa Java. Terus kamu pegang bukunya. Baru liat cover depannya aja udah menampakan betapa menakutkannya buku itu. Ada secangkir kopi hangat lengkap dengan asapnya dikelilingi angka-angka 0 dan 1 yang tersusun nggak karuan, bahkan ditambah dengan istilah-istilah aneh yang melayang-layang nggak jelas. Mungkin sang designer covernya ingin menjelaskan bahwa untuk bisa paham membaca buku ini kamu harus begadang, nggak tidur selama 2 tahun, jadi kamu harus minum kopi dulu supaya nggak ngantuk, dan di buku ini kamu akan dipaksa menelan bulat-bulat angka-angka yang ada di dalamnya, dan setelah itu kamu akan mengalami keram otak. Ya, mungkin secara sederhana sang designer cover ingin mejelaskan hal tersebut. *pegangdagusambiltersenyumyakin* Sebegitu menakutkannya kah pemrograman?? Emang sih, sebenernya nggak sedramatis paragraf di atas. nggak sesadis itu. Tapi paling nggak siapa pun yang ingin belajar pernah memiliki pemikiran bahwa buku pemrograman atau materi adalah sebuah materi yang berat dan serius. Ya, setidaknya sulit untuk dengan mata pelajaran penjaskes di SMA.
Pemrograman pemrograman pemrograman dipersamakan
Halaman 12 dari 98
Ya, pemrograman itu emang nggak mudah (menghindari kata sulit), tapi juga nggak mesti dibuat kaku, berat dan bikin pusing. Pemrograman itu bisa lho dibuat lebih sederhana. Pemrograman itu bisa lho dibuat lebih ringan. Pemrograman itu bisa lho dibuat lebih mudah. Pemrograman itu bisa lho dibuat lebih santai, lebih kocak, lebih gaul, lebih unyu, lebih renyah dan lebih pulen... #nyankodPaper
nyankodPaper, Apaan Tuh??? Kalo ada pertanyaan gitu gimana ya jawabannya... Bentar ya... *buka-buka buku, nyari referensi* ... ... *masih nyari* ... Hadeeuh... dicari di buku pemrograman apa pun nggak ketemu istilah itu... Gimana dong?? Hehehehe... Ya iyalah jou... kalo nyari di buku pemrograman yang beredar saat ini, pasti nggak ketemu. Nggak percaya? Cari aja ndiri di Gramedia, Karisma, Gunung Agung atau toko buku yang laennya. Knapa coba nggak ada?? Jawabnya gampang banget, itu
Halaman 13 dari 98
kan istilah yang resmi dikeluarkan oleh Nyankod, dan nggak ada di tempat lain di belahan bumi mana pun. Masih nggak percaya? Cari aja deh sendiri... Udah ah, becanda mulu... Jadi sekarang, apa yang disebut nyankodPaper?? nyankodPaper, sederhananya adalah sebuah artikel tentang bahasa pemrograman dengan format ebook, yang bersifat open content, dan bisa didownload secara gratis oleh siapa aja. Open content maksudnya adalah artikel yang ada di nyankodPaper boleh ditulis oleh siapa aja, yang penting mau share ilmunya supaya bermanfaat buat orang lain. Tentunya dengan format yang telah Nyankod tetapkan. Inget, siapa aja bisa ikutan nulis di nyankodPaper, so termasuk kamu juga bisa ikutan nulis. Nggak cuman tim dari nyankod doang yang bisa nulis. GIMANA CARANYA???? GIMANA? GIMANA?? PENGEN TAU DONG!!! Selllow boss!! Sellloooow!! Santai..... Ntar juga dikasih tau.... Oh ya, kalo di nyankodMagz kan terbit setiap 3 minggu sekali, agendanya jelas, ada nomor edisi dan ada nama edisi. Nah, kalo di nyankodPaper nggak ada yang kayak begituan. Penerbitan nyankodPaper nggak dibatasi dan diikat oleh agenda tertentu. Bisa jadi dalam seminggu akan terbit 5 artikel sekaligus. Bisa juga 20 artikel. Dan mungkin juga bisa cuman 1 artikel. Tergantung bagaimana kiriman artikel yang masuk ke Nyankod. Hehehe.... Mau ikutan nulis di nyankodPaper?? Download panduan dan keterangan lengkapnya di: http://www.nyankod.com/uploads/panduan_format_nyankodpaper.zip
Hai Nyankod Mania, Berjumpa lagi dengan saya, Ridwan Fadjar, di PyNyankod (Python on Nyankod). Kali ini kita akan bahas sesuatu yang menarik ya itu pemilihan dan pengulangan. Kedua hal ini merupakan hal mendasar yang harus dikuasai bagi setiap progammer. Sama seperti kita menghitung gaji berdasarkan kategori, menentukan IPK, dan hal – hal lain yang harus dikerjakan dalam pemilihan. Tak lupa kita juga harus belajar pengulangan agar bisa melakukan operasi perhitungan deret, pencarian, pengurutan, dan membuat matriks. Algoritma dasar ini akan memberikan kita kekuatan jika kita mempelajarinya dengan tekun. Jadi, ikuti aja yah artikel yang saya buat ini. Let's PyNyankod.
Operator Pembandingan dan Boolean di Phyton Nah kita mulai yah belajar operator pembandingan di python. Di python operator pembandingan sangat mudah. Namun ada beberapa kategori pembandingan yaitu pembandingan bukan object, pembandingan untuk object, dan pembandingan untuk tipe data list dan container – container di python. Sementara ini kita pelajari dulu operator pembandingan bukan untuk object. Karena ada bahasan khusus untuk membahas pembandingan objek.
Halaman 16 dari 98
Kita mulai yah. Berikut adalah daftar operator pembandingan di Python. Misalkan x dan y adalah sebuah variabel yang menyimpan data. Operator pembandingan ini digunakan untuk membandingkan variabel yang berisi bukan objek. 1. 2. 3. 4. 5. 6.
x x x x x x
== y, berarti x sama dengan y < y, berarti x kurang dari y > y, berarti x lebih dari y >= y, berarti x lebih dari atau sama dengan y <= y, berarti x kurang dari atau sama dengan y != y, berarti x tidak sama dengan y
Lebih jelasnya coba lihat bagian dibawah ini : >>> x = 10 >>> y = 10 >>> x == y True >>> x = 'nyankod' >>> y = 'nyankod' >>> x == y True >>> x = 2.0 >>> y = 2.0
Halaman 17 dari 98
>>> x == y True >>>
Bisa dilihat dari contoh diatas apabila x dan y mempunyai nilai yang sama maka x == y bernilai True. Sekarang bagaimana kalau misalnya nilainya tidak sama ? Coba lihat contoh dibawah ini. >>> x = 7 >>> y = 10 >>> x == y False >>> x = 'Ridwan' >>> y = 'Bejo' >>> x == y False >>> x = 3.14 >>> y = 2.89 >>> x == y False
Halaman 18 dari 98
>>> Tuh kan.. Kalau isinya tidak sama maka hasil dari pembandingan dengan operator '==' akan bernilai False. Bagaimana kalau menggunakan operator pembandingan yang lain. Coba yuk operator pembanding yang lain yang sama pentingnya dengan '=='. Berikut adalah contoh dari proses pembandingan dengan menggunakan operator pembandingan yang lain. >>> x = 10 >>> y = 15 >>> x < y True >>> x > y False >>> x != y True
>>> Sedangkan operator pembandingan membandingkan variabel yang berisi objek.
dibawah
ini
digunakan
untuk
1. x is y berarti objek yang ada di variabel x sama dengan di y 2. x is not y berarti objek yang ada di variabel x tidak sama dengan di y Kalau operator pembandingan yang dibawah ini digunakan untuk operasi list dan data container di python.
Halaman 19 dari 98
x in y berarti apakah nilai x ada di dalam list atau data container y x not in y berarti apakah nilai x tidak ada di dalam list ata data container y.
Bagaimana ada gambaran kan ? Sebenarnya gak beda jauh yah operator pembandingan di python dengan bahasa lain seperti C, C++, PHP, atau JAVA. Tapi itu hanya untuk yang pembandingan variabel bukan berisi objek. Kalau yang berisi objek atau list dan data container di python, cara pembandingannya punya cara tersendiri seperti diatas.Pokoknya mudah lah belajar python kan. Sekarang kita terusin dulu ke operator boolean. Boolean adalah operasi pada sebuah hitungan matematis atau logis yang menghasilkan nilai True dan False. Di python nilai boolean ada True dan False. Berikut adalah tabel boolean standar yang wajib dipahami oleh programmer. Note : Berdasarkan tabel dibawah ini. Nilai 1 berarti True di python, sedangkan nilai 0 berarti False di python.
Halaman 20 dari 98
Sumber foto : http://2.bp.blogspot.com/_m0406qqJ2A/TRBYv78ES8I/AAAAAAAA AAM/B-0KT-
X3HXc/s1600/AND.jpg
Sumber foto : http://3.bp.blogspot.com/_m0406qqJ2A/TRBY5iSu2KI/AAAAAAAAAAU/Q3f1wqHtzDo/s1600/OR.jpg Dalam praktisnya operator boolean di python ada dua yaitu and dan or. Nilai yang dihasilkan dihitung berdasarkan tabel diatas. Coba lihat contoh dibawah ini yah supaya lebih paham. >>> x = 10 >>> y = 10 >>> x == y True
Halaman 21 dari 98
>>> w = 15 >>> z = 12 >>> w == z False >>> x == y and w == z False >>> Coba lihat tabel yang sebelumnya. Lihat tabel kebenaran And, jika 1 adalah True dan 0 adalah False. Perhatikan contoh diatas. Pembandingan x == y menghasilkan nilai True, dan w == z menghasilkan nilai False. Pada tabel kebenaran And jikai nilai 1 dibandingkan dengan 0 maka hasilnya 0. Dengan demikian x == y and w == z menghasilkan nilai False. Nah bagaimana kalau yang OR. Nyankoder tinggal mengikuti panduan dari tabel kebenaran OR untuk memulai operasi OR atau paling tidak teman – teman sudah mempelajari matematika tentang logika, atau logika informatika .. hehe.
Pemilihan Kondisi di Phyton Nah bagaimana dengan pemilihan kondisi di python. Disini pemilihan di python jika kondisi bernilai True maka statement yang ada didalam if akan dieksekusi jika False maka statement yang ada di dalam if tidak akan dieksekusi. Sebagai contoh dasar lihat contoh dibawah ini. Note : Indentasi dalam python harus spasi sebanyak empat kali.
Halaman 22 dari 98
root@ridwan-laptop:/home/ridwan# python Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> ekspresi
= True
>>> if (ekspresi == True): ...
print "Statement di dalam IF akan dieksekusi"
... else: ...
print "Statement di dalam IF tidak dieksekusi"
... Statement di dalam IF akan dieksekusi >>> KeyboardInterrupt >>>
Lihat kode diatas. Karena nilai ekspresi bernilai True maka statement di dalam ekspresi pertama dieksekusi. Bagaimana bila ekspresi bernilai False ? coba yuk bagaimana jadinya.
Halaman 23 dari 98
>>> ekspresi
= False
>>> if (ekspresi == True): ...
print "Statement di dalam IF akan dieksekusi"
... else: ...
print "Statement di dalam if tidak akan dieksekusi"
... Statement di dalam if tidak akan dieksekusi >>> Keren yah. Pemilihan diatas tidak menampilkan yang ada di dalam ekspresi pertama tapi menampilkan statement yang ada di dalam ekspresi else. Sekarang kita coba yah yang agak banyak ekspresinya. Lihat kode dibawah ini. >>> nilai = 67 >>> >>> if (nilai > 90): ...
print "IPK Anda adalah A"
... elif ((nilai > 70) and (nilai <= 90)): ...
print "IPK Anda adalah B"
... elif ((nilai > 50) and (nilai <= 70)):
Halaman 24 dari 98
...
print "IPK Anda adalah C"
... elif ((nilai > 30) and (nilai <= 50)): ...
print "IPK Anda adalah D"
... elif ((nilai > 0) and (nilai <= 30)): ...
print "IPK Anda adalah E"
... else: ...
print "variabel nilai harus diisi angka positif.Selain itu Error"
... ... IPK Anda adalah C >>>
>>> Nilai dari variabel 'nilai' akan dicheck di kisaran angka yang ada di setiap ekspresi yang ada dalam IF. Jika ada kisaran yang cocok dengan salah satu ekspresi maka statement di dalam IF akan dieksekusi. Misal nilai dari variabel 'nilai' adalah 67, maka 'nilai' akan cocok dengan kisaran lebih dari 50 dan kurang dari sama dengan 70. Bagaimana jika diubah ? Tugas Nyankoder adalah untuk mencoba nilainya. Ok ok ok ^_^. Referensi : Python Tutorial, http://www.java2s.com Python Documentation, http://www.python.org
Latihan Sebagai latihan lagi yah... coba nyankoder buat sebuah pemilihan kondisi yang memilih bonus gaji karyawan dengan memasukkan sebuah inputan tipe pekerjaan. Berikut adalah ketentuan yang nyankoder harus ikuti. Gaji karyawan di sebuah perusahaan X mempunyai ketentuan sebagai berikut : Jika pekerjaan adalah 'Programmer' maka bonus gaji adalah Rp. 1.000.000 Jika pekerjaan adalah 'System Analyst' maka bonus gaji adalah Rp. 2.000.000 Jika pekerjaan adalah 'Web Designer' maka bonus gaji adalah Rp. 1.500.000 Jika pekerjaan adalah 'Technical Writer' maka bonus gaji adalah Rp. 500.000 hint : gunakan fungsi raw_input untuk menerima masukkan dari user Nanti file python nya kirim ke [email protected] atau [email protected] yah dengan judul Nyankod_Python_<< Edisi Nyankod >>_Instansi_Asal_Nama. Nanti saya berikan feedback tentang latihan yang Nyankoders buat. Ditunggu yah, jangan lupa kirim
Halaman 26 dari 98
Akhir kata terima kasih telah mengikuti artikel Python ini di Nyankod Magazine. Bahasa pemrograman itu beragam, tapi mempunyai satu dasar yaitu algoritma. Tapi tidak salah juga mempelajari lebih dari satu bahasa pemrograman karena setiap bahasa pemrograman mempunyai gaya dan tujuan yang berbeda. Sampai jumpa di edisi berikutnya Nyankoder.
Halaman 27 dari 98
[JavaScript]
Toni Haryanto @yllumi [email protected] http://toniharyanto.cs.upi.edu
Halaman 28 dari 98
Jangan Takut Sama Fungsi
Pernah ketemu kan dengan notasi seperti f(x)=ax2+bx+c ?? Ow oww, buat yang agak alergi dengan susunan angka dan huruf macem begitu, jangan khawatir, karena kali ini kita ga akan membahas sampe kesitu. Tapi pastinya pernah nemu yang macem gitu kan? Dan tau namanya kan? Yups, fungsi. Contoh di atas adalah notasi fungsi persamaan kuadrat di dalam matematika. Hal serupa juga ada di dalam pemrograman. Kalo pun misalnya diantara Kamu ada yang –sampai sekarang– ga ngerti apa guna fungsi persaman kuadrat di matematika, pada pembahasan kali ini kita akan bahas apa gunanya fungsi di dalam pemrograman dan Kamu akan jatuh cinta setelah melihat betapa bergunanya teknik ini dalam membantu menyelesaikan sebuah persoalan ketika membuat sebuah program. Oh iya, untuk edisi kali ini (atau mungkin untuk beberapa edisi selanjutnya) saya akan dibantu oleh salah sebuah karakter programming geek bernama Giko. Saya biasa manggil dia Nggik. Kalo kamu tadi sempat bertanya-tanya pas buka halaman ini dan liat apaan tuh yang nongol di kolom sebelah kiri, nah itu dia si Nggik. Saya sempet mengambil fotonya saat dia lagi sibuk ngerjain proyekan. Biasa lah.. Saya sempet sharing beberapa kali dengan beliau terkait kesulitan saya untuk memulai pembahasan di rubrik javascript ini, dan katanya beliau bersedia untuk membantu menjelaskan. Tapi dia ga akan ngejelasin secara langsung, melainkan akan bercerita tentang kronologi pengalamannya dahulu pas belajar fungsi. So, mudah-mudahan membantu pemahaman kamu yaa. ;D Buat beberapa orang yang sudah belajar pemrogaman, pasti pernah mengalami kebingungan saat berhadapan dengan materi fungsi. Buat apa fungsi? Kenapa nggak ngoding seperti biasa aja? Ada input, ada output, buat apa? Toh
Halaman 29 dari 98
persoalan tetep bisa diselesaikan dengan runtunan biasa? Yah itulah beberapa pertanyaan yang muncul di pikiran si Nggik. Mungkin juga diantara kamu pernah mengalami hal yang serupa. Kalo pernah, maka bersyukurlah karena itu artinya kamu sudah melewati masa-masa kritis ketika belajar pemrograman.. Nah, buat kamu yang belum, saya sarankan untuk melanjutkan bacaan ini supaya kebingungan yang sama bisa kamu selesaikan.
Kenapa mesti pake fungsi? Pertanyaan yang sama muncul di benak Nggik yang pada saat itu baru belajar pemrograman. Kenapa pula mesti bikin fungsi segala? Dia yang pada saat itu sudah faham tentang konsep runtunan, pengulangan dan pemilihan, sudah bisa menyelesaikan persoalan-persoalan algoritma yang diberikan dosennya. Suatu ketika Nggik pergi ke kantin di jurusan di kampusnya. Ia mengambil satu minuman kotak dari dalam kotak pendingin. Ia membayar minuman tersebut lalu duduk di salahsatu kursi di sudut kantin. Kebayang kan seperti apa minuman kotak yang ia beli? Yaa, semacam susu kotak dengan kotak kertas tebal yang namanya tetrapak. Jleb! Dia masukin sedotannya ke lubang kotak yang telah disediakan, lalu langsung dia sedot itu minuman. Dari situ dia berfikir, gimana caranya si tukang susu ini bungkusin susunya ke dalam kotak-kotak. Dia membayangkan si tukang susu sedang memerah susu sapi, ditampung ke dalam ember (dia pernah melihat adegan macam begitu di salahsatu acara di televisi). Setelah itu si tukang susu memasak susu tersebut supaya bakteribakteri di dalamnya pada mati. Lalu, si tukang susu mempersiapkan kotak-kotak yang sudah dibuatnya (atau dibelinya), dan mengisi kotak-kotak tersebut satu per satu dengan susu sapi tadi sampai semuanya penuh. Setelah penuh semua, mungkin setelah susunya habis atau kotaknya yang habis, si tukang susu melipat ujung kotaknya satu per satu lalu menutupnya dan melemnya. Terakhir, sedotan ditempellah di setiap kotak dan susu siap dijual. Hmmm, seems legit! ;D
Halaman 30 dari 98
Eitt, tapi tunggu! Bungkus-bungkus yag rapi dan hampir sama rapinya, sudut penempelan sedotan yang seragam, lubang yang telah disediakan, dan, itu label kadaluwarsa dari mana perhitungannya??! Pastilah susu kotak ini tidak diproses dengan tangan si tukang susu seorang diri secara berulang-ulang. Kalopun si tukang susu punya banyak pegawai, pekerjaan rapi ini tidak mungkin dilakukan secara manual oleh tangan-tangan manusia secara langsung. Pastilah si tukang susu punya mesin yang membantu pengemasan susu tersebut. Bahkan dari sejak pemerahan susu sapinya! Tiba-tiba saja Nggik langsung teringat tentang konsep fungsi di dalam pemrograman yang baru saja dipelajarinya. Fungsi itu ibarat mesin. Ia memerlukan masukan atau bahan yang akan diproses, dan kita hanya perlu menunggu mesin tersebut berproses sesuai „fungsi‟nya sampai keluaran atau hasil prosesnya muncul! Ahaaa! Akhirnya si Nggik bisa memecahkan pertanyaannya sendiri tentang kegunaan fungsi. Dia loncat-loncat di atas kursi, sampai-sampai orang di sekitarnya melihatnya keheranan, lalu kembali seperti biasa karena sudah tau begitulah biasanya kelakuan si Nggik. Yeaaah!!
Belajar fungsi yang baik adalah dengan mempraktekkannya Teman-teman, sudah bisa nangkap maksudnya kan? Sudah tahu apa fungsi dari fungsi? Nah, kira-kira seperti hasil kesimpulan dari pengalaman si Nggik dah. Mari kita lihat struktur penulisan fungsi di javascript. function namafungsi(parameter1, parameter2, ..., parameterX) { // kode program }
Seperti yang sudah kita bahas tadi, fungsi itu ibarat mesin. Ia memerlukan bahan-bahan yang nantinya akan diproses di dalamnya dan mengeluarkan output berupa produk yang diinginkan. Fungsi memerlukan bahan-bahan untuk memproses
Halaman 31 dari 98
#INPOH Fungsi dapat menerima masukan parameter lebih dari satu atau tanpa parameter sama sekali,
suatu pekerjaan. Bahan-bahan yang diperlukan dimasukkan melalui parameter yang disimpan di dalam tanda kurung setelah nama fungsi. Setelah itu parameter tersebut dapat kita gunakan di dalam fungsi untuk mengerjakan suatu tugas.
Fungsi <script type="text/javascript"> function sapaan(nama) { return "Halo " + nama + "! Selamat belajar fungsi."; } document.write(sapaan( "Nyankoders" )); Kalo kita jalankan program di atas, maka akan tampil seperti ini:
Baris ke-5 sampai baris ke-8, kita membuat fungsi bernama sapaan(). Fungsi ini menerima masukan parameter nama yang dapat kita isi dengan nama kita. Nantinya baris ke-7 di dalam fungsi akan memproses masukan nama ini dengan
Halaman 32 dari 98
mengembalikan (dengan kata kunci return) kalimat yang namanya dapat kita rubah sesuai pemanggilan. Kalimat yang dikembalikan oleh fungsi ini kemudian dicetak di baris ke-10. Perlu Kamu ketahui bahwa fungsi tidak mesti mengembalikan nilai. Fungsi bisa saja hanya mengerjakan suatu proses dan selesai. Untuk lebih jelasnya mari kita edit beberapa baris program di atas.
Fungsi <script type="text/javascript"> function sapaan(nama) { document.write("Halo " + nama + "! Selamat belajar fungsi."); } sapaan( "Nyankoders" );
Contoh program di atas akan menampilkan hasil yang sama dengan program pertama. Bedanya, udah keliatan kan? Yups, pencetakan kalimat ke layar dilakukan di dalam fungsi, dan fungsi tidak akan mengembalikan nilai apapun saat dipanggil di baris ke-10. Pemanggilan fungsi dapat dilakukan dari mana saja di dalam dokumen. Artinya, satu lagi kegunaan fungsi adalah dapat digunakan berulang-ulang sesuai dengan pemanggilan, bahkan meskipun halaman web kita sudah selesai diload. Dengan kata lain, fungsi hanya disimpan di memori dan tidak akan melakukan aksinya sampai ia dipanggil.
Halaman 33 dari 98
Biar lebih jelas, ayo kita perbaharui program di atas dengan sedikit bantuan elemen html.
Fungsi <script type="text/javascript"> function sapaan(nama) { document.write("Halo " + nama + "! Selamat belajar fungsi."); } Nama:
Maka hasilnya akan jadi seperti ini:
Halaman 34 dari 98
Ketika Kamu menuliskan nama di kolom nama, lalu menekan tombol Proses, maka akan muncul seperti tampilan di contoh kedua. Seperti di contoh kedua, kita menyediakan fungsi sapaan() yang menerima satu masukan nama yang akan diproses di dalam fungsi. Fungsi yang kita buat tidak akan langsung jalan, melainkan menunggu dipanggil. Di contoh ini, pemanggilan fungsi disimpan di dalam atribut onclick punyanya button Proses. Parameter nama untuk fungsi ini tidak lain diambil dari elemen input bertipe teks dengan id = “nama”. Di baris ke-14, Kamu lihat ada baris program document.getElementById('nama').value baris ke-14, Kamu lihat ada baris program yang kerjaannya adalah pilih elemen yang memiliki id „nama‟, lalu ambil value dari elemen tersebut. Maka pemanggilan fungsi sapaan() lengkap sudah. Disini kita melihat bahwa fungsi tidak akan dijalankan selama tidak ada yang mengklik tombol Proses. Ketika kita mengisikan nama di kolom nama kemudian mengklik tombol Proses, maka hasil akan muncul seperti pada contoh sebelumnya. Tapi form yang kita gunakan sebelumnya hilang dan digantikan oleh tampilan hasil. Lalu gimana caranya saya supaya bisa ganti-ganti nilai nama tanpa mesti merefresh terlebih dahulu? Nah, untuk pamungkas pembahasan dasar-dasar fungsi ini, saya akan berikan tips untuk memecahkan masalah tersebut. Mari kita edit lagi program kita yang tadi.
Program: fungsi_4.html 1 2 3 4 5 6
Fungsi <script type="text/javascript"> function sapaan(nama) {
Halaman 35 dari 98
7 8 9 10 11 12 13 14 15 16 17 18
document.getElementById("hasil").innerHTML = "Halo " + nama + "! Selamat belajar fungsi."; } Nama:
Ketika program dijalankan maka akan muncul form seperti pada contoh ketiga. Kalo Kamu isiin kolom nama dan menekan tombol Proses,
yups, hasilnya akan muncul di bawah form. Pada program di atas, kita menambahkan elemen div dengan id = “hasil”. Kemudian ketika tombol Proses ditekan, fungsi akan menjalankan proses memasukkan nilai kalimat ke dalam elemen yang ber-id “hasil”. Dengan demikian kita dapat mengganti kolom nama sesering apapun Kamu suka sampai keyboard dan mousenya rusakpun, nilai di elemen hasil akan berubah tanpa mesti refresh halaman.
Halaman 36 dari 98
Latihan #hariinisayasudah belajar dasar fungsi di javascript, paham kegunaan fungsi, cara bikin fungsi, dan cara manggil fungsi! #yeaah #bersyukur
Oke, sepertinya kita mesti akhiri dulu pembahasan tentang fungsi. Intinya dasarnya cuma segitu sih. Sisanya adalah pengembangan program di dalam fungsinya. Oh iya, thanks juga buat Giko alias Nggik yang udah mau share pengalamannya. Kapan-kapan suare lagi yah ;D Terakhir, supaya lebih melekat dan ada hasil dari belajarnya, yuk kita latihan. Tugasnya kali ini adalah membuat kalkulator sederhana, yang bisa menghitung penjumlahan, pengurangan, perkalian dan pembagian. Hasilnya mesti kayak gini kirakira:
Clue: parsing string ke integer untuk memastikan perhitungan berjalan dengan benar ;)
Selamat Berkoding Ria dan buatlah mesinmu sendiri!! ;D
Setelah sekian lama terlupakan oleh kewajiban menulis artikel, akhirnya saat itu berakhir sudah (harus tepat waktu), tetapi karena dikejar2 oleh seseorang galau disana akhirnya tulisan ini harus dikerjakan juga (maaf y bapak galau). Back to topic, untuk tulisan kali ini kita akan membahas semua hal yang berhubungan dengan function di bahasa C, menurut penulis semua hal didunia ini pasti berhubungan dengan function klo tidak pasti susah untuk hidup didunia ini, lho kok bisa ? sekarang saya tanya klo anda punya mulut tapi gak function!! Jadi gak bisa makan, karena gak bisa makan lalu perut laper karena laper akhirnya co.id (just kidding) lalu apa alasannya judulnya pake cendol of function, apakah karena pengaruh klo dapat cendol nanti jadi ijo mukanya ato minta barcen y gan (hahahaha) bukan sih cuma enak aja didengar jadi untuk bab ini ditulis judulnya cendol of function.
Variabel lokal dan global Oke lets begin, arrghhh masih gak bisa konsen gara2 tim gw kalah, dasar dodol lipet, eh mangap jadi curcol niyy ya sudahlah hidup harus berjalan dan sekarang saatnya menulis kembali, yang boneng lo?#!# Bahasa C merupakan bahasa pemrograman yang mendukung modular programming artinya suatu program didalam bahasa C dapat dibagi menjadi modul-modul (bagian-bagian) yang lebih kecil jika divisualisasikan seperti ini misal team nyankod kebagian project untuk membuat suatu software dan misalkan jumlah anggota 10 orang lalu bagaimana cara untuk mendelegasikan tugas kepada masing – masing orang, siapa yang menulis program
Halaman 39 dari 98
bagian yang mana, siapa yang menentukan variabel, lalu apakah semua coding arghhhh makin pusing, nah disinilah kelebihan dari function, kita dapat memecah program yang panjang tersebut kedalam function – function dan pendelegasian serta pengujian program dapat dengan mudah dilakukan, so what the point of this, yupss program dibagi – bagi menjadi bagian lebih kecil dapat mempermudah jika suatu saat ingin dilakukan modifikasi terhadap suatu program, lho kok bisa?? sipp kenapa bisa karena dengan membagi – bagi program kedalam bagian – bagian yang lebih kecil suatu program dapat lebih mudah dimengerti, kode program menjadi lebih pendek and this very important penelusuran terhadap suatu kesalahan dapat dilokalisasi terhadap suatu modul saja, modul – modul dalam bahasa C biasa disebut dengan function, didalam bahasa C sendiri terdiri dari minimal satu fungsi yaitu fungsi main(). Function adalah suatu kumpulan instruksi atau perintah yang dikelompokkan menjadi satu, Letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik dan digunakan untuk mengerjakan suatu tujuan tertentu. Variabel Global (jadi inget global TV) adalah sebuah variabel yang bersifat global dalam artian suatu variabel tersebut dapat digunakan dimanapun pada baris program asalkan masih dalam satu source code, variable global didefinisikan diluar blok function termasuk function main, sedangkan variabel lokal (inget apel malang) adalah variabel yang bersifat lokal yaitu variabel yang hanya bisa digunakan dari function tempat variabel tersebut dideklarasikan, variabel lokal didefinisikan didalam fungsi. Penulisan fungsi
Definisi fungsi
Tipe nama fungsi (argumen1,argumen2..) { Tubuh fungsi }
Halaman 40 dari 98
Program 6.1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include <stdio.h> int add (int x, int y)//A { int z;//B z = x + y; return (z);//C } main(){ int i, j, k; i = 10; j = 20; k = add(i, j);//D printf ("The value of k is%d\n", k);//E }
Penjelasan Program
1. Fungsi diatas menambahkan dua bilangan bulat dan mengembalikan jumlah mereka. 2. Ketika mendefinisikan nama fungsi, pengembalian(return) tipe data dan parameter juga harus didefinisikan. 3. Sebuah fungsi harus berisi pernyataan yang mengembalikan nilai-nilai yang kompatibel dengan pengembalian tipe fungsi 4. Variabel yang berada didalam function disebut variabel lokal. 5. Jika nilai balik fungsi tidak didefinisikan maka harus ditulis void, seperti diatas memberikan nilai balik int.
#include <stdio.h> #include <stdlib.h> int rnd(void); int main() { int x; puts(“Behold! 100 Random Numbers!”); for(x=0;x<100;x++) printf(“%d\t”,rnd()); return(0); } int rnd(void) { int r; r=rand(); return(r); }
Program diatas menunjukkan function rand(), fungsi yang akan menghasilkan 100 nomor acak yang dihasilkan oleh rnd(), berbeda dengan program 6.1 yang terdapat variabel global untuk program 6.2 hanya terdapat variabel lokal. Dari program diatas hanya terdapat satu function yaitu rnd(void).
char x; printf(“Press Enter to drop the bomb:”); x=getchar(); dropBomb(); printf(“Key code %d used to drop bomb.\n”,x); return(0); } void dropBomb() { int x; for(x=20;x>1;x--) { puts(“ *”); delay(); } puts(“ BOOM!”); } void delay() { long int x; for(x=0;x
Penjelasan program 1. Dari program diatas terdapat 2 fungsi yaitu function delay dan function dropBomb 2. Variabel global dari program diatas yaitu COUNT, dengan pendefinisian sendiri yang merupakan waktu delay dari program. 3. Program diatas akan berhenti ketika bomb mencapai 20.
Halaman 43 dari 98
Yupss sampai disini dulu penulisan artikelnya, dari bab ini dipaparkan sedikit mengenai tujuan penggunaan function, dengan adanya function penulisan program yang besar dapat dipecah – pecah menjadi bagian kecil sehingga lebih mudah dimengerti dan lokalisasi terhadap kesalahan program dapat dilakukan terhadap suatu function saja. Dan mudah – mudahan bisa membantu, mohon maaf jika masih ada kesalahan dan kekurangan dalam penulisan sebab kesalahan adalah milik manusia dan kebenaran hanya milik Allah SWT, terima kasih jika anda ingin memberikan masukan dan kritik kepada saya di [email protected]. Source: Ngoen, Thompson Susabda. Algoritma dan Struktur data Bahasa C C & Data Structures by P.S. Deshpande and O.G Kakde
Halaman 44 dari 98
[Ruby]
Muhammad Singgih Zulfikar Anshori @hirokakaoshi [email protected] http://mszacompany.wordpress.com
Halaman 45 dari 98
Good MORNING CLASS ^_^
Good Morning CLASS. How're you today? I'm Fine Maaaaaaaaaaaaaaaaaaaaaaaaammmmmmmmm , Thank you!!!!.. Begitulah kebiasaan sewaktu kita SMP belajar bahasa inggris (*GaBolehProtes). Ngomong-ngomong nih ya edisi 6 ini agak ada yang ganjil gimana gitu yaa... saya 2 edisi terakhir sudah nyaris di kebiri editor gara-gara telat mulu, tapi sekarang kagak telat, masak kayak kedelai yang jatuh di lubang tanah yang sama ^_^ Well, let's Getting Started With CLASS... Edisi yang lalu kita belajar sekilah mengenai Method yang bisa berbentuk prosedur dan fungsi, dan saya meminta maaf untuk sample fungsi kemarin kurang tepat untuk dijadikan contoh dalam OOP :P *MyBad. Ruby edisi ini di tulis pake Ubuntu 12.04 Lho...yang LTS itu Lhoo XD. Perjuangannya tidak mudah sampai harus menunda menulis ini demi ambisi menulis artikel dinaungi Ubuntu 12.04 LTS ((>o<)9 ... Baiklaaah mari kuloo review dulu nih apa aja yang udah elu dapet tentang Method kemarin : a) Kamu bisa mengenal dan mendefinisikan Method dengan sederhana b) kamu atau aturan main di method dan menulis baris kode di Ruby. c) Kamu bisa mendefinisikan method yang dapat menerima input, yaitud engan adanya parameter.
Halaman 46 dari 98
d) Kamu bisa membuat parameter yang dinamis, atau dengan kata lain parameter yang berbentuk array. Method mempunyai kemampuan masing-masing yang berbeda-beda tiap method nya, Dibentuk sesuai dengan kebutuhan. LAH TERUS CLASS GIMANA???? Santai donk bro, sedikit sedikit... mindahin gunung kan ga mungkin sekali mindahin..iya ga :D Sekarang perhatikan tulisan ini baik-baik dan lakukan apa yang saya katakan... anda mengerti?? kalau mengerti anggukan kepala anda 3x... Sudah mengangguk??? Sudah belum??? Kalo sudah mari kita mulai. Lihat ke sekitar anda, lihat sampai 360 derajat dengan sudut elevasi 0-180 derajat. Anda melihat sesuatu??? Kalau anda melihat sesuatu berarti anda sedang di ruangan BETUL??? Kalau anda tidak melihat apapun...BERARTI ANDA BELUM MEMBUKA KELOPAK MATA ANDA. Segera buka dan lihatlah...... LIHATLAH (“>o<)9 Banyak sekali barang yang anda lihat bukan, contohnya seperti komputer, lemari, papan tombol, tetikus, meja, kasur, baju, televisi, printer, bahkan kepunyaan anda sendiri...YA KEPUNYAAN ANDA SENDIRI YANG LAIN 8(^o^)8 Lihat deh, pasti tiap barang punya ciri khas tersendiri dan kegunaan masing-masing. Misal baju dipakai di badan anda untuk menutup aurat dan membuat anda hangat. Kemudian meja anda, bisa berbentuk lingkaran, persegi, trapesium,kerucut, jajaran genjang, dan Segitiga sama kaki (^_^) Nah maka dari itu, selaku anak bagnsa indonesia yang budiman...kita harus merenungkan maksud dari perkataan saya ini apah..silahkan dipikirkan.... (T_T”)
Halaman 47 dari 98
Upgrade to level-6 Edisi ini adalah edisi yang paling bersejarah dalam Perjalanan kita selama ini belajar RUBY... sekarang KITA AKAN PAKE YANG NAMANYA SOURCE CODE di FILE.rb TEMANTEMAN...SERIUS ASELI.....SERIUSSSS.... ((O.O))7 Biasa, kita siapan bumbu yang kita butuhkan : 1. Buka Folder RubyDojo. 1. Buka editor teks kesayangan kamu. 2. Buka Ruby editor interaktif (irb) di terminal | cmd.
Gambar 6.1 Film Box Office ( SOURCE CODE )
Halaman 48 dari 98
Nah loh, itu Jake Gyllenhaal ikut-ikutan pake Source Code juga :O Baiklah Kelas atau bahasa Globalnya Class ini merupakan cri khas utama dari OOP, kenapa seperti itu??? Class merupakan suatu bentuk kesatuan dari berbagai method berbeda yang menghasilkan suatu ciri khusus dan fungsi khusus.. Class pasti akan sering kita gunakan untuk ke depannya, class digunakan sebagai pengisi sifat dari objek yang kita definisikan dan gunakan. Koq begitu yaa...hemm.. (T_T}9 inget kan tadi saya minta kamu buat liat sekeliling.. *iyalahIngetBaruBerapaBarisBaca Lihat ciri-ciri dan kegunaan dari tiap benda yang kamu temukan, seperti komputer, Mouse, bahkan kamu sendiri. Itu semua bisa diibaratkan seperti Class. Begini, misal nih kamu..kamu manusia kan? Ato alien boleh deh bebas aja saya mah..
Manusia memiliki ciri-ciri yang fisik, misalnya : bentuk rambut, bentuk hidung, tinggi badan, bau badan, nama, berat badan, sidik jari dan sebagainya. Nah selain itu pula manusia memiliki ciri-ciri non fisik atau perilaku misalnya : suara, cara tertawa, ekspresi dan sebagainya. Dari segi dunia pemograman, hal-hal semacam ini didefinisikan sebagai sebuah Class. Dalam hal lain, ada yang mirip seperti class dan sering kita gunakan saat mendeklarasikan atau mendefinisikan suatu variabel.
Halaman 49 dari 98
YAPH,..itu adalah tipe data. Tipe data yang sederhananya hanya digunakan untuk mendeklarasikan variabel yang wajar kita gunakan, sedangkan Class digunakan untuk mendeklarasikan sebuah variable yang berbentuk Objek (Object reference). Nah bisa berarti bahwa ketika kita membuat suatu Class, maka kita telah membuat suatu tipe data baru untuk suatu variable. Kalau variable diisi dengan tipe data integer disebut variable standar.. Nah kalau variable diisi dengan Class yang telah kita buat disebut variable Objek (Object reference). Gimana??? sudah terbayang Class itu apa kan ((^_^)9 Coba lihat nih :
Program 6.1: kerangka Class di Ruby 1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!usr/bin/env ruby #namaClass harus di kapital huruf awalnya class Manusia #membuat objek dulu def initialize (species = “manusia setengah Matang”) #deklarasi variable dengan @ end #membuat method Ciri-ciri manusia def otak #perintah/penjabaran mengenai otak end end
Halaman 50 dari 98
Kerangka di atas merupakan susunan yang sering digunakan dalam menbentuk suatu Class. Untuk bagian ciri-ciri/perintah bisa banyak method yang dibuat, tapi initialize cukup satu saja untuk mendeklarasikan variable apa saja yang digunakan di class. Itulah isntruksi permainan kita sekarang...
BAIKLAAHH...Sekarang kamu sudah siap untuk berlatih di RubyDOJO. Siapkan alatalat latihan seperti biasa dan fokus jangan sampai kamu kena pukul sampai tak sadarkan diri... kalau sudah siap anggukan kepala anda!!! :D
Kantor Software House kita sedang mengembangkan aplikasi pemutar musik yang Free dan Opensource dibuat dengan Ruby. Di dalam pemutar musik itu membutuhkan informasi mengenai musik yang kita putar, diantaranya ada nama artis, judul lagu, dan
durasi lagu tersebut.
Oleh karena itu, kita perlu membuat suatu Class yang dapat menyimpan dan mengindentifikasi bahwa file tersebut adalah lagu dengan informasi tadi. Pertama kita akan membuat identitas Class lagu, yang berisi satu Method. Coba buat file di RubyDOJO
Program 6.2: Lagu.rb 1 2 3 4 5 6 7 8
#!usr/bin/env ruby class Lagu def initialize(judul,artis,durasi) @judul = judul @artis = artis @durasi = durasi end end
Halaman 51 dari 98
Initialize
merupakan method yang unik di Ruby. Ketika kita memanggil Lagu.new dan memasukannya ke variable objek, Ruby mengalokasikan beberapa memory untuk menghandle objek yang belum terinisialisasi. Hadeuuhhh bahasanya ribet juga ya... Dah deh sbenarnya ga serumit itu, maksudnya ialah agar menyediakan temapt untuk inputan dari variabel objek :D disana terdapat 3 buah parameter lokal kan, ada judul,artis, dan durasi. Ketiganya disebut parameter dalam tempurung menurut saya sih... eh inget juga, kalau buat parameter lokal tuh pake huruf kecil aja ya, biar ga ribet (sebenernya ada di UUD mengenai Ruby sih emang ga boleh huruf besar, entar disangka Class lagi) Setelah parameter ada yang yang namanya instance variable atau variabel lokal, gunanya untuk menyimpan nilai dari parameter itu lho.. tuh yang ditandai pake @ diawalnya itu disebut variabel lokal, ntar dipake buat method dan objek di dalam Class. @judul = judul <---- ini memasukkan parameter ke variable lokal Baiklah mari kita lengkapi file yang telah kita buat, Sekarang tambahkan method baru untuk menampilkan isi dari parameter yang kita lemparkan.
Program 6.2: Lagu.rb 1 2 3 4 5 6 7 8
#!usr/bin/env ruby class Lagu def initialize(judul,artis,durasi) @judul = judul @artis = artis @durasi = durasi end
Halaman 52 dari 98
9 10 11 12 13 14 15
#method aksi untuk menampilkan def tampil puts "Now Playing = #{@judul.capitalize}, \n" puts "artist = #{@artis.capitalize}, \n" puts "durasi lagu = #{@durasi} " end end
Yaph, method tampil di atas hanya menampilkan saja dari variabel lokal yang diisi parameter. Hemh... oke deh lanjutin lagi deh script nya, da simple haha
#!usr/bin/env ruby class Lagu def initialize(judul,artis,durasi) @judul = judul @artis = artis @durasi = durasi end #method aksi untuk menampilkan def tampil puts "Now Playing = #{@judul.capitalize}, \n" puts "artist = #{@artis.capitalize}, \n"
Halaman 53 dari 98
17 18 19 20 21
puts "durasi lagu = #{@durasi} " end end if __FILE__ == $0 musik = Lagu.new(“Pretty Girl”,”Laruku”,”3.24”) musik.tampil end
Nah lho, apaan tuh if __FILE__==$0 ???? hahaha, ini cuman metode untuk mengisi paramater di dalam file rb itu sendiri, tanpa repot repot di irb seperti gini :: IRB 6.1: Class Lagu irb(main):001:0> class Lagu irb(main):002:1>
def initialize(judul,artis,durasi)
irb(main):003:2>
@judul = judul
irb(main):004:2>
@artis = artis
irb(main):005:2>
@durasi = durasi
irb(main):006:2>
end
irb(main):007:1> #method aksi untuk menampilkan irb(main):008:1* def tampil irb(main):009:2>
puts "Now Playing = #{@judul.capitalize}, \n"
Halaman 54 dari 98
irb(main):010:2>
puts "artist = #{@artis.capitalize}, \n"
irb(main):011:2>
puts "durasi lagu = #{@durasi} "
irb(main):012:2>
end
irb(main):013:1> end => nil irb(main):014:0> musik = Lagu.new("Bangbangtut","SELANK","4.33") => # irb(main):015:0> musik.tampil Now Playing = Bangbangtut, artist = Selank, durasi lagu = 4.33 => nil
daripada di RIB di atas kan panjang banget iya ga :P Baiklah, si ---> __FILE__ <-- merupakan kode ajaib yang digunakan untuk menunjuk nama file yang kita gunakan sekarang. Kemudian $0 adalah kode untuk memastikan dan memeriksa kebenaran dari __FILE__ tadi, bila benar file utama maka eksekusi deh. Pemeriksaan ini ditujukan untuk file yang dijadikan library, bukan buat eksekusi kode yagn ada di dalamnya coy. Namun lain cerita kalau file nya file yang kita eksekusi, ya pasti dieksekusi deh kode ini.
Halaman 55 dari 98
Bingung ya, gini ajah kalau dari sudut pandang anak jenius .... __FILE__ = $0 digunakan untuk memastikan bahwa file yang kita pakai itu ada dan lagi digunakan. Terakhir, coba deh kamu simpan file tadi dengan nama PlayerMusik.rb dan simpan di folder RubyDOJO di home *untukPenggunaUbuntu. Kalau sudah, coba ubah priviledge dari file tersebut dengan perintah sudo chmod +x PlayerMusik.rb. Masuk ke terminal, masuk ke folder RubyDOJO dan lakukan perintah tadi kemudian eksekusi dengan perintah ./PlayerMusik.rb ~$ chmod +x /RubyDOJO/PlayerMusik.rb ~$ cd RubyDOJO/ ~RubyDOJO$ ./PlayerMusik.rb
Rangkuman GOOD MORNING CLASS!!!! Menjadi topik di edisi ini, belajar bahasa inggris sekaligus bahasa Ruby :D baiklha, apa saja yang sudah kita dapatkan di pengenalana Class sesi pertama ini : Kamu sudah mengenal Class dan Method Class dan ciri-cirinya sudah kamu ketahui Cara penggunaan Class juga udah dipahami di edisi ini, Class hanya sebatas pengenalan awal dan konsepnya. Untuk edisi selanjutnya akan menjelaskan Class lebih dalam lagi. ============practice
makes perfect +++++++++++++++
Latihan Silahkan coba latihan berikut ini : ▪
Buat file ruby yang dapt menyapa dan mengucapkan sampai jumpa kepada kita, memanggil nama lengkap dan umur kita.
Itu aja buat permulaan hheu.. Salam nyankods... coding is Pulen Brooo hihihi.... *jadiLaper #BANG CINGCAU BANG
Halaman 57 dari 98
Salam akhir saya harap tulisan ini dapat bermanfaat bagi kamu dan lebih tertarik lagi untuk PDKT dengan Ruby, mohon maaf apabila ada kesalahan kata atau kurang berkenan. Apabila ada pertanyaan dan sebagainya bisa menghubungi saya di
kontak : http://about.me/MuhammadSinggihZA Salam, hirokakaoshi | nyankoder's Ruby. EDISI SELANJUTNYA :: GOOD MORNING CLASS (SESSION 2)
Penggunaan Symbol dan Movie clip (Memberi warna pada objek)
Assalamualaikum Wr. Wb. Sebelumnya syukur Alhamdulillah Nyankodist ActionScript ucapkan karena ratting download materi Nyankod telah meningkat drastis men hehehehe, saya ucapkan terimakasih banyak juga buat bapak IT Indonesia yaitu pak Onno W. Purbo yang udah nyumbangin testimoninya sehingga karena testimoni dari beliau Nyankod jadi banyak yang ngunjungin. Ditunggu deh testimoni dari pakar-pakar IT yang lain atau juga dari para Nyankoder yang ingin mengungkapkan uneg-unegnya sebagai masukan buat NyankodMagz. Eh jadi lupa nyapa sobat Nyakod atau Nyankoder yang udah ada di layar komputernya masing-masing, maaf sangking senengnya ni. Apa kabar sob?? Ketemu lagi setelah 3 minggu kita tak jumpo. Nyankodist berharap sehat semua, kalau ada yang kurang sehat Nyankodist doain semoga cepet sehat (Amiiin). Gimana pembahasan kemarin udah pada ngerti atau masih pada bingung? Atau malah ga tertarik sama sekali (jadi sedih ni, soalnya denger isu Flash bakal ditinggalin, lalu bagaimana dengan ActionScriptnya)?? Tapi ga apa2 meskipun demikian Nyankodist bakal nyoba konsisten hingga nanti dari materi-materi yang nyankodist kasih ini bisa membuat proyek aplikasi yang bermanfaat buat para pembacanya yaitu Nyankoders. Oia PRnya gimana?? Gampang kan, (Nyankoder said : gampang banget, coding is pulen brow). Nah karena pada materi-materi sebelumnya kita udah ngebahas tentang symbol Button dan Movie clip, maka sekarang kita bakal coba bahas sedikit tentang
Halaman 60 dari 98
penggunaan button dan Movie clip selebihnya kita coba praktik. Lalu inti pelajaran edisi kali ini apa pey??jawab: inti pelajaran ActionScript pada edisi-6 ini adalah mewarnai objek dengan menggunakan button dan movie clip, selain itu Nyankoder juga belajar untuk membuat objek di Flash.
Kode Warna Tau kah (kata bakunya “Tahu kah”) sobat Nyankod atau Nyankoder (saya panggil sobat Nyankod ja yaa, biar lebih akrab…hehehehe) bahwa ActionScript dalam membuat atau mengolah warna menggunakan kode nilai warna hexadecimal. For Example: nilai #00FFFF untuk warna biru (kenapa biru: becoz I like blue hehehehe). So pasti sobat Nyankod harus tau donk kode-kode nilai warna dalam hexadecimal kalau mau mewarnai objek atau gambar dengan ActionScript. Terus gimana pey caranya biar bisa tau kode nilai Hexadecimal warna tertentu??? Nah caranya gampang, sobat Nyankod ga perlu susah-susah menghafal kode nilainya cukup dengan melihat pada “panel warna” yang udah di sediakan oleh software Adobe Flash. Gini ni caranya untuk munculin panel warnanya, check this out : 1. Pada toolbox (di sebelah kanan(Adobe Flash CS atau kiri (Macromedia Flash 8) lembar kerja), klik salah satu kotak warnanya. Boleh warna Stroke atau Fill. 2. Pilih salah satu warna terus perhatikan kode warna yang tampil (nongol). Contoh pilih warna biru, di baris pertama kolom ke enam, nongol kode warna di atasnya yaitu #0000FF, Look at this picture:
Halaman 61 dari 98
Nah ada lagi supaya lebih yakin kita ga salah menuliskan kodenya, sobat bisa meng-copy kode itu langsung dari panel warnanya caranya yaitu “setelah sobat pilih warnanya, klik lagi warna Fill atau Strokenya (saya pilih yang Fill Color sebagai contoh) kemudian kamu langsung ke kode warnanya dan klik di situ, kalau udah terseleksi tekan Ctrl+c untuk meng-copynya kemudian tinggal tekan Ctrl+v untuk memPastenya” gituuuu,…gampang kan. Kode nilai warna yang terlihat di panel warna itu di gunakan sebagai data yang diolah program. Kode nilai warna terdiri dari 7 karakter, dan setiap warna itu memiliki kode nilai yang berbeda-beda tentunya, jadi dari pada repot menghafalnya mendingan ikutin cara di atas tadi…hehehehehe.
Halaman 62 dari 98
Fungsi Button & Movie clip Inget ga sobat fungsi button dan Movie clip itu apa?? Kalau lupa saya ingetin yaa, symbol button itu berfungsi sebagai tombol yang nanti di bakal digunain buat mengeksekusi perintah dari ActionScriptnya. Kalau symbol movie clip merupakan objeknya yang bakal kita jadiin target dari perintah ActionScriptnya yang ada pada tombol. Jadi lebih jelasnya gini, kita bakal gunain button (tombol) yang nantinya pada ActionScriptnya jika tombol tersebut ditekan maka sesuatu akan terjadi pada objek lain yang kita tuju. Ingin lebih dan lebih lagi jelasnya, kita praktekin aja deh bagaimana buat tombol dan dan movie clipnya. Dalam praktik ini kita bakal buat tombol dan kita beri ActionScript untuk mengubah “warna” pada objek persegi panjang yang sebelumnya belum memiliki warna. Oke coding is pulen, check this out:
Note1: Yang ditunjukan dalam lingkaran merah itu yang dinamakan “layer”.
1. Buat objek lingkaran berwarna biru (diberi Fill warna biru) pada “layer 1” (check Note1) yang nantinya akan kita jadikan sebuah tombol.
Halaman 63 dari 98
2. Kemudian klik kanan pada ojek lingkaran tersebut lalu pilih convert to symbol kemudian beri nama tombol_blue dan type “button”, lalu OK
3. Lalu buatlah objek persegi panjang dengan warna garis luar adalah hitam (Stroke Color warna hitam) dan Fillnya berwarna putih.
Halaman 64 dari 98
Note2: Nama Instance (Instance Name) boleh sama dengan nama symbolnya, tapi yang dijadikan referensinya untuk ActinScript adalah nama instancenya.
4. Kemudian klik kanan dan pilih convert to symbol.. lalu beri nama “kotak_MC” dengan type “Movie clip”. Like this yo…
Dalam memberi nama instance sebaiknya huruf kecil semua tanpa sepasi. 5. Selanjutnya kita bakal memberikan Nama Instance (Instance Name) pada masing-masing objek. Caranya klik objek dan lihat pada panel Properties pada Instance Name beri nama dengan “tombol_biru” untuk tombol dan beri nama “segi_panjang” (Check Note2) untuk objek segi panjang tadi. Like this…
Halaman 65 dari 98
6. Setelah itu kita buat layer baru untuk menampung ActionScriptnya lalu kita beri nama layer itu dengan nama “actions”. Caranya klik pilihan “new layer” pada panel “Time Line” kemudian klik 2x pada layer tersebut dan beri nama “actions”. Like this…
Note3: Tanda lingkaran merah menunjukan “Frame”
7. Kemudian klik frame 1(Check Note3) pada layer actions kemudian tekan F8 untuk memunculkan panel action. Kemudian tuliskan ActionScript sebagai berikut : warna = new color (); action di atas artinya: sobat membuat objek warna baru dengan nama variabelnya adalah “warna”. Kemudian tambahkan (sisipkan) nama instance movie clip yaitu “segi_panjang” ke dalam tanda kurung, like this : warna = new color (_root.segi_panjang); Script di atas berarti membuat objek warna baru pada movie clip segi_panjang yang sudah kita buat tadi. Nah tadi sobat dah buat sebuah
Halaman 66 dari 98
Note4: Penulisan kode nilai warna yang berada pada panel warna dengan kode warna yang dituliskan pada ActionScript itu memiliki perbedaan. Untuk penulisan kode nilai hexadecimal pada panel warna dengan tanda # di depannya harus sobat konversi menjadi 0x. Contoh: jika pada panel warna (kotak warna) kode nilainya adalah #FF0000 maka pada ActionScript kita tulis dengan 0xFF0000.
tombol dengan nama instance “tombol_biru” kan, nah kita bakal menuliskan script yang perintahnya agar menjadikan tombol yang sobat buat itu menjadi eksekutor pengubah warna. Sekarang sobat tambahkan lagi dibawahnya script berikut : tombol_biru.onRelease=function() { warna.setRGB (0x0000FF); } Script di atas berarti sobat membuat fungsi yang akan dieksekusi setiap kali tombol ditekan. Fungsi itu berisi perintah yang menerapkan warna dengan kode 0x0000FF(biru) ke dalam objek warna. Check Note4. Script utuhnya sebagai berikut: warna = new color (_root.segi_panjang); tombol_biru.onRelease=function() { warna.setRGB (0x0000FF); } 8. Eksekusi hasilnya dengan menekan Ctrl+Enter. Hasilnya :
Halaman 67 dari 98
PR Oke sebagai uji coba dan pengemabangan sobat Nyankod, alangkah baiknya saya berikan PR yaaa, biar sobat Nyankod ga lupa dengan materi yang sudah disampaikan. Oke langsung aja PRnya: 1. Buat 3 buah tombol berwarna merah, kuning, hijau (kayak yang di traffic light) dan sebuah lingkaran besar yang di jadikan target perubahan warna sesuai dengan warna tombol. 2. Hasilnya diharapkan demikian, kalau tombol warna merah ditekan maka objek lingkaran besar akan berubah menjadi warna merah, begitu juga dengan tombol kuning dan juga hijau. 3. Semoga selamat mengerjakan (Selamat mengerjakan aja pey, ga pake semoga,..hadeeeeeuuuuh)
Penutupan Referensi book: Membuat Mini Game Seru dengan Flash oleh A. Zainul Fanani dan Arry Maulana Syarif
Nah segitu aja dulu materi dan praktiknya untuk edisi 6 kali ini semoga bisa bermanfaat bagi temen yang baru belajar atau dalam mencari referensi yang di caricari, sebelumnya mohon maaf apabila ada kekurangan dalam penulisan atau kata-kata yang kurang sopan dalam edisi kali ini dan juga sebelum-sebelumnya maklum namanya juga manusia (di maklumi pey, lo kan sering salah pey..hahahaha). Oia maaf dari tadi ada kata pey-pey dalam penulisan, pey adalah panggilan akrab saya (terus, penting buat gue,.. :‟(..ga penting banget..) jadi just call me tarompey. Kalau mau bertanya silahkan ke email saya, InsyaAlloh ga bakal saya konfirm (Lho pey,..dikonfirm dong) owh maaf maksud saya bakal dikonfirm. Jangan lupa untuk mencoba, mencoba jangan takut salah, kalau salah cepet cari cara supaya benar karena kalau salah terus-menerus nanti bisa masuk penjara, tapi bukan hanya orang yang salah aja yang di penjara, tapi orang bener juga
Halaman 68 dari 98
dipenjarakan (ngomongin apa sih Peyyy…), Haah intinya di mana kita ada kemauan untuk mencoba sesuatu yang bermanfaat di situ ada jalan untuk menggapainya, Like this “there is a will there is a way” jangan pipis di depan busway (nanti bisa ketabrak). Oke sampai jumpa di edisi-7 sobat Nyankod.
Halaman 69 dari 98
[Perl]
Kresna Galuh D. Herlangga @kresnagaluh [email protected] http://kresnagaluh.com
Halaman 70 dari 98
Belajar Alay (Baca:Array) 2
Alay itu ibarat segelas air segar lengkap dengan es batu dan sirup ABC rasa melon di tengah kehausan padang pasir. Segar, menyejukan dan penghilang dahaga. Dengan alay, seorang siswa SMA bisa menjadi bintang kelas, dengan alay seorang dokter bisa menjadi pramugari, dengan alay seorang guru bisa menjadi burung elang raksasa. Begitulah kira-kira alay. Intinya alay bisa mengubah kehidupan seseorang menjadi lebih berwarna. (Jangan minta saya untuk menjelaskan alasannya) Pertanyaanya adalah, apakah alay juga membuat hidup kamu menjadi lebih berwarna?? Baik, terlepas dari jawaban kamu iya atau tidak, mari kita lanjut... Oh ya, lagi-lagi 3 minggu telah berlalu, dan lagi-lagi kita berjumpa lagi. Dan lagi-lagi, gimana dengan PDKT-annya dengan Perl???????? Udah sejauh mana nih?? Berapa Km jauhnya?? 4 Km kah?? Atau 10 Km?? Sejauh apa pun itu, nggak ada artinya lho kalo kamu nggak mencoba untuk menembaknya. Malahan dia akan bingung dengan niat dan ketulusan kamu dalam menjalani PDKT-an ini. Bisa jadi dia ragu dan menganggap kamu nggak serius dalam mendekatinya. Atau parahnya lagi, dia berpikir kalau kamu hanya mempermainkannya saja. Maka dari itu, segeralah tembak...!!! Terlepas dari kemungkinan diterima atau dihina. ╭(^▽^)╯ (Lagi-lagi sulit untuk disambungkan arah pembicaraannya) Tapi serius lho bro, PDKT-an itu emang nggak gampang. Buktinya orang seganteng saya aja dari dulu susah banget buat PDKT-an sama Agnes Monica. Padahal kalo dipikir-pikir, nggak ada kurangnya. Ganteng iya, keren apalagi... Andaikan kau
Halaman 71 dari 98
tau apa yang ada di dalam pikiranku wahai Agnes.... Tapi ya sudahlah, kembali ke laptop... Baik, mari kita mulai... Kemarin kita udah sampe pada pembahasan tentang list. Masih ingetkah?? Sebelumnya mari kita uji dengan beberapa pertanyaan ini: 1. Mungkinkah sebuah list tidak memiliki elemen?? 2. („singa‟, „dinosaurus‟, „naga‟, „elang‟, „singgih‟, „toni‟, „oriza‟) dari ketujuh elemen dalam list tersebut, manakah yang disebut elemen ke-3 dan ke-5? 3. Bagaimana cara menuliskan list yang berisi elemen angka 1 sampai dengan 67?? 4. Bagaimana caranya membuat list yang berisi angka-angka dari angka yang lebih besar ke angka-angka yang kebih kecil?? 5. Apa keluaran dari (“pastagigi”, “celana” , “pedang”, “naga”, “pesawat terbang”, “bakwan”)[5]? Seperti biasa jou, kalo kamu nggak bisa jawab pertanyaan di atas, mendingan langsung aja buka edisi sebelumnya, trz baca lagi, dan kalo udah paham baru boleh lanjut baca edisi ini.... hahahaha... (suruh siapa lupa!! -__-). Oh ya jou, jadi gini, saya minta maaf, sebelumnya ada kesalahan sedikit. Maklum, kadar alaynya ketinggian, akhirnya salah ketik deh. Di edisi sebelumnya ada 2 buah contoh program yang salah ketik. Yang pertama list_akses.pl dan yang kedua list_akses_banyak.pl. Hehehe.... Harusnya gini: list_akses.pl print ( ("pastagigi", "celana" , "pedang", "naga")[3] );
Halaman 72 dari 98
list_akses_banyak.pl print ( ("pastagigi ", "celana " , "pedang ", "naga ")[1, 3] ); Ampun ya, mohon maaf.... hehehe (^o^)v Salah ketik. Di edisi ini saya sertain lagi deh source code yang benernya. Yang penting nyankoders jangan marah ya.... (#^o^#) Baik, mari kita mulai pembahasan kali ini...
Akses List dengan Range Sebelumnya kita udah membahas cara membuat list dan cara mengaksesnya. Nah buat pembukaan, kita juga masih membahas hal yang sama, tapi bedanya cara mengaksesnya dengan menggunakana range. Oke, biar lebih mudah buat dipahami, mubasyarotan (bahasa arab: langsung) aja kita pake contoh:
Program: list_akses_range.pl 1 2 3 4 5 6 7
#!/usr/bin/perl # nama program : list_akses_range.pl print ( ("Jan", "Feb", "Mar", "Apr", "May", "Sep", "Oct", "Nov", "Dec")[2..8] );
"Jun",
"Jul",
"Aug",
Halaman 73 dari 98
Maka, apabila dijalankan hasilnya adalah sebagai berikut:
$ perl list_akses_range.pl MarAprMayJunJulAugSep
$ Itu kan murni range, nah kita juga bisa bikin yang lebih kompleks lagi, yaitu campuran dengan yang sebelumnya (akses banyak). Nih contohnya!
$ Dari dua contoh barusan, nggak usah saya jelasin kan kenapa tulisannya nyambung semua dan nggak ada spasinya?? Sampe di sini, artinya kita udah siap buat masuk ke pembahasan alay yang sesungguhnya...
Halaman 74 dari 98
Ke-Alay-an yang Sesungguhnya (ARRAY) Oke... udah siap buat menghadapi ke-alay-an yang akan terjadi?? Sebentar lagi kita akan berjumpa dengan alay dengan sebenar-benar alay. Dalam hitungan mundur.... 5 4 3 2 1 Tadaaaa.... Alay adalah sebuah proses pendewasaan diri. Alay itu ibarat seorang nenek yang membawa gayung yang akan memandikan cucunya. Alay itu ibarat om jin yang sedang prustasi ketika menghadapi soal UN. Alay itu ibarat kue ulang tahun yang dibiarkan membusuk di tong sampah. Alay itu, ya alay... ː̗(^▽^)ː̖ Dan alay (array) yang sebenarnya merupakan kumpulan atau himpunan dari skalar-skalar (masih inget tentang skalar??). Biar lebih gampang, array merupakan sebuah variabel yang berisi list. Dan kita udah bahas tentang list. So, sekarang udah paham kan, kenapa sebelum membahas array kita wajib mengerti terlebih dahulu tentang list. Inget ya brow, semua array pastilah berisi list, sedangkan nggak semua list merupakan array. Dan satu lagi, setiap dari kita psati pernah alay.... #memaksakankehendak
Halaman 75 dari 98
Baik, sekarang mari kita mulai dengan membuat sebuah array. Andaikan saya punya sebuah list: ("p4sT4G191", "ceL4n4" , "p3d4nG", "n4g4", "b4Kw4n") Maka cara memasukannya ke dalam sebuah array sangatlah mudah. Caranya adalah sebagai berikut: @al4y = ("p4sT4G191", "ceL4n4" , "p3d4nG", "n4g4", "b4Kw4n"); # Keterangan: tulisan di atas, dibacanya adalah # @alay = (“pastagigi”, “celana”, “pedang”, “naga”, “bakwan”) Yupi, bener banget. Kalo di variabel biasa kita pake awalah $, maka untuk membuat array kita perlu awalah @. Tapi pada intinya array pun merupakan sebuah variabel. Sama seperti list, array pun memiliki nomor indeks elemen array. Dan sama juga, dalam array pun nomor indeks elemen dimulai dari 0 (dimulai dari sebelah kiri). Jadi elemen array ke-1 pada array di atas adalah ceL4n4. Sedangkan p4sT4G191 adalah elemen array ke-0. Baiklah, bila dibuat contoh programnya adalah sebagai berikut:
Program: alay_banget.pl 1 2 3 4 5 6 7
#!/usr/bin/perl # nama program : alay_banget.pl @al4y = ("p4sT4G191", "ceL4n4" , "p3d4nG", "n4g4", "b4Kw4n"); print @al4y,
$ Tuh kan, style alay ternyata punya kelebihan, yaitu susah dibaca. Udah kayak enkripsi aja ya. Hehehe. Dan satu hal saran saya apablia kamu mau menggunakan style alay dalam kehidupan bermasyarakat kamu, baik itu di sms, twitter, facebook, email, atau bahkan di buku pelajaran kamu, gunakanlah bahasa alay yang baik dan benar serta ramah lingkungan, tambahkanlah spasi di setiap kata. Kalo nggak pasti ribed banget buat dimengerti.
Mengakses Elemen Array Di atas tadi kan buat nampilin array secara keseluruhan. Nah sekarang saya mau kasih tau cara mengakses array berdasarkan nomor indeks elemennya. Konsepnya mirip sih dengan list yang kemarin kita bahas. Oh ya, sebelumnya tadi saya pernah bilang kalau array pada dasarnya adalah variabel. Lebih tepatnya adalah kumpulan variabel. Jadi kalau kita punya sebuah array dengan nama @al4y, kesimpulannya adalah kita punya beberapa variabel $al4y[0], $al4y[1], $al4y[2], ... , $al4y[n]. n di situ tergantung dari banyaknya elemen. Baik, biar lebih danta (bahasa betawi: „jelas‟), mari kita simulasikan dengan contoh aja. Sebagai standar ke-alay-an yang telah kita bangun tadi, maka saya msih tetap menggunakan elemen array yang tadi.
Halaman 77 dari 98
Program: alay_banget.pl 1 2 3 4 5 6 7 8 9
#!/usr/bin/perl # nama program : elemen_alay.pl @al4y = ("p4sT4G191", "ceL4n4" , "p3d4nG", "n4g4", "b4Kw4n"); print $al4y[1], print $al4y[4], print $al4y[3],
"\n"; "\n"; "\n";
Outputnya gini:
$ perl elemen_alay.pl ceL4n4 b4Kw4n n4g4
$ Gimana, mudahkan??? Kita punya array, dan kita bisa panggil sesuka hati kita elemen yang kita mau. Bukankah itu keren?? Jadi, dengan array kita bisa mudah membuat banyak variabel, dan kita bisa gunakan dalam berbagai kesempatan dan kebutuhan. Semakin menarik bukan?? Baik, di edisi ini saya punya satu lagi terkait array. Mari kita lanjut!!!
Halaman 78 dari 98
Menambah ke-alay-an (ARRAY) Dalam hal apa pun penambahan dan peningkatan itu bisa saja terjadi, dan itu udah selayaknya terjadi. Termasuk dalam ke-alay-an. #ngarang Kamu udah punya array, lengkap dengan elemen-elemenya yang setia menemaninya. Nah, karena kamu males bikin array saingannya, biar nggak bertentangan dan nggak mengganggu stabilitas ke-alay-an kamu, akhirnya kamu berniat menambahkan elemen-elemen baru pada array yang udah ada. Nah kalo kasusnya demikian hingga, maka caranya adalah sebagai berikut:
Horeee!!! \(^o^)/ akhirnya sampe juga pada penghujung acara. #acarautama Oke nyankoders semuanya, untuk pembahasan edisi ke-6 kali ini saya cukupkan sampe di sini dulu ya. Tp tenang, 3 minggu ke depan kita ketemu lagi kok. Jadi nggak usah kangen githu dong... Di edisi depan saya bakal ngebahas sesuatu yang lebih menarik lagi lho. Mau tau?? Tunggu aja ya. (∩_∩) Jangan lupa pesan saya ya, belajar pemrograman itu emang kadang bikin stress, tapi bila kita terus mencoba dan mau berusaha, pasti lama-lama bisa juga. Ya sama kayak nembak cewek githu, klo langsung diterima kan jadi nggak asyik dan nggak seru, harus ada perjuanganya dulu. Hehehe... dan yg terakhir, cemungudhh eaa!! Every time is learning…. @KresnaGaluh Sumber: Begining Perl Third Edition; James Lee; Apress Learning Perl; Randal L. Schwart, Tom Phoenix & Brian D Foy; O'REILLY
Oleh-oleh edisi ini: Buatlah sebuah array dengan nama @buah yang berisi nama buah-buahan (minimal 5 elemen). Kemudian buatlah array baru dengan nama @pohon dan berisi nama-nama pohon (minimal 4 elemen). Kemudian buatlah sebuah array baru dengan nama @gabungan, dan masukan kedua array sebelumnya (@buah dan @pohon) ke dalam array @gabungan. Setelah itu buatlah sebuah masukan dari user dengan <STDIN> untuk menampilkan elemen tertentu dari array @gabungan. Contoh user memasukan angka 1, maka akan tampil elemen array ke-1 dari @gabungan. Bila user memasukan angka 0, maka elemen ke-0 yang akan tampil. Begitu seterusnya.
Halaman 80 dari 98
[PHP]
Ahmad Oriza Sahputra @oriza_sahputra [email protected] http://orizasahputra.blogspot.com
Halaman 81 dari 98
PUNK SIEUN (Baca : Function) Assalamualaikum.Wr.Wb.. Salam Sejahtera untuk kita semua. Gimana kesannya setelah icip icip artikel PHP edisi kelima nih nyankoders???.. pastinya udah tambah menteb sekarang, kalo masih ada yg kurang jelas atau paham, monggo email penulis atau nyankod. InsyaAllah ditulungin dah.. tenang aja. Gak usah sungkansungkan dan anggap aja kaya rumah sendiri ya.. Okeh.. di materi edisi ini penulis mohon izin buat jelasin apa itu PUNK SIEUN dalam PHP. Arti punk (pang) mah pasti udah pada tau lah, kalo diterjemahin kedalam bahasa India, itu artinya paling. Sedangkan sieun artinya takut, coba deh tanya orang sunda kalo gak percaya..xixixi. Yawda pokoknya gitu deh. Kalo kita gabung keduanya pengertian PUNK SIEUN menjadi “subprogram (subrutin program) yang melaksanakan perintah tertentu”. Buat apaan tuh kakek??.. Gak tau, buat apaan ya, ngapain sih dipelajarin males juga jelasinnya. Lho kok.. :D. Coba inget-inget lagi latihan yang kemaren2, pastinya banyak pake fungsi kan?? Iya juga ya… Tapi yang nyankoders pake semuanya fungsi yang udah disedian PHP. Ada waktunya juga kita harus buat fungsi sendiri, sesuai dengan program apa yang kita mau buat. Pokoknya fungsi itu sangat bermanfaat buat program. Kebayang kalo gak pake fungsi, kita harus ngulang perintah yang sama untuk ngolah program kita.. jadi gak efektif plus gak terstruktur. Adapun syntax fungsi kaya gini nih nyankoders : function nama_fungsinya ($argumen1, $argumen2, ..){ kode perintah/ekspresi/operasi.. }
Halaman 82 dari 98
Nama fungsinya ditentukan dulu apa, sesuaikan sama tugas si fungsi tersebut. Nama itu yang bakal kita panggil untuk digunakan dalam program. Terus, argumen. Argumen adalah parameter yang ikut diproses dalam fungsinya, jika nilai argumen berbeda, maka hasil proses dari fungsinya juga berbeda. Jika argumennya lebih dari satu, pisahin pake tanda koma (,). Sip.. selanjutnya yang didalem tanda kurung kurawal dan kurung kututup (tutup???? ;D) adalah perintah ekspresi lengkap, inisialisasi, ataupun perintah lainnya terkait dengan tugas fungsi yang mau kita buat. Sudahkah anda understand??? Belom… Weis.. bageuuuss. Yaud'ddah mari kita bikin fungsi sekarang!!!.
Bikin Fungsi (Perdana) Seperti biasa nyankoders, untuk lebih memahami fungsi langsung aja kita cobain buat bikin benda tersebut, dimulai dari yang sederhana. Oops lupa.. sebelumnya please lakukan tindakan ini sebelum mulai coding, sebab dikhawatirkan akan mengganggu jalannya pertandingan, 1. Pastiin hari ini gak ada pemadaman listrik dari PLN 2. Matiin hpnya, biar yayang gak nelepon mulu 3. Minum kopi yang banyak, klo bisa makan biji kopinya biar gak ngantuk 4. Minum obat pencegah buang air 5. Klo ada yg ngajak maen PES jangan dianggep, cuekin aja, kalo masih maksa timpukin aja pake monitor. Okeh.. mari kita kemon. #tibatiba Michael…!!!!! Michael…!!!!! Michael…!!!!! Iya mamih.????!!!!. ada paan sih tereak-tereak.. Beliin mamih terasi dulu di warung bu Yanto, mu nyambel nih. Haduuh.. lagi nulis,, tanggung.. ntar aja.. Wah, wah.. mau ga dapet jatah makan siang ya?? Iya.. ya de.. #gawat ini bisa kurus gw#. Ni lagi jalan.. (Nyankoders ane tunda ya bentaran.. tar kita lanjut, nyokap tadi nyuruh manasin mobil, mau shopping katanya) Menit pertama.. Menit kedua..
Halaman 83 dari 98
Jreeenggg.. Okeh.. sorry lama ya nyankoders, biasa ni.. orang kaya ;D. Sip.. sampe mana tadi?? Moo bikin fungsi… Ooo.. Cekidot ni :
Gimana???. Pasti sekarang udah ngerti ;D. Gampang kan cara bikin fungsi. Contoh yang penulis bikin ada 3 jenis fungsi, ada yang tidak menggunakan argumen sama sekali, ada yang pake satu argumen, dan ada yang pake lebih dari satu argumen. Hal yang perlu nyankoders perhatiin saat manggil fungsinya, pastiin nama yang dipanggil bener, kalo gak. bisa error programnya ya iyalah.. . Ada pertanyaan gak?? Gak ada.. Yang bener?? Udah ngerti kok.. luk et baris 29!! Oia ya ada tulisan
Halaman 85 dari 98
return, kok fungsi yg lain gak pake itu… Nah,, tuh ada pertanyaan. Fungsi ketiga itu ada tambahan return, manfaatnya untuk mengembalikan nilai dari fungsi yg kita buat, apa yang dikembalikan? Hasil operasi dalam fungsi, contoh : operasi ngitung persegi luk et baris 28, penggunaanya disesuaikan aja tergantung kebutuhan. Next.. setelah dapat gambaran tentang fungsi, sekarang kita coba pahamin argumen lebih jauh lagi, Yuukk Mari… Cuuss
Bentuk Argumen dalam Fungsi Om PHP mendukung tiga bentuk argumen yang bisa diproses dalam fungsi, diantaranya Pass By Value (default), Pass By Reference, dan Default Argumen Value. Dalam kasus tertentu saat membuat program, kita pasti akan menemui beberapa kasus yang membutuhkan jenis argumen yang berbeda-beda masa sich???? #matamenataptajam… Serius guaaaa. Disitulah mengapa Om PHP udah nyediain berbagai bentuk argumen yang bisa kita pake, sebenernya bahasa pemrograman lain juga kaya gini, punya bentuk argumen yang berbeza-beza dalam fungsinya, udah menjadi standart bro. Okeh.. pertama Pass By Value Bentuk argumen dengan cara Pass By Value berarti membuat fungsi dengan cara manfaatin variabel baru dalam fungsi yang kita buat, jadi argumen aslinya tidak ikut berubah, hanya kita proses, jadi fungsinya hanya dilewati oleh nilai argumen. Cekidot :
Program: pass_by_value.php 1 2 3 4 5
function kuadrat($nilai){//argumennya adl $nilai $hasil = $nilai * $nilai;//jadikan $nilai sebagai operand return $hasil;//kembalikan $hasil }
Halaman 86 dari 98
6 7 8 9
//implementasi $x = kuadrat(5); echo "Kuadrat dari 5 adalah $x"; ?>
Sip.. udah ngerti kan?? Pertama kita bikin fungsi perhitungan kuadrat dengan var $nilai sebagai argumen, didalamnya kita tambah satu var lagi sebagai penampung perhitungan dari nilai argumen yang didapat, luk et baris 3. Setelah jadi fungsinya, kita panggil aja deh.. Output:
Mari kita kemon ke yang kedua, Pass By Reference. Pass By Reference berarti membuat fungsi dengan memanfaatkan argumen aslinya, si argumen asli bisa kita jadikan penampung nilai baru. Khusus untuk yang satu ini tambahkan tanda ampersand (&) dalam argumennya yooo… Coba cek :
Program: pass_by_reference.php 1 2 3 4
function gabung(&$kalimat){//tambahkan tanda ampersand(&) $kalimat .= " tuh ingusnya meler lap dulu..!! ;D”; return $kalimat;
Last.. Default Argument Value, sok atuh bahasa Indiain, artinya kan nilai argument default, maskudnya dalam fungsi yang kita buat, si argumen kita isiin nilai defaultnya berapa.. Misal kita mau bikin program pengulangan kalimat. Jadinya kaya gini nih :
Program: default_argumen_value.php 1 2 3 4 5 6 7
function ulang_kalimat($kalimatnya,$jml_ulang = 5){ for ($i=1;$i<=$jml_ulang;$i++){ echo ($kalimatnya.",,,ke-".$i." "); } } //implementasi
Halaman 88 dari 98
8 9 10 11 12 13 14 15 16
echo "Contoh pertama : "; $a = "Kamu emang ganteng.. tapi masih gantengan saya"; ulang_kalimat($a); echo " "; echo "Contoh kedua : "; $a = "Kamu emang ganteng.. tapi masih gantengan saya"; ulang_kalimat($a,3); ?> Output:
Okeh… luk et baris 2, disitu ada tambahan argument yang udah dikasih nilai default $jml_ulang. Itu yang bikin beda sama bentuk argument yang lain. Setelah kita bikin fungsinya, kita bisa panggil pake dua cara berbeda. Pertama kita panggil tanpa mengisi nilai argumen luk et baris 10, maka yang dipake adalah nilai default. Kedua panggil pake nilai argument yang baru, luk et baris 15, yang akan diproses oleh fungsi adalah nilai yang baru kita masukan. Xixixi.. menteb kan?? Mudah-mudahan ngerti ;D
Halaman 89 dari 98
Fungsinya Manggil Diri Sendiri Fungsi kok manggil diri sendiri.. mangnya bisa ya??? Ya eeeaalah, bisa tau. Itu namanya fungsi Rekursif. Di dalam struktur fungsinya dia manggil lagi dirinya sendiri. Gambarannya : function nama_fungsinya (){ .. nama_fungsinya(); .. } Suatu saat pasti kita butuhin struktur fungsi yang kaya gitu, jadi harus kita pahamin. Biasanya berguna buat bikin program sorting. Untuk contoh nyatanya ayo kita bangun sebuah fungsi faktorial, masih inget kan apa itu faktorial?? Lupaa… Masa sih?? Itu pelajaran tk kali.. kerjaan faktorial apa ya.. susah jelasinnya, di kasih contoh aja deh, misal kita mau hitung faktorial dari 3, maka cara ngitungnya 3 x 2 x 1 Gituuuu.. udah pahamkah?? Ooo gitu ya.. paham Bageuuusss.. sekarang cekidot :
$hasil = get_faktorial($nilai); echo "Faktorial $nilai adalah $hasil"; ?> Output:
Jika nilai argumennya adalah 0 maka kita kembalikan nilai 1. Inti proses rekursifnya atau pemanggilan terhadap diri sendiri ada di baris ke-6 bro.. disitu sistem kita buat otomatis mengurangi nilai argumen satu poin ketika menjalankan fungsi, setelah itu kita kalikan dengan nilai argumen sebelumnya. Gampang begete kan?? Penulis rasa cukup sampai disini untuk pembahasan Punk Sieun.. Maapin ya kalo ada pembahasan yang kurang lengkap, maap kalo ada kesalahan dalam penyampaiannya #sambilsalaman, dan maap juga kalo ada kata yang terdeteksi kurang sopan. Makan sekoteng sambil liat dedemit.. yang jualnya bencong pake wig.. penulis ganteng mohon pamit.. see u next weeg.. ^.^ Keep Learning and Be The Best
Halaman 91 dari 98
Referensi : Utomo, Eko Priyo. 2008. 125 Tips Menguasai Bahasa Pemrograman PHP. Yrama Widya: Bandung Peranginangin, Kasiman. Aplikasi Web dengan PHP dan MySQL. Andi: Yogyakarta Komunitas Open Source Indonesia. 2008. Bahasa Pemrograman Open Source. Detiknas: Jakarta
Halaman 92 dari 98
#nyanKomik Siapa bilang Cuma manusia biasa aja yang bisa galau?? Jangan salah jou, para programer pun kadang ngerasain galau yang tak terperikan itu. Nih Nyankod kasih tau beberapa hal yang bisa menyebabkan kegalauan para programer. Komputer/Laptop Tersayang Rusak Mendingan ditinggal pacar deh daripada komputer/laptop kesayangan rusak. Apalagi kalo datanya banyak juga menyimpan banyak kenangan. Bayangin jou, dialah yang selalu menemanimu dan mengerti kamu di saat orang lain nggak ada yang mampu mengerti, kini dia pergi meninggalkanmu... Yudha Pangesti D. Syailendra @duysyailend [email protected]
Halaman 93 dari 98
Mati Lampu Berkepanjangan Hidup sendiri itu rasanya nggak enak banget lho. Sepi.... bikin mello hati. Cuma ngelamun ngeliatin langit dan meratapi nasib. Ya itu mungkin terjadi kalo lagi mati lampu. Pokoknya nyebelin banget deh. Rasanya dunia ini sepi sekali. Coba kalo bisa ngeluarin listrik sendiri dari dalam tubuh, pasti nggak bakalan ngerasain kesepian deh. Bisa selalu bersamanya.
Halaman 94 dari 98
Error Terus Pas Coding Yang namanya error pas lagi coding itu hal yang wajar, bisa jadi karena salah ngetik atau salah logikanya. Ya itu wajar banget kok. Dan itu emang hal yang lumrah terjadi. Tapi masalahnya kalo errornya itu terus-terusan, dan nggak tau dimana letak kesalahannya. Hadeeuuuh bikin stress dan super galau. Mau dilanjutin tapi bingung, mau ditinggalin tapi udah tanggung. Akhirnya Cuma bisa meratapi nasib dengan bershower di kamar mandi.
Halaman 95 dari 98
Nggak Ada Project Nggak punya duit emang bikin galau tingkat nasional. Nungguin project yang tak kunjung datang. Kenapa dari sekian banyak project di dunia ini tak ada satu pun yang datang menghampiri. Entah apa yang salah. Tuhaaaaan.......... haruskah aku mengamen di jalan...!!
Halaman 96 dari 98
Nggak Ada Koneksi Internet Internet udah jadi kebutuhan, ya termasuk programer. Entah itu buat nyari referensi, belajar atau paling nggak buat eksis di social media. Dan ketiadaan koneksi internet akan menghasilkan kegalauan tingkat tinggi...
Halaman 97 dari 98
Bagi Kamu yang merasa Nyankod Magz bermanfaat, dan Kamu ingin memberikan apresiasi, maka silahkan kirimkan Testimoni Kamu ke [email protected]. Oh ya, jangan lupa dishare ya ke temen-temen yang laennya, supaya semakin banyak yang dapet manfaat dari Nyankod.