Transcript

Nyankod Magz edisi 4, 21 Maret 2012

Halaman 2 dari 85

Nyankod Magz Edisi 4 “Apem doWhile”

Love it and Earn It

Halaman 3 dari 85

Nyankod Magz ini dapat Anda sebarkan secara bebas untuk tujuan bukan komersial (nonprofit) dengan syarat

tidak mengurangi dan menambahkan isi kandungan di dalamnya. Tidak diperbolehkan melakukan penulisan

ulang, kecuali mendapat izin terlebih dahulu dari penulis.

Halaman 4 dari 85

Sapa Nyankod

Hi Nyankoders semua, yang ada di seluruh penjuru Nusantara. Love it and earn

it, kembali kami hadirkan hidangan istimewa buat Anda semuanya, NyankodMagz edisi ke-4. Tepuk tangan.... hehehe. Seperti biasa, jangan lupa siapin kopi hangat, gorengan dan beberapa list musik dangdut, biar belajarnya makin seru.

Gimana jou, masih semangat kan buat belajar pemrograman?? Harus dong.

Karena, belajar pemrograman itu merupakan sebuah kewajiban yang diperintahkan oleh Tuhan yang Maha Esa. Melakukannya akan mendapatkan pahala, dan meninggalkannya akan mendapat dosa. Hahah, ya mirip dengan sholat 5 waktu lah.

Cuma beda dikit doang. #ngacoBodoAmat

Emang sih, belajar buat jadi seorang master programer itu nggak gampang. Apalagi buat kita yang emang masih Newbie, belajar pemrograman itu bisa bikin keram otak. Penuh dengan onak, duri, halangan, rintangan yang akan menerjang. Tapi

kita nggak boleh nyerah kan jou? Bisa enjoy kok, klo belajarnya bareng Nyankod. Ketika belajar pemrograman buat jadi seorang master, kadang kita harus berhadapan

dengan Monster TV yang senantiasa menggoda kita dengan tayangan-tayangan yang membius, sampe kita lupa waktu. Kadang si Monster HP juga menyerang. Terus ada juga Monster yang sangat berbahaya, karena efeknya bisa membuat kita kecanduan,

yaitu Monster Joystick. Dan kadang kita pun harus berhadapan dengan monster yang paling berbahaya dan paling sadis di muka bumi, yaitu Monster Cewek Galak. Monster

yang inilah yang paling susah dilawan, apalagi kalau sudah ngeluarin jurus pamungkas, nagis sambil manja-manja gitu, bisa bikin lumpuh mendadak. Kadang kita juga harus berhadapan dengan Monster Mangkuk, yang akan menguras isi perut kita.

Dan monster terakhir yang sangat sulit ditaklukan adalah Monster Bantal, dia bisa melumpuhkan kita dalam sekejap, hanya melihatnya saja kita sudah terhipnotis. Itulah

tantangan kita buat jadi seorang master programer.

Halaman 5 dari 85

Tapi apapun halangan yang membentang, jika kita berusaha sekuat tenaga, pasti bisa kita lalui. Ingatlah teman, menjadi seorang programer itu merupakan hal

yang sangat mulia, ganjaran yang kita akan terima berupa Syurga yang di bawahnya mengalir sungai-sungai yang menyegarkan yang tidak akan pernah kering, juga

bidadari-bidadari yang jelita yang kecantikannya melebihi Monster Cewek Galak tadi. Maka berbahagialah bagi Anda yang dalam proses belajar menuju Master Programer. #ngacoBodoAmat

Oh iya boy, mulai edisi ke-4 ini, kami mencoba untuk menerapkan beberapa

hal baru untuk NyankodMagz, seperti judul edisi. Jika sebelumnya judul edisi NyankodMagz itu terkesan biasa, biasa banget, mulai edisi ke-4 ini, kami mencoba dengan judul-judul yang akan membuat Nyankoders sekalian menjadi sangat-sangat

lapar, bahkan saking laparnya, akan sulit membedakan mana kue dan mana buletin, atau bahkan parahnya nggak bisa membedakan mana tangan dan mana roti. Dan

karena kelaparan tersebut, apa pun itu akan Nyankoders makan dan lahap tanpa rasa bersalah dan tanpa tahu malu. Hahahaha.

Edisi ke-4 kali ini, kami beri judul "Apem doWhile". Benerkan bikin laper? Jadi nggak salah kalau di awal tadi saya sebut hidangan. Apem doWhile di ambil dari

Apem dan do while. Apem adalah sejenis kue yang sangat enak, yang keenakannya melebihi susu soda. Hahaha... Apem biasanya dibuat ketika menjelang lebaran (ada

yang bilang kue apem itu merupakan simbol maaf-memaafkan), dan kadang juga dibuat saat pesta pernikahan (terutama di desa-desa). Sedangkan do while, merupakan sebuah struktur kontrol perulangan dalam pemrograman. Untuk do while,

nanti akan di temui di beberapa artikel di edisi kok.

Oke, akhirnya, selamat menikmati hidangan kami kali ini Apem doWhile. Semoga Anda suka dan kenyang. Jangan lupa kasih komentar ya.

Love it and earn it

Nyankodist Team

Halaman 6 dari 85

Halaman 7 dari 85

Bila ada pertanyaan seputar Nyankod, atau mau bertanya

tentang pemrograman kepada Nyankodist 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!

@Nyankodist

Halaman 8 dari 85

Di dalam sini, ada..

PHP - CONTROL STRUCTURE Hello #{RubyWorld} – Bagian Hash dan Operator

ActionScript {Button Event} JavaScript – Pemilihan

Percabangan di Bahasa C

Bash Programming - Logic Perl - [Auto Convert, Input]

Halaman 10 Halaman 27

Halaman 40 Halaman 54 Halaman 64

Halaman 68 Halaman 73

Halaman 9 dari 85

[PHP]

Ahmad Oriza Sahputra

@oriza_sahputra [email protected]

http://orizasahputra.blogspot.com

Halaman 10 dari 85

CONTROL STRUCTURE

Assalamualaikum wr.wb.. , Salam Sejahtera untuk kita semua (pidato mode on). Apa kabarnya nih nyakoders??. Mudah-mudahan baik. Tak terasa artikelnya

sudah sampai edisi keempat sekarang, mudah-mudahan penulis terus konsisten untuk menulis majalah nyankod tentang PHP walaupun sebenarnya dalam penulisan artikel edisi ini dibarengi dengan keadaan hati penulis sedang galau (ciee ciee swit swiw).

Galaunya bukan soal cinta nih.. tapi setelah mendengar pidato pak Sby dalam pertemuan partai demokrat tentang kenaikan harga bbm.. waduh duh, ternyata benar

naik lagi. Imbas negatifnya adalah daya beli masyarakat yang akan menurun karena sudah pasti harga kebutuhan umum akan ikut naik dibarengi dengan tarif dasar listrik yang bertambah. Bukan tak mungkin kedepannya akan mudah kita menjumpai para

programmer yang menyedihkan, contohnya : Programmer yang diputuskan pacarnya karena tidak lagi mampu membeli bensin untuk jalan malam mingguan, dia juga gak

mampu bayar ongkos angcot. Programmer yang menjadi kurus, karena dia tidak mampu lagi membeli makan di warteg, jadi kalau lapar dia cuma membeli sepotong permen. Programmer yang jarang terkoneksi dengan internet karena dia tidak mampu

lagi membeli paket (solusinya beli yg murah trus jebol kuotanya, hahaha, penulis gak termasuk lho). Programmer yang tidak bisa lagi coding karena kantor atau rumahnya

sudah tidak mampu bayar listrik, alhasil ketika komputernya lowbatt dia kebingungan mencari sumber energi, mungkin salah satu solusi mereka adalah mencolokan kabel komputer ke hidungnya sendiri (hahaha) dijamin ngecharge, sebenarnya bisa saja sih

rampas laptop temennya atau numpang coding di wartel hehe. Oops.. jadi meleber dan mengada-ngada aja nih :D. Udah ah…

Dalam Artikel edisi keempat yang berjudul agak berbahasa jawa ini penulis

akan mencoba membahas struktur kontrol. Struktur kontrol diantaranya digunakan

Halaman 11 dari 85

untuk menangani kasus suatu kondisi dan aksi (bentuk bersyarat), menghentikan proses program, menghemat script yang kita buat dengan cara perulangan dsb.

Penggunaan metode ini sangat bermanfaat untuk mengatur jalannya program/aplikasi yang kita buat. PHP telah menyediakan bermacam statement untuk kita gunakan

dalam membangun struktur kontrol, seperti :

Mari kita pahami struktur kontrol dengan latihan seperti biasanya.. source code

edisi ini bisa anda download di http://www.mediafire.com/?k7vjn2kr8mzac74.

Statement if, if .. else, if .. elseif .. else Struktur kontrol yang satu ini berfungsi menangani kasus yang berhubungan

dengan kondisi dan aksi (bentuk bersyarat). Blok pernyataan akan dieksekusi jika

Halaman 12 dari 85

sudah memenuhi suatu kondisi tertentu. Contoh sederhana : jika nilai dibawah 5.. maka nyatakan tidak lulus. Jika kita implementasikan dalam syntax PHP menjadi :

if ($nilai < 5) { echo ―Tidak Lulus‖;

}

Statement kontrol ini selalu dimulai dengan kata if (jika), ekspresi yang berada

dalam tanda kurung adalah ekspresi kondisi, yang menjadi pemicu adanya suatu aksi. Suatu kondisi, umumnya terdiri atas variabel dan nilainya. Kemudian ekspresi diantara

kurung kurawal dan penutupnya adalah suatu aksi. Suatu aksi biasanya merupakan ekspresi assignment atau pemanggilan fungsi atau bahkan bisa saja berisi suatu percabangan lagi. Seperti biasa, siapkan editor :D dan coba program berikut untuk

lebih memahami struktur percabangan :

Program: if.php

1

2

3

4

5

6

7

<?

// nama program : if.php

$nilai = 4;

if ($nilai <= 6) {

$keterangan = "Tidak Lulus";

}

echo "Nilai anda $nilai, anda dinyatakan $keterangan";

?>

Output:

Halaman 13 dari 85

Inisialisasi nilai adalah empat, sedangkan kondisi aksi yang kita buat adalah ketika nilai kurang dari sama dengan enam, isi keterangan dengan ―Tidak Lulus‖,

setelah itu tampilkan hasil di layar dengan perintah echo. Lalu bagaimana jika ada dua kondisi?.. yaitu lulus dan tidak lulus. Maka kita

lengkapi saja script diatas dengan statement if .. else, statement tersebut pada prinsipnya sama saja dengan statement if. Hanya saja statement if .. else dapat

menangani aksi lebih dari satu, jika satu kondisi tidak terpenuhi maka kerjakan aksi dua.

Program: if.php

1

2

3

4

5

6

7

8

9

<?

// if_else.php

$nilai = 8;

if ($nilai <= 6) {

$keterangan = "Tidak Lulus";

} else {

$keterangan = "Lulus";

}

Halaman 14 dari 85

10

11

echo "Nilai anda $nilai, anda dinyatakan $keterangan";

?>

Output:

Karena nilainya lebih dari 6, aksi pertama tidak akan dieksekusi karena kondisi

pertama tidak terpenuhi.

Okeh.. sudah mengerti kan??. Memang cukup mudah ya Nyankoders.. . Selanjutnya kita coba statement if .. elseif .. else dengan sedikit sentuhan komponen form gui dari html sehingga program yang kita buat akan lebih interaktif, statement

yang satu ini bisa menangani banyak kondisi yang bercabang-cabang. Statement yang satu ini bisa kita sebut sebagai if bersarang.

Program: if_elseif_else.php

1

2

3

4

5

<html>

<head>

<title>IF Bersarang</title>

</head>

Halaman 15 dari 85

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<body>

Pengecekan Nilai :

<form name="form_cek" method="get"

action="<?$_SERVER['PHP_SELF'];?>" >

<input type="text" name="nilai"/>

<input type="submit" value="Cek" />

</form>

</body>

<?

$nilai = $_GET['nilai'];//mengambil nilai dari form_cek

//if bersarang

if ($nilai == 10) {

$keterangan = "Lulus dengan nilai sempurna";

} elseif (($nilai >= 6) && ( $nilai <= 10)) {

$keterangan = "Lulus";

} else {

$keterangan = "Tidak Lulus";

}

echo "Nilai anda $nilai, anda dinyatakan $keterangan";

?>

</html>

Jika kita masukan nilai 10 dalam form, maka outputnya :

Halaman 16 dari 85

Statement switch

Sebenarnya statement kontrol yang satu ini berfungsi sama dengan statement if .. elseif .. else. Statement ini dapat menangani aksi dalam banyak kondisi dengan

cara yang berbeda. Tetapi umumnya kondisi yang dihandle bukan suatu kondisi perbandingan (>,<=,dll) melainkan suatu nilai.

Program: switch.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<html>

<head>

<title>Switch</title>

</head>

<body>

Nyankod English Dictionary, masukan kata :

<form name="form_cek" method="get"

action="<?$_SERVER['PHP_SELF'];?>" >

<input type="text" name="kata"/>

<input type="submit" value="Cek" />

</form>

</body>

<?

$kata = $_GET['kata'];//mengambil nilai dari form_cek

//memulai switch

switch ($kata)

{

case "eat":

$keterangan = "makan";

break;

Halaman 17 dari 85

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

case "drink":

$keterangan = "minum";

break;

case "run":

$keterangan = "berlari";

break;

case "sleep":

$keterangan = "tidur";

break;

default:

$keterangan = "Gak tau, cari aja sendiri..";

break;

}

echo "$kata artinya $keterangan";

?>

</html>

Output :

Halaman 18 dari 85

Program akan mengeksekusi aksi dalam pilihan default karena semua kondisi tidak terpenuhi, aksi dalam default adalah opsi terakhir.

Statement while, do .. while, for

Nah.. setelah kita mempelajari struktur kontrol kondisi aksi (bentuk bersyarat) ataupun percabangan selanjutnya kita akan mempelajari struktur kontrol perulangan.

Struktur ini seperti yang sudah penulis katakan sebelumnya sangat berguna untuk menghemat kode yang kita buat. Statement perulangan dalam PHP ada 3 jenis, masing-masing struktur mempunyai tatacara penulisan dan fungsi yang sedikit

berbeda.

Bagaimana mengontrol suatu perulangan??, caranya adalah memberikan ekspresi kondisi dalam syntaxnya. Statement perulangan akan melalukan aksi ketika kondisi bernilai benar, dan jika kondisi salah, stop aksi dan program akan melakukan

perintah selanjutnya. Oia.. nyankoders, coba baca lagi artikel tentang operator increment dan decrement, siapa tempe lupa?. hehe. Sebab kita akan

menggunakannya dalam struktur perulangan. Okeh.. cobalah source code berikut :

Program: while.php

1

2

3

4

5

6

7

<?

$i = 1;

while ($i <= 4){

echo "Aksi ke-$i <br>";

$i++;

}

?>

Output:

Halaman 19 dari 85

Baris pertama kita buat suatu variabel yg menjadi ukuran kondisi dan

mengisinya dengan nilai satu yaitu $i, baris kedua memulai struktur perulangan while

dan menyatakan kondisi yang diinginkan, baris ketiga kita nyatakan aksi apa yang ingin dilakukan, terakhir menaikkan nilai $i satu angka dengan operator increment.

Program tersebut akan terus melakukan looping selama kondisi bernilai benar. Cobalah ganti nilai inisialisasi $i dengan nilai diatas 4, sudah dapat dipastikan

program tidak akan menampilkan output apa-apa karena saat pertama load.. kondisi sudah bernilai salah.

Selanjutnya mari kita coba statement do .. while

Program: do_while.php

1

2

3

4

5

6

7

8

<?

$i = 5;

do {

echo "Aksi ke-$i <br>";

$i++;

}

while ($i <= 4);

?>

Output:

Halaman 20 dari 85

Mungkin nyankoders bertanya mengapa aksi masih dilakukan padahal kondisi saat pertama load sudah salah. Kondisi yang dibuat, ―ketika $i kurang dari sama

dengan 4 laksanakan aksi‖, sedangkan variabel pengontrol ($i) bernilai 5. Jawabannya sederhana, cara kompiler/interpreter dalam memproses kode adalah baris per baris dari atas sampai bawah. Posisi statement do berada diatas statement while, sehingga

saat pertama kali load, statement while yang merupakan kondisi pengontrol tidak berpengaruh apa-apa, minimal jika kondisi sudah bernilai salah diawal, aksi tetap akan

dilakukan sekali saja. Terakhir yaitu statement for, seperti yang lainnya statement for digunakan

untuk mengulang suatu blok pernyataan. Yang membedakannya dari yang lain statement lain, inisialisasi variabel pengontrol, kondisi, dan increment/decrement

ditulis dalam satu wadah, yaitu dalam tanda kurung. Cek source code berikut :

Program: for.php :

1

2

3

4

5

<?

for ($i=1;$i<=4;$i++){

echo "Aksi ke-$i <br>";

}

?>

Output program sama dengan output while.php yang dibahas sebelumnya.

Halaman 21 dari 85

Statement foreach

Statement yang satu ini khusus untuk menangani perulangan untuk variabel array. Masih ingatkah variabel array??. Pastinya ya. Cobalah :

Program: foreach.php:

1

2

3

4

5

6

7

8

9

10

11

12

13

<?

$prog_lang [0] = "PHP";

$prog_lang [1] = "Java";

$prog_lang [2] = "Perl";

$prog_lang [3] = "Ruby";

$prog_lang [4] = "Action Script";

$prog_lang [5] = "C";

$prog_lang [6] = "Javascript";

foreach ($prog_lang as $value){

echo "Bahasa Pemrograman : $value <br>";

}

?>

Output:

Halaman 22 dari 85

Variabel $value yang ada dalam source code bisa diganti dengan nama lain. Dalam statement foreach kita tidak perlu lagi membuat inisialisasi variabel pengontrol,

kondisi, dan inc/dec karena dengan statement tersebut interpreter telah otomatis mengindex isi dalam varibel array yang kita buat.

Statement break dan continue

Statement break digunakan untuk keluar dari perulangan yang sedang berjalan, sedangkan continue adalah melanjutkan program. Cobalah :

Program: break_continue.php:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?

$i=1;

while ($i <= 10){

echo "Aksi ke-$i <br>";

if ($i == 3 ){

echo "Nilai i sudah mencapai 3, program distop";

break;

} else {

$i++;

continue;

}

}

?>

Output:

Halaman 23 dari 85

Mengapa program berhenti di aksi ketiga, meskipun kita kondisikan loop lebih dari 5 kali?, jawabannya adalah karena adanya statement break. Statement break kita atur dengan bentuk bersyarat if ($i == 3 )... Program dihentikan ketika nilai $i sudah

mencapai 3. Lalu apa fungsi continue dalam source code tersebut?, yaitu melanjutkan loop ketika nilai $i belum mencapai 3 (disisipkan dalam aksi ketika kondisi else).

Statement return dan exit

Sip.. sampailah kita ke pembahasan statement return dan exit. Kedua statement ini berfungsi untuk menghentikan proses program yang sedang berjalan. Interpreter PHP akan memproses source code yang ditulis sebelum adanya statement

return dan exit saja. Cobalah :

Program: return.php:

1

2

3

4

5

6

7

8

<?

//loop satu

for ($i=1;$i<10;$i++){

echo "Semangat Belajar!";

}

return;

Halaman 24 dari 85

9

10

11

12

13

14

//loop dua

for ($i=1;$i<10;$i++){

echo "Malas Belajar!";

}

?>

Output:

Program: exit.php:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?

//loop satu

for ($i=1;$i<10;$i++){

echo "Semangat Belajar!";

}

exit("Program Dihentikan");

//loop dua

for ($i=1;$i<10;$i++){

echo "Malas Belajar!";

}

?>

Output:

Halaman 25 dari 85

Masing-masing program menampilkan loop pertama saja karena setelahnya terdapat statement return dan exit. Khusus untuk statement exit kita bisa menambahkan suatu parameter berupa suatu string. Oia.. Nyankoders.. sebenarnya

statement return juga akan kita temukan dalam pembuatan suatu fungsi. Dalam fungsi, statement return berfungsi untuk mengembalikan suatu nilai. Pembahasan

lebih detailnya akan disampaikan dalam materi fungsi. Penulis rasa cukup sampai disini untuk pembahasan struktur kontrol, mudah-

mudahan bermanfaat ^_^ . Mohon maaf jika pembahasannya kurang lengkap atau terdapat kesalahan dalam penyampaiannya.

Keep Learning and Be The Best

Halaman 26 dari 85

[Ruby]

Muhammad Singgih Zulfikar Anshori

@hirokakaoshi [email protected]

http://mszacompany.wordpress.com

Halaman 27 dari 85

Hello #{RubyWorld} –

Bagian Hash dan Operator

Love It And Earn It. Itulah yang dijunjung tinggi dalam setiap edisi nyankods, dari sekian ribu edisi (padahal baru 3) semua penulis berusaha agar setiap edisinya seru dan asyik untuk diikuti, dan kamu paham dengan apa yang disampaikan pada

setiap materinya secara berkesinambungan dan tersusun.

Baik, Untuk Ruby di edisi ke 4 ini kita akan membahas kelanjutan dari materi kemarin tentang array, yaitu HASH { } (...panjang ya bacanya gaya

SponsBobSquaerPants).... apakah itu? Darimanakah dia berasal? Makhluk apakah dia? Untuk selanjutkan akan dibahas di level 4. Sekarang revies dulu apa yang sudah kita pelajari di edisi kemarin, kesimpulan dan abstraksi sebagai berikut:

Sekarang revies dulu apa yang sudah kita pelajari di edisi kemarin,

kesimpulan dan abstraksi sebagai berikut:

1. Kamu sudah mengenal sifat-sifat array di Ruby.

2. Kamu sudah bisa memanggil isi dari array berdasarkan aturan indeks nya. 3. Kamu sudah bisa membuat objek array dan mengisinya dengan leluasa karena

array di Ruby adalah Objek. 4. Kamu sudah mengetahui beberapa fungsi yang sering digunakan dalam array dan

sangat fungsional nantinya.

Array di Ruby diibaratkan Parsel yang bisa diisi macam-macam dan tersusun

rapi dengan angka sebagai pengenalnya. Bagi yang belum / ketinggalan materi

Oke, sudah siap dengan

materi di Level 4 ini???

Let's Check This Out, Love It

And Earn It

APA ITU HASH???

Halaman 28 dari 85

kemarin, cb download edisi ke 3 nyankods di http://nyankods.blogspot.com. Ato baru pertama kali liat majalah ini, ya download aja ketiga edisi kemarin supaya paham

dan dapat mengikutinya.

Level Up Sebelum memulai, persiapkan syarat-sayarat berikut ini:

1. Buka Folder RubyDojo. 2. Buka Editor teks kesayangan kamu.

3. Buka Ruby editor interaktif (irb) di terminal | cmd.

HASH, makhluk apakah itu? Apakah dia seorang pahlawan pembela kebetulan dan pembasmi kesalahan??? Who Knows..

HASH atau tepatnya Hashes (dikenal sebagai array

assosiatif atau kamus) dengan tanda { } sebagai pengenalnya ini mirip dengan array yang isinya di indeks. Namun bedanya indeks di Hashes tidak terurut dengan angka

seperti di array, Hashes menggunakan indeks pengenal yang dapat kita tentukan dan dapat ber type apapun. Indeks di

Hashes dikenal dengan nama key/kunci dengan isi masing-masing sesuai dengan yang kita tentukan. Dalam mengisi Hashes ada 2 syarat, yaitu adanya key dan value/isi

dari key tersebut.

Gimana? Celotehan si Maskot cukup jelas kan. (ὸ.ό)

Halaman 29 dari 85

Hashes ini merupakan saudara serumpun dengan array, sama sama bertitisan bungkusan. Cobalah contoh berikut di IRB :

irb(main):001:0> h = {'pagi' => 'roti,keju,susu','siang'

=> 'nasi,sayur,ikan', 'malam' => 'susu,nasi,sayur,ayam'}

=>{"malam"=>susu,nasi,sayur,ayam",

"siang"=>"nasi,sayur,ikan", "pagi"=>"roti,keju,susu"}

irb(main):002:0> h['pagi']

=> "roti,keju,susu"

irb(main):003:0> h['siang']

=> "nasi,sayur,ikan"

irb(main):004:0> h['sore']

=> nil

irb(main):005:0> h['malam']

=> "susu,nasi,sayur,ayam"

Bagaimana kesannya? Ada yang membingungkan dengan contoh di atas.

Penjelasan :

1. h disini merupakan objek dengan tipe Hashes.

2. isinya terdiri dari key dan value, dengan ketentuan key => value untuk mengisinya.

3. Isi Hashes akan secara otomatis di urut berdasarkan struktur key.

4. Cara memanggilnya sama seperti array, yaitu dengan cara objek[key] yang dimaksud.

5. Apabila yang dipanggil tidak ada maka mengeluarkan nil . Sekarang coba kita masukan key dan value baru ke objek h :

irb(main):009:0> h

=>{"malam"=>"susu,nasi,sayur,ayam",

"siang"=>"nasi,sayur,ikan", "pagi"=>"roti,keju,susu"}

irb(main):010:0> h['sore']='bakso,jus'

Halaman 30 dari 85

=> "bakso,jus"

irb(main):011:0> h

=>{"sore"=>"bakso,jus", "malam"=>"susu,nasi,sayur,ayam",

"siang"=>"nasi,sayur,ikan", "pagi"=>"roti,keju,susu"}

Ketika objek Hashes diisi di awal, maka kontennya akn berurutan. Namun ketika objek sudah terbentuk kemudian ditambahkan key dan value baru maka akan dimasukan ke urutan pertama.

Baiklah, kita coba contoh berikutnya ya...

irb(main):008:0>b={'a'=>'aku',2=>'dua',1=>'satu',

'tiga'=>3}

=> {"a"=>"aku", 1=>"satu", 2=>"dua", "tiga"=>3}

irb(main):017:0> b

=> {"a"=>"aku", 1=>"satu", 2=>"dua", "tiga"=>3}

irb(main):018:0> b[1]='One'

=> "One"

irb(main):019:0> b

=> {"a"=>"aku", 1=>"First", 2=>"dua", "tiga"=>3}

Di atas adalah contoh penggunaan gabungan dari angka dan abjad. Seperti contoh sebelumnya kita membuat objek baru bertipekan Hashes, kemudian diisi

dengan key dan value tertentu, dan hasilknya akn terurut secara sendirinya. Kemudian kita ubah isi dari salah satu key, disini yang diubah yaitu key 1, yang

awalnya berisi 'satu' menjadi 'First'. Ketika mengubah isi dari key sudah ada, maka posisi urutannya tidak berubah karena disini hanya mengubah saja bukan membuat baru.

=====================++___++====++__++=================

Halaman 31 dari 85

Apabila masih kesulitan dalam membayangkan dari penjelasan di atas, maka untuk lebih jelasnya apa itu Hashes, apa itu key, apa itu value, apa itu objek...

lihat gambar dibawah ini:

Sapi merupakan objek yang ber-tipe-kan Hashes

sapi = {'pagi' => 'jeruk,tomat,semangka', 'siang' => 'rumput,

kangkung, jerami', 'malam' => 'semangka kuning, durian,stroberi'}

Halaman 32 dari 85

Bagaimana, sudah kebayang sekarang... pelototin aj terus tuh si sapi sampe laper.. hihii

Baiklah, cukup un tuk penjelasan dasar mengenai Hashes, sekarangsaatnya

rehat sejenak dan cobalah kerjakan soal dibawah ini :

1. Apa itu Hashes?

2. Bagaimana format penulisan Hashes? 3. Buatlah Hashes dengan key a sampai e kemudian value nya nama teman-

temanmu yang berinisialkan huruf tersebut. 4. Tampilkan value nya saja dari objek Hashes yang kamu buat. 5. Tampilkan isi hash dari huruf c sampai e.

Halaman 33 dari 85

HERO state :: Extra Fokus

Hero State, Selalu merinding kalau masuk tahap ini. Ya mungkin karena terbayang akan sulitnya halangan dan rintangan untuk menguasai level ini. Hehehe...

Yosh, kalau sudah Siap.... Mari kita mulai Hero State di Hashes. Untuk kasus

Hashes mungkin kmau baru mengenal sekarang , karena saya sendiri pun baru

menemukan hal ini di Ruby, maka untuk itu di stage ini kita akan bermain dengan hal yang tidak jauh berbeda dengan array.

Baiklah, Hashes di Ruby dari contoh-contoh sebelumnya langsung kita

isi dengan konten tertentu, nah bagaimana caranya untuk membuat Hashes

kosong. Begini caranya,

1. Hashes.new

Tentu Kita tiidak perlu kerepotan untuk membuat Hashes baru, cukup dengan objek diikuti dengan tanda Hashes. Lihat contoh berikut:

irb(main):001:0> baru={}

=> {}

irb(main):002:0> baru[1]

=> nil

irb(main):003:0> baru[2]

=> nil

Mudah bukan, cek kosong dengan memanggil key apapun akan menghasilkan nil. Nil di Ruby ini merupakan objek juga yang

merepresentasikan nilai null atau nilai yang dimaksud adalah kosong. Namun karena nil adalah objek, ketentuan ini dapat kita ubah sesuai dengan apa yang kita inginkan sebagai pengganti dari null. Contoh berikut:

Halaman 34 dari 85

irb(main):001:0> baru=Hash.new(“zonk”)

=> {}

irb(main):002:0> baru[1]

=> “zonk”

irb(main):003:0> baru[2].upcase

=> “ZONK”

Mudah bukan? Untuk mengisinya cukup tentukan key apa dan valuenya juga.

Ok.

Nah untuk kasus selanjutnya, bagaimana cara kita menampilkan value atau key nya saja dari sebuah objek Hashes. Coba contoh berikut ini.

2. values dan .keys irb(main):010:0>harold={'a'=>'ambar','k'=>'kumar','w'=>'woo

den','z'=>'zorro'}

=>{"k"=>"kumar", "w"=>"wooden", "a"=>"ambar", "z"=>"zorro"}

irb(main):017:0> harold.length

=> 4

irb(main):015:0> harold.keys

=> ["k", "w", "a", "z"]

irb(main):017:0> harold.values

=> ["kumar", "wooden", "ambar", "zorro"]

bagaimana, Cukup dengan ditambahkan .values atau .keys setelah objek Hashes maka akan muncul values dan key dari objek Hashes secara terpisah.

Kemudian kasus selanjutnya, Bagaimana kita menampilkan isi Hashes dengan

syarat tertentu.

Halaman 35 dari 85

3. .select{ |k,v| kondisi} Select merupakan fungsi untuk Hashes dimana dia dapat

mengembalikan nilai dengan mengunakan [key, value] sebagai syarat untuk

seleksi. irb(main):019:0> harold

=>{"k"=>"kumar", "w"=>"wooden", "a"=>"ambar",

"z"=>"zorro"}

irb(main):020:0> harold.select{|k,v| k> "a"}

=> [["k", "kumar"], ["w", "wooden"], ["z", "zorro"]]

irb(main):021:0> harold.select{|k,v| k> "z"}

=> []

irb(main):022:0> harold.select{|k,v| v> "100"}

=> [["k", "kumar"], ["w", "wooden"], ["a", "ambar"],

["z", "zorro"]]

irb(main):023:0> harold.select{|k,v| v!= "ambar"}

=> [["k", "kumar"], ["w", "wooden"], ["z", "zorro"]]

k untuk insial dari key dan v inisial dari value, syarat ini tidak dapat kita ubah

dalam formatnya.

Kasus selanjutnya, Hashes dan array mempunyai kesamaan yaitu sama-sama kontainer atau pembungkus. Apakah mungkin suatu hash dapat berubah bentuk menjadi array? Atau hash berubah menjadi string? Mari kita lihat..

4. to_a dan to_s

irb(main):019:0> harold

=>{"k"=>"kumar", "w"=>"wooden", "a"=>"ambar",

"z"=>"zorro"}

irb(main):020:0> harold.select{|k,v| k> "a"}

Halaman 36 dari 85

=> [["k", "kumar"], ["w", "wooden"], ["z", "zorro"]]

irb(main):021:0> harold.select{|k,v| k> "z"}

=> []

irb(main):022:0> harold.select{|k,v| v> "100"}

=> [["k", "kumar"], ["w", "wooden"], ["a", "ambar"],

["z", "zorro"]]

irb(main):023:0> harold.select{|k,v| v!= "ambar"}

=> [["k", "kumar"], ["w", "wooden"], ["z", "zorro"]]

to_a merupakan perintah untuk menampilkan nilai balikan Hashes menjadi bentuk array. Sedangkan to_s merupakan perintah untuk menampilkan nilai balikan Hashes menjadi string.

Fyuh..banyak juga ya...Semangat terus kawan..

Kasus berikutnya, apakah mungkin Hashes dapat digabungkan dengan Hashes

yang lain??

5. clear dan merge. irb(main):028:0>a={1=>'bakpau',2=>'cingcau',

'tiga'=>'kemarau',3=>'miauw'}

=>{1=>"bakpau", 2=>"cingcau", "tiga"=>"kemarau",

3=>"miauw"}

irb(main):030:0> b = {'satu'=>'culik','dua'=>'pelik',

3=>'licik','tiga'=>'paceklik'}

=>{"satu"=>"culik","dua"=>"pelik","tiga"=>"paceklik",

3=>"licik"}

irb(main):031:0> a.merge(b)

=>{1=>"bakpau", "satu"=>"culik", "dua"=>"pelik",

2=>"cingcau", "tiga"=>"paceklik", 3=>"licik"}

irb(main):032:0> b.merge(a)

Halaman 37 dari 85

=>{1=>"bakpau", "satu"=>"culik", 2=>"cingcau",

"dua"=>"pelik", "tiga"=>"kemarau", 3=>"miauw"}

Lihat, di atas ada 2 objek Hashes yaitu a dan b, ketika a.merge(b) maka kedua

nilai tersebut bergabung dan apabila terdapat key yang sama maka nilai yang

ditimpa adalah nilai a. Begitu pula sebaliknya apabila posisi keduanya ditukar.

Selanjutnya, bagaimana cara untuk menghapus salah satu isi dari Hashes, kemudian bagaiman cara menukar posisi key dan values, dan bagaimana cara untuk membersihkan isi Hashes?? Mau tau jawabannya... Lihat penjelasan berikut.

6. .invert , .delete , .clear irb(main):034:0> harold

=>{"k"=>"kumar","w"=>"wooden","a"=>"ambar",

"z"=>"zorro"}

irb(main):035:0> harold.invert

=>{"wooden"=>"w","kumar"=>"k","zorro"=>"z",

"ambar"=>"a"}

irb(main):036:0> harold.delete("a")

=> "ambar"

irb(main):037:0> harold

=> {"k"=>"kumar","w"=>"wooden","z"=>"zorro"}

irb(main):038:0> harold.clear

=> {}

Lihat perintah di atas, berikut penjelasannya

1. harold.invert merupakan perintah untuk menukar posisi antara key dan value

dalam sebuah Hashes. 2. harold.delete(key or value) merupakan perintah untuk menghapus isi dari Hashes

berdasarkan value atau key yang dimaksud. 3. Harold.clear merupakan perintah untuk membersihkan isi Hashes.

Halaman 38 dari 85

Well, mungkin cukup sekian untuk Ruby bagian Hashes dan operator.Alhamdulillah Tahap hero sudah selesai..Yeayyy (^_^)9Nah supaya tidak

lupa, silahkan simpan semua yang telah kita pelajari tadi ke dalam folder khusus di RubyDojo, kemudian buat masing-masing file Ruby yang isinya dari setiap

bagian di atas. OKE..

Rangkuman Apa saja yang sudah dipelajari di atas, kita cek per poin : 1. Kamu sudah mengenal saudara array yaitu Hashes.

2. Kamu sudah tau bagaiaman menggunakan Hashes. 3. Kamu sudah berlatih beberapa kasus yang muncul di Hashes dan

bagaimana cara mengatasinya. Seperti menukar posisi, menggabungkan, menghapus, bahkan mengubahnya ke dalam bentuk array.

Hashes merupakan saudara serumpun dengan array, kelebihannya Hashes bersifat lebih flexibel terhadap indeksnya, yaitu dengan syarat key dan value yang

dapat kita tentukan. Namun kekurangannya indeks di Hashes tidak terurut seperti di array.

Yah begitulah ada kelebihan dan kekurangan dari masing-masing perintah. Namun ini sesuai dengan kegunaannya juga lhoo...

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 dikontak : http://about.me/MuhammadSinggihZA

Salam, hirokakaoshi | Nyankodist Ruby.

Halaman 39 dari 85

[ActionScript]

Tarom Apriyanto

@tarompey

[email protected]

Halaman 40 dari 85

Button Event

Hallo piye kabare sobat Nyankod yang budiman, moga masih menikmati terus script2 dari kami para Nyankodist. Nah melihat edisi yang kemarin yaitu edisi 3, kan

sudah tak kasih script buat nyobain. Udah di coba apa belum??? Udah donggg harusnya.

Supaya lebih inget lagi di bawah dah saya review yang disuruh nyobain monggo di cek, coba tulis script berikut, kemudian jalankan:

1

2

3

4

5

var angka:Number = 0;

angka++;

trace(angka); // hasilnya 1

angka++;

trace(angka); // hasilnya 2

Coba ganti dengan ini:

1

2

3

4

var i:Number;

for (i = 1; i < 10; i++) {

trace(i);

}

Sekarang ganti dengan ini:

1

2

3

var matika:Number;

matika = 2 + 4 * 3;

trace(matika); // hasilnya 14

Halaman 41 dari 85

Kemudian ganti dengan ini:

1

2

3

var mySum:Number;

mySum = (2 + 4) * 3;

trace(mySum); // hasilnya 18

Coba ganti dengan yang ini:

1

2

3

4

5

6

var matika:Number;

var matika_lagi:Number;

matika = 2 * 4 * 3;

matika_lagi = (2 * 4) * 3;

trace(matika); // hasilnya 24

trace(matika_lagi); // hasilnya 24

Dan terakhir, coba ganti dengan yang ini:

1

2

trace(3 > 2 < 1); // hasilnya false

trace((3 > 2) < 1); // hasilnya false

Gimana bisa kan??? N ngerti kan??, kemarin dapat masukan tolong di jelasin

dongg Nyankodist AS…..(sobat Nyankod bertanya-tanya:‖siapa yang memberikan masukan sedimikian hingga??‖,…Nyakodist AS: ―kasih tau ga yaaa,….‖), nah mungkin

ada yang belum jelas (yang udah jelas diem aja yaa…jangan dikasih tau….Lhooooo ?????// engga lah harus berbagi dongg…).

OKE akan gw (weish gaul nih, dari jakarte…..hahaahaha) coba jelaskan satu per satu….

Kita mulai aja atau gimana nih,..atau masih ada pertanyaan lain…saya

tunggu…………………….…………….

Halaman 42 dari 85

(------------------------!!!)..,Oke waktu habis brarti ga ada pertanyaan lagi….dan bisa saya mulai yaaa….

Bahan coba yang pertama:

1

2

3

4

5

var angka:Number = 0;

angka++;

trace(angka); // hasilnya 1

angka++;

trace(angka); // hasilnya 2

kata var di sana menandakan/menunjukan sebuah variabel dan angka menjadi nama variabelnya, terus Number adalah tipe datanya yang menunjukan sebuah angka yang dimulai dengan nilai 0 (nol). (jelas yaaa). Kemudian baris kedua : angka++; //

ini adalah contoh penggunaan dari operator arithmetic yang dikenal dengan nama increment (menambahkan satu), jadi berarti angka++ adalah di mana (di mana…di

mana…di mana…sekarang ku harus ke mana...**GUBRAAK**) variabel angka yang tadinya bernilai 0 (nol) menjadi bernilai 1 (satu) karena telah di increment (angka++) tadi secara tidak langsung/tidak kelihatan (siluman kali) angka = angka + 1;//angka

bernilai nol di tambah satu. Terus di lanjutin dengan perintah selanjutnya di tambah satu lagi, jadi lah 2 (dua) nilai yang bawah. Gitu deh, jelas kan…jelas donggg…!!! Oke

lanjuuut.

Bahan coba yang ke dua :

1

2

3

4

var i:Number;

for (i = 1; i < 10; i++) {

trace(i);

}

Ini namanya pengulangan menggunakan for, perintah itu akan di jalankan

hingga variabel yang telah kita tentukan telah mencapai tingkat maksimum nilai yang

kita berikan. Seperti contoh di atas bahwa varibel i dengan tipe data number (angka) dengan nilai mula-mula adalah 1 (for ( i = 1;……….)) dan selama nilai i kurang dari 10

Halaman 43 dari 85

(i < 10;…….// artinya sampai 9 aja) maka i akan terus di tampilkan atau dijalankan sampai dia telah mencapai nilai kurang dari 10 yaitu 9, begitu

ceritanyaaa…!!...Lanjuuut...(ada pertanyaan??, malu bertanya sesat di nilai…teringat dosen kesayangan dulu).

Bahan coba yang ke tiga :

1

2

3

var matika:Number;

matika = 2 + 4 * 3;

trace(matika); // hasilnya 14

Nah contoh ini sebenarnya masuk dalam kategori jenis-jenis operator yang berbeda, yang menurut beberapa buku mereka tidak menyebutkan dalam operator

arithmetic tetapi dipecah dalam operator precendece dan assosiatif (yang di atas itu contoh operator precendence) namun menurut saya ini masih tergolong pada operator arithmetic karena masih menggunakan tanda tambah, kurang, kali, n bagi cuma beda

ada tanda kurung sama pemakaiannya di barengin terus satu lagi perbedaan prioritas tinggi rendahnya masing-masing operator (waduuuh kok jadi banyak bAngEt

bedanya…). Oke di jelasin dulu deh apa itu Operator Precendence dan Operator Assosiatif.

Cek this out :

Operator Precendence yaitu bila dua atau lebih operator digunakan pada suatu pernyataan, beberapa operator mendapatkan prioritas lebih tinggi dari lainya. Contohnya, perkalian selalu dilakukan lebih dulu dari penjumlahan, namun apa bila

ada tanda kurung maka priritas yang lebih diutamakan adalah operator yang berada dalam tanda kurung tersebut ((2+3)*2 = 10 atau (1+8)*2.896.233.123 = ….. hitung

sendiri hasilnya…hahahahaa) contoh lainya pada bahan coba 4. Operator Assosiatif yaitu bila dua atau lebih operator bersama-sama

mempunyai prioritas sama, asosiatif menentukan bahwa urutan dilakukan menurut performasinya. Asosiatif dapat terjadi atau di mulai dari kiri ke kanan atau dari kanan

Halaman 44 dari 85

ke kiri. Contohnya, perkalian mempunyai asosiatif dari kiri ke kanan, sehingga pernyataan berikut ekivalen (pernyataan pertama dan ke dua mempunyai hasil

perhitungan sama) pada bahan coba ke 5.

Bahan coba 6 :

1

2

trace(3 > 2 < 1); // hasilnya false

trace((3 > 2) < 1); // hasilnya false

Tanda kurang dari (<) dan lebih dari (>) memiliki nilai prioritas yang sama sehingga akan di baca dari kiri ke kanan artinya pembacaan statement di lakukan dari sebelah kanan dulu (seperti 3 > 2), dan itu bernilai benar (true) karena 3 bernilai lebih

dari 2 namun melanjutkan statement yang menyatakan bahwa 2 < 1 menjadikan statement tersebut menjadi salah (false) sehingga hasil akhir dari statement tersebut

akan bernilai salah (false). Oia buat tambahan materi operator, saya berikan tabel urutan prioritas

operator sbb (semua bau badan, eh salah maksudnya sebagai berikut):

Operator Description Associativity + Unary plus Right to left - Unary minus Right to left

~ Bitwise one‘s complement Right to left ! Logical NOT Right to left

not Logical NOT (Flash 4 style) Right to left ++ Post-increment Left to right — Post-decrement Left to right

( ) Function call Left to right [ ] Array element Left to right

. Structure member Left to right ++ Pre-increment Right to left — Pre-decrement Right to left

new Allocate object Right to left

Halaman 45 dari 85

delete Deallocate object Right to left typeof Type of object Right to left

void Returns undefined value Right to left * Multiply Left to right

/ Divide Left to right % Modulo Left to right + Add Left to right

add String concatenation (formerly &) Left to right - Subtract Left to right

<< Bitwise Left Shift Left to right >> Bitwise Right Shift Left to right >>> Bitwise Right Shift (Unsigned) Left to right

< Less than Left to right <= Less than or equal to Left to right

> Greater than Left to right >= Greater than or equal to Left to right lt Less than (string version) Left to right

le Less than or equal to (string version) Left to right gt Greater than (string version) Left to right

ge Greater than or equal to (string version) Left to right == Equal Left to right

!= Not equal Left to right eq Equal (string version) Left to right ne Not equal (string version) Left to right

& Bitwise AND Left to right ^ Bitwise XOR Left to right

| Bitwise OR Left to right && Logical AND Left to right and Logical AND (Flash 4) Left to right

|| Logical OR Left to right or Logical OR (Flash 4) Left to right

?: Conditional Right to left = Assignment Right to left

Halaman 46 dari 85

―*=, /=, %=, +=, -=, &=, |=, ^=, <<=, >>=, >>>=‖ Compound assignment Right to left

, Multiple evaluation Left to right

Oke, untuk materi-materi selanjutnya mungkin saya akan lebih sering

mengadakan review jika diperlukan dan jika ada penambahan materi yang mungkin

saya dengan hilaf belum memasukannya ke materi yang sudah saya bahas. Jadi kalau belum mengerti dan ngerasa ada yang kurang, sobat Nyankod bisa langsung

tanyakan, begitu aja yoo. Oke kita coba masuk ke materi selanjutnya yang sedikit mengulang materi

awal tapi kita akan melibatkan sebuah tombol. Silahkan di pahami…

Yoi sobat Nyankod kita sudah mulai memasuki materi selanjutnya, silahkan

Sobat Nyankod pantengin dan pahami pada materi ini. Sekarang kita akan melibatkan sebuah objek yang nantinya akan kita beri script di dalamnya sehingga objek tersebut

akan menjalankan sebuah perintah yang telah kita masukan melalui script yang akan kita berikan.

Oke agak serius dikit ni. Judul materi ini adalah Button Event. Pertanyaan : Kenapa judulnya ngga di tarok di atas pakai tulisan di bold dengan ukuran font 14,

kayak biasanya???, jawab : Kamu emang ngga pernah ngerti akuh…..lho kok!!(bingung garuk-garuk hidung).

Button Event artinya kejadian yang menimpa pada suatu button (tombol). Biar lebih jelas, silahkan sobat Nyankod pahami tabel di bawah ini :

Event Keterangan Event

on (press) Ketika pointer mouse berada pada area

on (press)

Halaman 47 dari 85

tombol

dan tombol masih dalam keadaan

ditekan.

on (release) Ketika pointer mouse

berada pada area

tombol dan tombol sudah dilepas.

on (release)

on (releaseOutside) Ketika setelah tombol ditekan namun pointer

mouse dilepaskan di luar area tombol.

on (releaseOutside)

on (tollOver) Ketika pointer mouse

melewati area tombol.

on (tollOver)

on (dragOver) Ketika pointer mouse

bergerak menjauhi area tombol.

on (dragOver)

on (dragOut) Ketika pointer mouse

berada di atas area tombol dan mouse

sudah ditekan kemudian pointer

digerakan keluar menjauhi area tombol.

on (dragOut)

Contone :

1. Buatlah sebuah file baru dengan tipe ActionScript 2.0.

Halaman 48 dari 85

2. Tambahkan ke stage (halaman kerja) sebuah tombol dari common library dengan cara Windows – Common Library – Button. Atau liat gambar di bawa ini deh.

Untuk memasukan dalam stage sobat pilih dan klik tombol kemudian drag ke

stage.

3. Berikan instance name dengan cara klik tombol kemudian buka Properties Panel

dan beri instance name ―btMasuk‖.

Halaman 49 dari 85

4. Klik kanan tombol yang sudah ada di stage, kemudian pilih Actions.

Halaman 50 dari 85

5. Tulis script berikut ini pada Actions Panel.

1

2

3

on (release) {

trace(“Aku bisa ditekan kan”);

}

6. Tekan ctrl + enter. Hasilnya???(kalau ga jalan, jangan copas script di atas tapi di

ketik ulang….ok brow!!)

Penulisan ActionScript nya ada yang lain juga lho,…tadi kan kita sudah buat

instance name, nah itu fungsinya sebagai variabel yang bisa kita panggil. Oke kita coba deh, sekarang lakukan yang sama langkah 1 - 4 di atas. Terus lanjutin dengan langkah berikut :

1. Pastikan sobat Nyankod berada pada Timeline Panel.

2. Tambahkan layer baru dengan cara menekan icon New layer beri nama ―action‖ (klik dua kali untuk memberi nama).

Halaman 51 dari 85

3. Pada layer action, klik kanan pada frame pertama kemudian pilih Actions.

Di klik untuk menambah layer

baru

Halaman 52 dari 85

4. Isikan script seperti di bawah ini :

1

2

3

btMasuk.onRelease = function () {

trace (“aku bisa di tekan kan”);

}

5. Tekan ctrl + enter. Hasilnya ??? sama ngga yaaa….cobain deh…!!

Note :

Layer action khusus digunakan untuk menyimpan ActionScript pada frame sehingga lebih teratur dan rapih.

Oke sampai di sini perjumpaan kita (emang kita ketemu???) nantikan edisi

selanjutnya yaaa.

Halaman 53 dari 85

[JavaScript]

Toni Haryanto

@yllumi [email protected]

http://toniharyanto.cs.upi.edu

Halaman 54 dari 85

Pemilihan

Haloo.. masih tetap semangat kan belajar JavaScriptnya?? Yah meskipun di awal-awal kita mesti sabar belajar dasar-dasar terutama yang terkait langsung dengan algoritma, tapi hal itu justru merupakan bagian terpenting dalam memprogram. Kalo

dasar-dasarnya sudah jago, bikin aplikasi apapun tidak akan sulit. Sisanya tinggal penguasaan teknik pemrogamannya.

Di edisi 4 sampai edisi 6 berturut-turut kita akan belajar tentang Pemilihan,

Perulangan dan Fungsi. So, di edisi ini kita akan membahas tentang pemilihan. Akan sangat membantu kalo Anda sudah pernah belajar tentang algoritma. Kalo Anda sudah paham tentang algoritma pemilihan (if..else dan case) Anda bisa langsung loncat ke

bagian ‗sintaks pemilihan di JavaScript‘.

Konsep Dasar Pemilihan Dalam membuat program kita mengenal istilah runtunan. Runtunan atau

sequence adalah konsep dalam algoritma dimana sebuah algoritma terdiri dari satu atau lebih instruksi, yang berarti tiap instruksi dikerjakan satu per satu, dikerjakan

tepat satu kali dan tidak ada yang diulang, urutan pengerjaan instruksi sama dengan urutan penulisannya, dan akhir dari intruksi terakhir merupakan akhir algoritmanya. (Munir: 2004)

Namun tidak semua program cukup dibuat dengan runtunan saja. Ada kasus-

kasus dimana kita harus membuat sebuah instruksi berdasarkan kondisi-kondisi tertentu. Nah, disinilah kita perlu konsep pemilihan. Contoh algoritma sederhana yang mengandung pemilihan, bisa kita lihat di algoritma berikut:

1. Saya pergi ke warung

Halaman 55 dari 85

2. Kalo warungnya buka maka 2.1 Saya beli kopi

3. Kalo nggak buka maka saya pulang deh

Pada contoh diatas, nomor satu pasti dijalankan. Pada nomor dua terdapat

pengecekan kondisi yang menentukan apakah nomor 2.1 bisa dijalankan atau tidak.

‗Kalo warungnya buka‘, maka ‗Saya beli kopi‘. Tapi kalo kondisi di nomor 2 tidak terpenuhi, dalam kasus ini berarti warung tidak buka alias tutup, maka nomor 2.1

tidak akan dijalankan dan langsung berlanjut ke nomor 3. Nah kira-kira begitu penjelasan sederhana tentang pemilihan. Konsep ini akan

selalu ada dalam pembuatan sebuah program, dengan bahasa pemrograman apapun.

Di dalam konsep pemilihan, kita membagi pemilihan berdasarkan banyaknya kasus yang ditangani. Untuk pengecekan sebuah kasus, maka kita gunakan if..then, untuk pengecekan dua buah kasus kita dapat gunakan if..then..else dan untuk

pengecekan banyak kasus kita dapat gunakan case.

Mengerti maksudnya? Kita coba dengan contoh.

Satu Kasus (if..then)

Format penulisan umum untuk if..else adalah:

If kondisi then pernyataan kondisi adalah tempat kita menuliskan syarat untuk dapat menjalankan

pernyataan. Contohnya:

if x < 0 then tuliskan ―x bilangan negatif‖

Halaman 56 dari 85

Dua Kasus (if..then..else)

Adakalanya kita membutuhkan eksekusi pernyataan lebih dari satu kasus. Untuk dua kasus, kita bisa gunakan if..then..else dengan format penulisan:

If kondisi then

pernyataan 1

else pernyataan 2

endif Apabila kondisi bernilai benar atau true, maka pernyataan 1 yang dikerjakan,

dan bila kondisi bernilai salah atau false maka pernyataan 2 yang dikerjakan. Contohnya:

If x = 0 then tuliskan ―x sama dengan nol‖

else tuliskan ―x bukan nol‖

endif

Banyak Kasus (if..then..elseif dan case)

Sebenarnya untuk pengecekan kasus lebih dari dua, kita bisa menggunakan if bersarang. If bersarang berarti if di dalam if. Contohnya:

If nomorHari = 1 then tuliskan ―minggu‖

else If nomorHari = 2 then

tuliskan ―senin‖ else

Halaman 57 dari 85

If nomorHari = 3 then tuliskan ―selasa‖

else If nomorHari = 4 then

tuliskan ―rabu‖ else If nomorHari = 5 then

tuliskan ―kamis‖ else

If nomorHari = 6 then tuliskan ―jumat‖ else

tuliskan ―sabtu‖ endif

endif endif

endif

endif endif

Baris ke-2 merupakan pernyataan yang akan dikerjakan bila kondisi pada baris ke-1 bernilai benar. Baris ke-4 ke bawah adalah pernyataan yang akan dijalankan bila kondisi pada baris ke-1 bernilai salah. Dengan kata lain, baris ke-4 sampai akhir

adalah pernyataan 2 bagi kondisi pertama yang berisi pengecekan if untuk kondisi lain. Begitu seterusnya.

Namun ada cara lain yang lebih efisien untuk kasus banyak, yakni dengan

case. Case dapat menyederhanakan penulisan if..then..else yang bersarang seperti

pada contoh di atas. Format penulisan umum untuk case adalah sebagai berikut:

case ekspresi nilai 1 : pernyataan 1

Halaman 58 dari 85

nilai 2 : pernyataan 2 .

.

.

nilai n : pernyataan n otherwise : pernyataan x

endcase

ekspresi adalah sembarang ekspresi (aritmatika atau boolean) yang menghasilkan suatu nilai atau konstanta, atau sebuah variabel. Konstruksi case memeriksa apakah nilai dari ekspresi tersebut cocok dengan salah satu dari nilai 1,

nilai 2, .. nilai n dengan catatan, semua nilai ini harus berbeda. Jika nilai ekspresi sama dengan nilai k, maka pernyataan k yang akan dikerjakan (Munir: 2004). Bila nilai

ekspresi tidak cocok dengan salah satu nilai, maka pernyataan x setelah otherwise yang akan dijalankan. Penerapan case pada contoh kasus if bersarang diatas seperti berikut:

case nomorHari

1 : tuliskan ―minggu‖ 2 : tuliskan ―senin‖

3 : tuliskan ―selasa‖ 4 : tuliskan ―rabu‖ 5 : tuliskan ―kamis‖

6 : tuliskan ―jumat‖ 7 : tuliskan ―sabtu‖

otherwise : tuliskan ―bukan nomor hari‖ endcase

Halaman 59 dari 85

Sintaks Pemilihan di JavaScript

Kita sudah simak penjelasan sederhana tentang teori pemilihan di atas. Kalo pengen lebih jelas lagi tentang penjelasan algoritmanya, Anda bisa baca bukunya

Rinaldi Munir yang berjudul Algoritma dan Pemrograman, atau buku tentang algoritma lainnya yang beredar.

Sekarang kembali ke JavaScript. Sintaks pemilihan untuk if dan case bisa dilihat di tabel berikut.

Sintaks If

If (kondisi) { pernyataan 1;

} else { pernyataan 2; };

Algoritma JavaScript

If nomorHari = 1 then

tuliskan ―minggu‖ else

If nomorHari = 2 then tuliskan ―senin‖ else

If nomorHari = 3 then tuliskan ―selasa‖

else If nomorHari = 4 then tuliskan ―rabu‖

else If nomorHari = 5 then

If (nomorHari = 1) {

document.write(―minggu‖); } else

if (nomorHari = 2) { document.write( ―senin‖ ); } else

if (nomorHari = 3) { document.write( ―selasa‖ );

} else if (nomorHari = 4) { document.write( ―rabu‖ );

} else if (nomorHari = 5) {

Halaman 60 dari 85

tuliskan ―kamis‖

else If nomorHari = 6 then tuliskan ―jumat‖

else tuliskan ―sabtu‖

endif endif endif

endif endif

endif endif

document.write( ―kamis‖ );

} else if (nomorHari = 6) { document.write( ―jumat‖

); } else

document.write( ―sabtu‖);

Catatan: kurung kurawal digunakan terutama bila pernyataan setelah kondisi if

yang akan dijalankan lebih dari satu baris. Bila hanya satu baris pernyataan yang akan dieksekusi, kita tidak mesti mengurungnya dengan kurung kurawal. Coba perhatikan

contoh program javascrip di atas. If kedua setelah else tidak dikurung oleh kurung kurawal, karena if kedua (dan begitu pula dengan if sesudahnya) dianggap satu baris pernyataan, yakni pernyataan if yang memiliki if di dalamnya.

Sintaks case

switch (ekspresi) { case nilai1 :

pernyataan1; break;

case nilai2 : pernyataan2; break;

case nilai3 : pernyataan3;

Halaman 61 dari 85

break; default :

pernyataan_x; }

Algoritma JavaScript

case nomorHari

1 : tuliskan “minggu”

2 : tuliskan “senin”

3 : tuliskan “selasa”

4 : tuliskan “rabu”

5 : tuliskan “kamis”

6 : tuliskan “jumat”

7 : tuliskan “sabtu”

otherwise : tuliskan “bukan nomor hari”

endcase

switch (nomorHari) {

case 1 :

document.write(“minggu”);

break;

case 2 :

document.write( “senin” );

break;

case 3 :

document.write( “selasa” );

break;

case 4 :

document.write( “rabu” );

break;

case 5 :

document.write( “kamis” );

break;

case 6 :

document.write( “jumat” );

break;

case 7 :

document.write( “sabtu” );

break;

default :

document.write( “bukan nomor hari” );

}

Halaman 62 dari 85

Catatan: berbeda dengan sintaks if, sintaks case atau switch ini tidak memerlukan kurung kurawal untuk melikupi pernyataan yang akan dieksekusi,

sebanyak apapun pernyataannya. Perintah break; di akhir pernyataan untuk setiap case berfungsi sebagai interupsi untuk menghentikan eksekusi pernyataan, atau

simpelnya sebagai penutup pernyataan.

Baiklah, sekian dulu penjelasan tentang pemilihan di javascript. Sekali lagi,

yang terpenting adalah konsep algoritmanya. Kalo algoritma sudah mantap, bahasa pemrograman apapun yang ingin dipelajari, insya Allah bisa. Tetap semangat, dan.. HAPPY PROGRAMMING! ;D

Halaman 63 dari 85

[C]

Ade Kurniawan

@adekurniawan

[email protected]

Halaman 64 dari 85

Percabangan di Bahasa C

Yuppss sudah 1 minggu berlalu saatnya menulis kembali untuk pemrograman bahasa c, setelah minggu lalu membicarakan mengenai operator dalam bahasa c,

selanjutnya pada tulisan ini akan membahas mengenai struktur kendali pemilihan. Dalam proses pengolahan data kadang perlu memilih satu dari sekumpulan alternatif proses, sebagai contoh untuk menentukan mahasiswa yang lulus berdasarkan nilai

akhir mata kuliah. Jika nilai yang diperoleh adalah 60 sampai dengan 100 maka mahasiswa tersebut dinyatakan lulus, tetapi apabila nilai mahasiswa <60 maka

mahasiswa dianggap tidak lulus. Dari tulisan diatas terdapat 2 kondisi pemilihan yaitu mahasiswa yang lulus dan tidak lulus, maka perlu dipilih salah satu kondisi, Bahasa C menyediakan if dan switch untuk melakukan proses seleksi.

a. Instruksi if

instruksi if digunakan untuk memilih jalur proses: melakukan atau tidak melakukan suatu proses(if), memilih satu dari dua proses (if else).

if(expression) statement:

expression dievaluasi, jika hasilnya true maka statement akan dikerjakan. Jika hasilnya false maka statement tidak dikerjakan.

Halaman 65 dari 85

Program 4.1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# include <stdio.h>

# include <conio.h>

void main() {

int nA;

char grade;

clrscr();

printf(“nilai akhir ?”); scanf(“%d”, &nA);

if(nA > 84) grade='A';

if(nA > 74 && nA <85) grade = 'B';

if(nA > 64 && nA <75) grade = 'C';

if(nA > 49 && nA <65) grade = 'D';

if(nA < 50 ) grade = 'E';

printf(“Grade = %c”,grade);

}

b. Instruksi if-else

adakalanya kita harus melaksanakan proses yang berbeda untuk kondisi yang berbeda. Misalnya menampilkan kata lulus untuk nilai yang sama atau lebih besar

daripada 60 dan menampilkan kata tidak lulus untuk nilai yang kurang dari 60. Bahasa C menyediakan klausa else untuk digunakan bersama instruksi if.

if(kondisi)statement1;else statement2;

apabila evaluasi terhadap kondisi memberikan nilai true maka statement1 dikerjakan, sebaliknya jika nilai false maka statement2 dikerjakan. Jadi yang dikerjakan selalu salah satu dari kedua statement.

Halaman 66 dari 85

Program 4.2

1

2

3

4

5

6

7

8

9

10

# include <stdio.h>

int main() {

int a,b,c ;

scanf("%d %d %d", &a, &b, &c);

if(c < a + b) printf("bisa membentuk segitiga");

else printf("tidak bisa membentuk segitiga");

return 0;

}

c. Instruksi switch

instruksi switch digunakan untuk memilih satu dari sejumlah alternatif, misalnya kita akan menggunakan mobil, motor, atau kendaraan umum, kita diharuskan memilih salah satu dari 3 pilihan tersebut.

Switch(expression) {

Case const_expr_1: statement_1; Case const_expr_2: statement_2;

……..

Case const_expr_n: statement_n; [default: statement_x;]

}

Halaman 67 dari 85

Program 4.3

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# include <stdio.h>

int main() {

unsigned int kode_pos;

printf(“kode pos?”); scanf(“%ud”, &kode_pos);

switch(kode_pos) {

case 10210 : printf(“bambu apus \n”);break;

case 10220 : printf(“cijantung \n”);

case 10230 : printf(“kalisari \n”);

case 10240 : printf(“susukan \n”);

default: printf(“di luar pasar rebo \n”);

}

Halaman 68 dari 85

[Bash]

Taufik Sulaeman

@taufiksu [email protected]

http://npaperbox.com/user/profile/1

Halaman 69 dari 85

Bash Programming - Logic

Program merupakan kumpulan-kumpulan sintaks yang dioperasikan dengan logika pemrograman. Operasi logika sangat penting bagi komputer dalam

mengeksekusi sebuah program. Pada kesempatan kali ini kita akan mencoba membuat program sederhana pada bahasa pemrograman bash yang menggunakan logika. Secara garis besar kita akan mempelajari 2 hal yaitu Percabangan dan Pengulangan.

Pada kesempatan kali ini kita akan mempelajari Percabangan.

Percabangan

1. IF

If merupakan logika percabangan yang akan mengeksekusi blok perintah program tertentu, if bekerja dengan kondisi logika (Benar / Salah). Contohnya pada program berikut:

1

2

3

4

5

6

7

8

#!/bin/bash

echo "T1 :";

read T1

echo "T2 :";

read T2

if [ "$T1" = "$T2" ]; then

echo sama

else

Halaman 70 dari 85

9

10

echo beda

fi

Struktur

Struktur program menggukan kondisi if dimulai dari menulis if dan diakhiri fi

(tag penutup kebalikan dari tag pembuka). Struktur paling sederhana dalam membuat membuat percabangan dengan if adalah sebagai berikut:

1 Cabang

if [kondisi];then outputkondisi else outputdiluarkondisi fi

2 Cabang

if[kondisi];then outputkondisi1 elif [kondisi2];then outputkondisi2 else outputdiluarkondisi fi

Contohnya :

1

2

3

4

5

6

7

8

9

10

11

#!/bin/bash

echo "Pilih Menu";

echo "(1) Nasi Kuning";

echo "(2) Ketoprak";

echo "==============";

echo "Masukan Nomor Menu :"; read T1

if [ "$T1" = 1 ]; then

echo Anda memilih Menu 1

elif [ "$T1" = 2 ]; then

echo Anda memilih Menu 2

else

Halaman 71 dari 85

12

13

echo Milih apa bang ?

fi

2. CASE Case adalah pencabangan khusus untuk banyak kondisi pemilihan, yang lebih

digunakan dibanding perintah if/elif/else.

Struktur case kondisi in CASE1) output1;; CASE2) output2;; … CASEN) outputlain;; esac

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#!/bin/bash

echo -n "Do you agree with this? [yes or no]: "

read yno

case $yno in

[yY] | [yY][Ee][Ss] )

echo "Agreed, Install Start"

;;

[nN] | [n|N][O|o] )

echo "Not agreed, Install Cancel";

exit 1

;;

*) echo "Invalid input"

;;

esac

Resume dari kedua kondisi Ketika kita menggunaka if maka kita berfikir JIKA, pada saat kita menggunakan

case maka kita berfikir KALAU. Kedua proses percabangan ini (if dan else) dapat kita gunakan bersama sesuai kebutuhan program yang kita buat. Pada pembahasan berikutnya kita akan mengulas tentang pengulakan.

Halaman 72 dari 85

Sik asik for i in {1..65535};do printf "%x\n" $i;done|while read -r u;do printf

"\033[38;5;$((16+$((16#$u))%230))m\u$u\033[0m";done

Halaman 73 dari 85

[Perl]

Kresna Galuh D. Herlangga

@kresnagaluh [email protected]

http://kresnagaluh.com

Halaman 74 dari 85

Auto Convert, Input

Pernah nggak kebayang, gimana kalo program Perl yang kita buat bisa berinteraksi dengan kita, artinya nggak cuma kita tulis kode programnya kemudian

program dijalankan, tapi juga kita bisa melakukan input perintah ketika program tersebut berjalan??

Gimana pernah nggak?

Buat yang pernah kepikiran, saya ucapin selamat, karena sebentar lagi rasa penasaran Anda akan dilenyapkan disini. Dan buat yang belum pernah kepikiran juga nggak apa-apa, intinya kita bakal menyaksikan pertunjukan demikian sesaat lagi.

Oke jou, udah siap buat beraksi...??? Let's go...

Let's go kemana? Kita kan mau belajar n nggak mo kemana-mana...

Maksudnya udah siap belajar?? -_-

Siap… Horee… horee ~(ˆ◦ˆ~) Horeee….. (~ˆ◦ˆ)~ Sudah.. sudah…. Mari kita mulai.

Oh ya boy, masih inget nggak kemarin saya bilang apa di akhir pembahasan?

(plis masih inget dong!!)

Halaman 75 dari 85

Yes, bagus kalo masih inget (anggap seluruh orang di dunia inget). Jadi di edisi ke-3 yang lalu, di akhir pembahasan saya sempet bilang kalau pembahasan

mengenai Numerik dan String belum sepenuhnya tuntas, masih ada beberapa hal lagi yang perlu disampaikan berkaitan dengan numerik dan string. Nggak banyak sih, tapi

sangat penting buat kedepannya. Nah, sekarang sebelum memulai ke pembahasan selanjutnya, di sini saya

punya beberapa pertanyaan dulu nih berkaitan dengan materi sebelumnya. Anggap aja ini sebagai rintangan untuk ke tahap selanjutnya. Jadi jangan mencoba buat ke

tahapan selanjutnya kalau belum bisa menjawa semua pertanyaan di bawah ini.

1. Apaan sih yang dimaksud operator?

2. Kalau dari: 6 % 4, yang disebut operator yang mana dan yang disebut operand yang mana?

3. Apa aja yang termasuk operator aritmatika numerik? Contohnya gimana?

4. Berapa hasil dari: 35 - 21 / 7 ?

5. Berapa hasil dari: 43 AND 54 ? 6. Bagaimana keluaran dari 8 == 9 ?

7. print "!(6 > 7) : ", !(6 > 7), "\n"; Bagaimana keluarannya?? 8. Bagaimana membuat program yang keluarannya adalah tulisan "Aku

cinta kamu" sebanyak 100 kali? Jadi nggak boleh lanjut dulu ke tahap selanjutnya kalo belu bisa ngejawab

semua pertanyaan di atas. Sepakat?

Buat yang bisa jawab semua pertanyaan di atas, mari kita kemon ke pembahasan selanjutnya. Dan buat yang blom bisa jawab. Mendingan pelajari lagi deh materi sebelumnya. Udah punya kan filenya? Kalo yang belum punya, silahkan

download edisi sebelumnya di http://nyankod.blogspot.com. Oke, selamat menempuh hidup baru (kayak yang abis nikahan aja).

Halaman 76 dari 85

Operator Perbandingan String

Di edisi lalu, kita udah kenal operator perbandingan buat numerik, seperti ==. !=, >, <, >=, <= dan <=>. Nah sekarang kita juga punya opertator perbandingan,

tapi khusus buat string. Operatornya adalah seperti di tabel berikut:

String Numerik Keterangan

eq == Equal, sama dengan

ne != not equal, tidak sama dengan

lt < Less than, kurang dari

gt > Greater than, lebih dari

le <= Less than or equal to, kurang dari atau sama dengan

ge >= Greater than or equal to, lebih dari atau sama dengan

Dalam perbandingan string, yang menjadi tolok ukur perbandingannya adalah nilai ASCII yang ada pada setiap karakter. Contohnya, nilai ASCII dari karakter A

adalah 65, nilai ASCII dari B adalah 66, nilai ASCII dari a adalah 97, dan nilai ASCII dari b adalah 98. Jadi A lebih kecil dari B, karena nilai ASCII A lebih kecil dari B. Dan A

tidaklah sama dengan a, karena keduanya memiliki nilai ASCII yang berbeda. Dalam perbandingan string yang pertama dibandingkan adalah karakter

pertama (dari kiri), kemudian apabila karakter pertama sama, maka akan dilanjutkan ke karakter disebelehnya. Sebagai contoh operasi perbandingan pada string, mari kita

liat aja deh dalam contoh program.

Program: operator_perbandingan_string.pl

1

2

3

4

#!/usr/bin/perl

# nama program : operator_perbandingan_string.pl

print "aku eq kamu? ", "aku" eq "kamu", "\n";

Halaman 77 dari 85

5

6

7

8

9

print "aku ne kamu? ", "aku" ne "kamu", "\n";

print "aku lt kamu? ", "aku" lt "kamu", "\n";

print "aku gt kamu? ", "aku" gt "kamu", "\n";

print "aku le kamu? ", "aku" le "kamu", "\n";

print "aku ge kamu? ", "aku" ge "kamu", "\n";

Jalankanlah program tersebut! $ perl operator_perbandingan_string.pl

aku eq kamu?

aku eq kamu? 1

aku eq kamu? 1

aku eq kamu?

aku eq kamu? 1

aku eq kamu?

$

Auto Convert String-Numerik Di dalam Perl ada satu hal yang sangat menarik, yaitu otomatis melakukan

konversi baik dari string ke numerik ataupun sebaliknya dari numerik ke string. Itu tergantung bagaimana operator yang bekerja padanya. Misalnya ada dua buah string,

namun yang dikenakan pada string tersebut merupakan operator untuk numerik, maka secara langsung Perl akan mengubah string tadi ke dalam bentuk numerik. Tentunya nanti ada beberapa aturan khusus yang bekerja padanya. Begitupun

sebaliknya, bila ada dua buah numerik namun dikenakan operator string, maka, numerik tersebut akan dianggap sebagai sebuah string oleh Perl. Jadi kata kuncinya

adalah semuanya tergantung operator apa yang bekerja padanya.

Halaman 78 dari 85

Ketika melakukan konversi dari string ke numerik, ada beberapa aturan khusus yang perlu kamu ketahui, yaitu:

Sebuah string yang murni isinya adalah sebuah angka, maka akan langsung

dikonversi ke dalam numerik. Contohnya "12" * "3", maka akan menghasilkan 36. Begitupun "2" + "5" akan menghasilkan 7.

Bila di dalam sebuah string terdapat angka dan bukan angka, maka yang

dijadikan numerik adalah angka-angka yang ada di paling kiri saja. Misalnya "15nyankod" * "3", maka hasilnya sama dengan 15 * 3, yaitu 45.

Spasi yang ada di depan string akan diabaikan. Misalnya " 4" % "3" maka hasilnya adalah 1. Adapun spasi yang ada di depan karakter 4 akan diabaikan.

Bila dalam sebuah string tidak terdapat angka, maka pengkonversiannya akan

langsung menjadi 0. Contohnya "nyankod" + "5", maka artinya 0 + 5, maka keluarannya adalah 5.

Karakter angka yang ada di belakang karakter bukan angka akan diabaikan. "2jan2012" + "4", maka hasilnya adalah 6. "2jan2012" akan dikonversi menjadi 2 saja, adapun angka 2012 yang ada di belakang tidak akan diperhatikan oleh Perl

sebagai sebuah numerik. Begitupun "nyankod2012" * "2011", sama artinya dengan 0 * 2011, yang hasilnya adalah 0.

Biar lebih jelas, coba praktekin contoh berikut ini:

Program: konvert_string_numerik.pl

1

2

3

4

5

6

7

8

#!/usr/bin/perl

# nama program : konvert_string_numerik.pl

print "12" * "3", "\n";

print "2" + "5", "\n";

print "15nyankod" * "3", "\n";

print " 4" % "3", "\n";

print "nyankod" + "5", "\n";

Halaman 79 dari 85

9

10

print "2jan2012" + "4", "\n";

print "nyankod2012" * "2011", "\n";

Keluarannya:

$ perl konvert_string_numerik.pl

36

7

45

1

5

6

0

$

Adapun untuk konversi numerik ke string itu lebih sederhana. Intinya semua angka yang ada di numerik akan diubah menjadi string. Contohnya:

3 . 5 outputnya 35 45 . 1 outputnya 451

6.6 . 2 outputnya 6.62 8 . "x" outputnya 8x "z" . 9 outputnya z9

"L" . 4 * 2 outputnya L8

Untuk pembuktian, silahkan cek program berikut:

Program: konvert_numerik_string.pl

1

2

#!/usr/bin/perl

# nama program : konvert_numerik_string.pl

Halaman 80 dari 85

3

4

5

6

7

8

9

print 3 . 5, "\n";

print 45 . 1, "\n";

print 6.6 . 2, "\n";

print 8 . "x", "\n";

print "z" . 9, "\n";

print "L" . 4 * 2, "\n";

Keluarannya: $ perl konvert_numerik_string.pl

35

451

6.62

8x

z9

L8

$

Input <STDIN> Dalam pemrograman, bahasa apa pun itu, suatu saat pasti kita akan

mengalami dimana kita membuat sebuah program, dan kita ingin inputan data yang

dinamis yang diinput oleh user. Bayangkan bila setiap program data yang kita akan proses harus kita tulis dalam source code, pasti bikin stres. So, di dalam Perl juga kita

bisa melakukan permintaan input data dari user. Untuk itu kita membutuhkan <STDIN>. Mungkin akan lebih mudah dipahami kalau kita langsung coba dengan contoh aja deh. Oke, program yang akan kita buat berikut ini intinya adalah sebuah

program yang akan menanyakan siapa nama user, kemudian user akan menginput

Halaman 81 dari 85

namanya di program, kemudian program akan mengucapkan selamat datang kepada user dengan menyebut namanya. Cerdas bukan? Oke, langsung aja deh bro. Cekidot.

Program: inputan_nama.pl

1

2

3

4

5

6

#!/usr/bin/perl

# nama program : inputan_nama.pl

print "Siapa nama kamu? ";

$nama = <STDIN>;

print "Selamat datang $nama";

Keluarannya:

$ perl inputan_nama.pl

Siapa nama kamu? Kresna

Selamat datang Kresna

$

Kita juga bisa membuat program yang lebih menarik lagi, misalnya program

perhitungan luas lingkaran.

Program: luas_lingkaran.pl

1

2

3

4

5

6

#!/usr/bin/perl

# nama program : luas_lingkaran.pl

print "PROGRAM PERHITUNGAN LUAS LINGKARAN", "\n\n";

print "Masukan jari-jari lingkaran : ";

Halaman 82 dari 85

$r = <STDIN>;

$l = 3.14 * $r * $r;

print "\n";

print "Rumus Luas Lingkaran adalah : L = phi * r * r", "\n";

print "Jadi, Luas Lingkaran adalah ", $l, "\n";

Keluarannya: $ perl luas_lingkaran.pl

PROGRAM PERHITUNGAN LUAS LINGKARAN

Masukan jari-jari lingkaran : 7

Rumus Luas Lingkaran adalah : L = phi * r * r

Jadi, Luas Lingkaran adalah 153.86

$

Gimana? Semakin menarik bukan?

Oke untuk pembahasan kita kali ini mungkin sampai di sini dulu. Intinya supaya kita semakin paham terhadap sebuah pemrograman kita harus senantiasa

melatihnya. Oh ya, untuk edisi selanjutnya kita akan mencoba untuk membahas tipe data yang lainnya, yaitu Array. So, jangan sampe kelewatan ya.

Everytime is learning…. Coding is pulen bro!!!

@KresnaGaluh

Halaman 83 dari 85

Cara Berlangganan Nyankod Magz via Email

Bagi Anda yang ingin berlangganan buletin Nyankod Magz via email, caranya gampang, udah gitu gratis lagi bro….

Gini nih caranya:

1. Buka homepage kami di http://nyankod.blogspot.com.

2. Pada sidebar sebelah kanan ada kolom Berlangganan Nyankod Magz. Silahkan isi form email dengan alamat email Anda, kemudian klik tombol

Submit.

Halaman 84 dari 85

3. Selanjutnya akan keluar pop-up Email Subsription Request. Isi form yang

ada di bawah dengan kode yang tampil di layar. Setelah itu klik tombol Complete Subscripion Request.

4. Beres deh, nanti setiap ada edisi terbaru dari Nyankod Magz akan langsung

terkirim pula ke email Anda. Biasanya sih satu hari setelah penerbitan.

Halaman 85 dari 85

Bagi Anda yang merasa Nyankod Magz bermanfaat,

dan Anda ingin memberikan apresiasi, maka silahkan

kirimkan Testimoni Anda kepada kami, atau silahkan tulis

langsung di halaman Testimoni di web kami.

Edisi ke-5 akan terbit: Rabu, 11 April 2012


Top Related