Search This Blog

Thursday 15 September 2016

Image and link

Dalam kesempatan kali ini penulis ingin menyampaikan sedikit mengenai bagaimana cara menampilkan gambar pada halaman web dan cara membuat link. Untuk prosesnya sendiri cukup mudah, hanya dengan menyisipkan tag html untuk keperluan tersebut, tidak perlu menggunakan algoritma ataupun berpikir panjang. Namun dengan demikian otomatis Anda harus hafal, minimalnya tahu tag apa yang digunakan untuk menampilkan gambar atau membuat link tersebut. apa maksud minimalnya tahu? Ialah karena di zaman yang se-modern sekarang ini. Cukup dengan Anda mengetahui kata kuncinya saja, walau Anda sendiri tidak hafal bagaimana cara menyisipkan gambar atau  membuat link tersebut, dapat dengan mengetikannya di mesin pencari /  browser, maka apa yang Anda butuhkan akan dengan mudah ditemukan. Namun kembali untuk kata kunci, Anda harus paham apa yang sebenarnya Anda cari, seperti saat Anda ingin mencari tahu cara menampilkan gambar di halaman web namun Anda hanya mengetikan pada browser “gambar”. Maka Anda sendiri akan kesulitan untuk mencarinya, karena mesin pencari tidak akan sepenuhnya mengerti apa yang Anda inginkan jika kata kunci yang Anda gunakanpun tidak sesuai dengan apa yang Anda maksudkan. Dan dengan demikian gambar yang akan muncul ialah gambar-gambar yang memang berformat gambar, bukan cara menampilkan gambar di halaman web. Dan itulah yang dimaksud oleh penulis mengapa walau Anda tidak hafal dengan tag htmlnya, setidaknya Anda tahu apa yang harus Anda cari pada saat Anda membutuhkannya.

Agar lebih mempersingkat waktu, maka alangkah lebih baiknya jika kita langsung saja kepada pembahasan, tidak perlu banyak berbasa-basi lagi. Untuk yang pertama ialah mengenai cara menampilkan gambar pada halaman web, tentunya Anda butuh code untuk menyisipkan gambarnya pada program html Anda. Dan tag yang digunakan dalam penyisipan gambar cukup mudah, karena hanya menggunakan satu tag yaitu tag img. Tag img ini merupakan tag yang digunakan untuk menyisipkan suatu gambar pada halaman web dengan program html. Caranya cukup mudah untuk menyisipkan gambar dengan tag yang satu ini, ialah dengan menuliskan <img>. Namun tidak cukup demikian karena Anda sendiri tentunya tidak tahu kan gambar apa yang akan Anda sisipkan pada halaman web Anda jika hanya ada tulisan img saja. Maka dengan itu penulis ingin menjelaskan sedikit mengenai attribute tag img sendiri. Atributnya antara lain yang pertama yaitu ada atribut src, atribut ini ialah untuk menentukan gambar mana yang ingin Anda gunakan/tampilkan pada halaman web Anda. Pada atribut ini berisikan sebuah url / alamat dari gambar tersebut berada. Jika Anda ingin membuat program tersebut secara offline, maka penulis sarankan untuk meletakan gambar tersebut dalam folder yang sama dengan program html yang telah Anda buat, karena untuk mempermudah dalam menentukan alamatnya. Jika terdapat dalam satu folder yang sama, ambil lah gambar tersebut memiliki nama gumilar.jpg. Maka Anda dapat menuliskan tag img seperti <img src=’gumilar.jpg’>. Namun jika misalkan gambar tersebut terdapat dalam folder yang sama namun gambar tersebut diletakan dalam folder baru didalam folder tersebut, maka Anda harus menuliskannya dengan nama folder itu sendiri. Misal nama foldernya “gambar”, maka Anda harus menulis <img src=’gambar/gumilar.jpg’>. Begitupun jika Anda menempatkan antara program html dengan gambarnya dalam folder yang berbeda, Anda harus menambahkan lagi dalam urlnya. Misal terdapat sebuah folder yang didalamnya berisikan 2 folder, yang satu bernama gambar untuk menyimpan gambarnya, yang satu diberi nama html untuk menyiman program htmlnya. Maka Anda harus menuliskan tag img seperti <img src=’../gambar/gumilar.jpg’>. Tanda ../ merupakan perintah untuk mundur satu langkah dari folder tampat html itu berada, sehingga setelah keluar dari folder tersebut, code html dapat menyusup kedalam folder gambar untuk mencari file gumilar.jpg. Kurang lebih seperti itu proses untuk menyisipkan gambar dan cara penyimpanan gambar untuk program yang offline.

Untuk program yang online sendiri cukup mudah, ialah cukup dengan menyisipkan url dari gambar tersebut kedalam tag <img src=’...’>, Anda tinggal mengganti titik-titik tersebut dengan url dari gambar yang Anda tuju. Sama halnya dengan yang offline tadi. Hanya saja jika offline, Anda harus pandai-pandai membaca dan mengolah folder tempat penyimpanan si gambar dengan htmlnya. Namun untuk yang offline cukup dengan menulliskan misal <img src=’http://goomilar97.blogspot.co.id/gumilar.jpg’>, cukup dengan seperti demikian maka gambarpun akan dengan sendirinya tampil dalam halaman web Anda. Namun tetap saja untuk url sendiri tidak dapat ditebak-tebak, harus sesuai dengan alamat asli dari gambar tersebut pada saat diupload.

Selain src, masih ada atribut lain yang dapat digunakan untuk mengolah gambar Anda dalam suatu halaman web, seperti halnya pada saat Anda ingin menambahkan garis disetiap sisi gambar sebagai bingkai, Anda dapat menggunakan atribut border. Atribut yang satu ini dapat Anda atur ketebalan garisnya dengan ukuran pixel atau persentase. Untuk penulisannya sendiri Anda daat menuliskannya dengan <img src=’..’ border=’2px’> yang artinya border tersebut ketebalannya 2 pixel. Dan ada pula atribut yang dapat Anda gunakan untuk menentukan posisi dari gambar yang Anda ingin tampilkan, misal jika gambar tersebut ingin diletakan diantara tulisan dan posisinya berada disebelah kiri tulisan, maka Anda dapat menuliskannya dengan <img src=’..’ align=’left’>, dan untuk pilihan posisi gambar html sendiri antara lain ada center, left, right, justify, top, bottom, middle, baseline. Silahkan dicoba masing-masing pilihannya untuk mengetahui perbedaannya masing-masing. Selain src, border dan atribut align, ada pula atribut untuk menentukan lebar dan tinggi dari gambar yang Anda ingin tampilkan. Untuk lebar Anda dapat menggunakan atribut width dan untuk tingginya Anda dpat menggunakan atribut height. Sama seperti sebelumnya untuk penggunaan ialah dengan cara menuliskan terlebih dahulu tag imgnya seperti <img src=’..’ width=’..’ height=’..’ align=’..’> dan yang lainnya. Namun jika ada pertanyaan mengapa penulis selalu memberi contoh tag img yang didalamnya selalu ada atribut src, ialah karena untuk menentukan gambar mana yang akan digunakan ialah dengan menggunakan atribut tersebut, tanpa atribut tersebut, maka semua atribut lainnya tidak akan mengubah dari gambar yang ingin Anda tampilkan.

Begitu untuk masalah tag img sebagai tag untuk menampilkan gambar di halaman html, namun untuk link sendiri ialah dengan cara menyisipkan tag anchor yang disertai dengan href. Pada tag anchor href atau yang biasa kita kenal dengan tag <a href> ini merupakan tag untuk membantu kita dalam pembuatan link, baik itu link untuk mengirim email, link untuk menuju webpage lain, ataupun untuk mempermudah proses download. Bagaimana caranya? Cukup mudah, ialah dengan cara menuliskan tag tersebut yang disertai dengan url didalamnya, misal Anda ingin membuat link untuk menuju webpage lain, maka Anda tinggal menuliskan <a href=’http://goomilar.blogspot.co.id’> tulisan yang ingin dibuat link </i>, atau pada saat Anda ingin menyisipkan link untuk sebuah pengiriman email, mudah saja tinggal menambahkan perintah mailto, bagaimana caranya? Ialah dengan menulis terlebih dahulu tag anchor hrefnya, seperti <a href=’mailto:remonc97@gmail.com’> kirim email untuk goomilar </a>, maka dengan demikian proses tersebut sudah dianggap selesai. Atau untuk mempermudah proses download, tinggal ditambahkan saja <a href=’http://goomilar.blogspot.co.id/download/file.zip’> tulisan yang ingin dibuat link </i>. Dengan semua proses tersebut, maka pembuatan link sebenarnya sudah cukup, terkecuali jika Anda ingin menambahkan variasi lain pada bentuk tulisan dll, karana tulisan yang diberi link pemberian warnanya sedikit berbeda dengan tulisan biasa yang tidak mengandung link. Untuk link, terdapat beberapa atribut pula yang dapat digunakan. Seperti atribut href seperti yang sudah dicontohkan diatas, atribut target untuk target window yang dituju (terdapat pilihan self, blank, top, parent), ada atribut name untuk nama labelnya dan atribut title untuk tooltipsnya. Atribut title sendiri akan berguna pada saat kursor didekatkan pada tulisan yang diberi link tersebut, maka akan ada tulisan yang muncul sebagai pemberi petunjuk, dan itu bebas dapat ditentukan oleh pembuat programnya. Untuk memperjelas penjelasan diatas, silahkan perhatikan contoh program berikut:

<html>
                <head/>
                <body>
                                <img src='gambar/gumilar.jpg' border='2px' width='400px' height='400px' align='left'>
                                semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar semua yang ditulis disini akan berada disebelah kanan gambar <br>
                                <img src='gambar/gumilar.jpg' border='12px' width='200px' height='200px'><br><br>
                                <a href='mailto:remonc97@gmail.com'>kirim email untuk goomilar</a><br><br>
                                <a href='goomilar97.blogspot.co.id' target='blank' title='kunjungi halaman goomilar 97..'>inilah blog milik goomilar</a>                         
                </body>
</html>


Dan hasil dari contoh program diatas ialah:


Wednesday 14 September 2016

List and Characters Formatting

Untuk topik kali ini penulis ingin membahas mengenai lists pada HTML, dimana list yang dimaksud ialah untuk membuat point-point utama dalam suatu halaman web. Point utama ini bukanlah merupakan suatu judul, namun termasuk suatu garis besar yang nantinya akan digunakan. List yang akan dibahas pada halaman yang satu ini antara lain ordered list dan unordered list. Kedua list tersebut sebenarnya sama saja dalam hal fungsi, yaitu untuk membuat point-point tertentu yang ingin disisipkan. Untuk lebih jelasnya, perhatikan contoh berikut:

<html>
                <head/>
                <body>
                                <ol type='1'>
                                                <li>nomor 1</li>
                                                <li>nomor 2</li>
                                                <li>nomor 3</li>
                                </ol>
                </body>
</html>



Pada contoh diatas, terdapat sebuah contoh program untuk membuat list dengan ordered list. Dimana pada ordered list tersebut terdapat type=’1’ yang artinya pada saat program dibuka dalam browser maka yang terdapat dalam tag <ol> atau isi dari tag <li> akan berurut dimulai dari nomor 1. Dengan kata lain pada tag li yang isinya “nomor 1” akan diberi urutan kesatu, “nomor 2” akan diberi urutan kedua serta seterusnya. Semua urutan itu akan muncul dengan sendirinya sesuai dengan type pada tag <ol>. Dan untuk tag <ol> sendiri memiliki beberapa type yang dapat digunakan, diantaranya angka 1, yang berartikan urut mulai angka 1. Ada type dengan i, yang artinya urut dengan angka romawi dimulai dengan i. Type dengan huruf A, yang artinya urut dimulai dari huruf A besar. Ada type dengan a, yang berartikan urut dimulai dari huruf a kecil serta ada type dengan karakter | yang artinya urut dengan dimulai angka 1 sama seperti type dengan 1.
Selain dengan menggunakan ordered list, dapat juga menggunakan unordered list. Dimana pada list yang satu ini tidak lagi dengan penomoran/urutan yang dapat menunjukan keberapa item tersebut berada. Pada unordered list, urutan list akan dapat dibentuk point dengan sebuah bulatan kosong, bulatan hitam serta kotak, tidak lagi dengan penomoran seperti pada ordered list. Untuk lebih jelasnya, perhatikan contoh berikut:

                                <ul type='circle'>
                                                <li>nomor 1</li>
                                                <li>nomor 1</li>
                                                <li>nomor 1</li>
                                </ul>



Sama saja jika soal penulisan serta urutan dalam penulisan ordered list dengan unordered list, dimana awal dengan menggunakan tag dari jenis listnya yang diikuti dengan type dari list tersebut, serta untuk item pada list itu sendiri menggunakan bantuan tag <li>. Yang membedakan hanyalah jika dalam ordered list ditandakan dengan tag <ol>, pada unordered list ditandai dengan tag <ul>. Dan untuk tampilan dari list tersebut akan mengikuti dengan sendirinya sesuai dengan jenis listnya serta type dari list tersebut. untuk unordered list terdapat list dengan type disc yang artinya item dalam list akan diberi urutan dengan sebuah lingkaran hitam, sedangkan untuk circle akan diberi urutan dengan bulatan kosong, dan untuk square akan diberi urutan dengan kotak berwarna hitam.

Selain untuk list, pada topik kali ini penulis ingin menambahkan sedikit mengenai characters formatting, yang mana dalam characters formatting ini Anda dapat membuat berbagai format karakter sesuai dengan yang diinginkan. Misal Anda ingin menulis dengan cetak tebal, garis bawah atau dengan huruf yang miring. Semua dapat dilakukan dengan menggunakan bantuan dari characters formatting. Sama halnya seperti pada saat Anda ingin menuliskan huruf-huruf dalam Ms.Word, untuk membuat tulisan tebal Anda dapat menggunakan format bold, underline untuk garis bawah dan italic untuk tulisan miring. Namun bedanya jika dalam Ms.Word Anda mengandalkan tools dengan tulisan B/U/I atau menggunakan ctrl + b/u/i, namun dalam HTML Anda harus menyisipkan tag dari masing-masing format karakter tersebut. untuk lebih jelasnya, mari perhatikan contoh program berikut:

<html>
                <head/>
                <body>
                                <b>tulisan tebal dengan tag bold</b><br>
                                <u>bergaris bawah dengan underline</u><br>
                                <i>tulisan miring dengan italic</i><br>
                                <s>membuat coretan pada tulisan</s><br>
                                5<sup>5</sup> = 25<br>
                                H<sub>2</sub>O<br>
                                <big>membuat lebih besar</big> <font color="red">dan</font> <small>lebih kecil</small><br>
                                <pre>tulisan dengan fixed font</pre><br>
                                <tt>tulisan dengan fixef font juga</tt><br>
                </body>
</html>



Untuk yang pertama dalam contoh program tersebut terlihat sebuah tulisan didalam sebuah tag <b> yang artinya tulisan didalamnya akan diberi format bold atau tulisan tersebut akan dibuat tebal dibanding dengan tulisan normalnya. Begitupun dengan format yang berikutnya, tag <u> untuk underline atau memberi garis bawah pada tulisan, tag <i> untuk membuat tulisan menjadi miring, tag <s> untuk membuat tulisan dengan garis seperti underline namun garis tersebut bukan dibawah melainkan ditengan huruf yang membuat coretan pada huruf tersebut. tag <sup> untuk membuat pangkat pada tulisan dan tag <sub> sebaliknya untuk menaruh huruf tersebut menjadi berada lebih kebawah dari posisi mulanya. Tag <big> untuk membuat tulisan menjadi berukuran lebih besar dari ukuran semula, begitupun dengan tag <small> yang berarti akan membuat tulisan lebih kecil dari ukuran sebelumnya. Dan untuk tag <font> yang diikuti color (warna) ialah untuk membuat warna pada tulisan berbeda dengan biasanya, namun penulis menyisipkan tag font tersebut hanya untuk memisahkan antara tulisan yang diberi tag <big> dengan tulisan selanjutnya yang diberikan tag <small>, sedangkan tulisan “dan” sendiri tidak termasuk tag <big> maupun <small> karena berada diluar kedua tag tersebut. Dan yang terakhir ialah untuk tag <tt> dan <pre> dimana kedua tag tersebut berguna sebagai pembuat format dengan fixed font, yang mana bentuk tulisan tidak seperti pada font sebelumnya.

Alasan penulis ingin membahas mengenai list pada html serta characters formatting ialah karena kedua hal tersebut umum sekali digunakan pada halaman html, dan memang sewajibnya untuk diketahui. Kerap kali pada saat ingin menulis sesuatu di halaman web, penulis tersebut kebingungan untuk membuat format / list yang digunakan, karena tidak tahunya tag apa saja yang sebenarnya dibutuhkan. Maka dengan demikian penulis ingin membahas mengenai topik yang satu ini, jika memang sudah tahu, setidaknya andaipun suatu saat Anda lupa, namunAnda sudah tahu apa yang Anda harus cari di internet/buku untuk kedua hal tersebut. sekilas memang terlihat biasa saja untuk list dan characters formatting, terutama untuk list sendiri karena memang untuk menulis di sebuah halaman web masih menjadi suatu hal yang jarang digunakan, bahkan masih banyak pula yang menggunakan penomoran/pengurutan secara manual yang ditulis langsung dari keyboard, lain halnya dengan characters formatting yang agak sering digunakan, terutama antara bold, italic dan underline. Namun untuk selain itu, masih jarang sekali untuk digunakan. Tetapi perlu diingat, bahwa walau semua itu terlihat biasa saja, namun jika Anda tidak mengetahui semua hal itu, maka jika suatu saat Anda tengah membutuhkan salah satunya tanpa dapat ditulis dengan manual dari keyboard, maka semua itu akan menjadi hal yang mendadak penting dan membuat Anda panik jika memang itu sangat penting tanpa Anda tahu apa yang harus Anda lakukan untuk menghadapi format/list tersebut. lagipula menurut penulis, semua characters formatting tersebut maupun list yang penulis tulis diatas merupakan hal yang umum sekali, jadi tidak akan membuat sulit untuk dihafal, yang penting tahu dan paham dengan penggunaan dari setiap tagnya, maka otak dapat lebih mudah mengingat dengan sendirinya.

Namun lebih baiknya jika pun memang Anda kesulitan untuk menghafal semua tag tersebut, maka tidak perlu Anda memaksakan untuk menghafalnya, karena untuk programming bukanlah untuk dihafal dalam setiap tag/code nya, cukup dengan menggunakannya dalam pemrograman/latihan sehari-hari, maka semua code/tag tersebut akan dengan sendirinya tertanam didalam otak (bukan berarti otak Anda isinya berubah menjadi tag/code pemrograman), bahkan jari pun akan dengan sendirinya mengetik code yang Anda butuhkan ketika sedang membuat sebuah program. Kuncinya ialah dengan menggunakannya/mencoba programnya sehari-hari, tidak hanya membaca dan melihat hasilnya saat belajar tersebut. Sama halnya dengan belajar di sekolah, pada saat siswa hanya memperhatikan dan membaca slide yang ditampilkan guru, maka murid hanya akan mengingat dan memahaminya sesaat, lain halnya dengan menulis dan membacanya kembali dirumah / pada saat berlatih untuk mengerjakan sebuah soal. Semua itu akan memberikan perbedaan, sedikit perbedaan yang menghasilkan buah berbeda bernilai fatal. Jadi intinya, penulis sangat berharap agar Anda tidak hanya membaca dari tulisan penulis ini, namun juga mencoba programnya dan berlatih untuk membuat program lain selain dari contoh yang telah diberikan penulis. Jika bisa, cobalah membuat suatu program tanpa melihat contoh yang Anda punya, karena dengan demikian Anda dapat melatih otak Anda untuk menghafal dan memahami code.

Thursday 8 September 2016

Code dasar HTML

Setelah sebelumnya mengetahui apa itu HTML pada pengalanan dan instalasi aplikasi untuk HTML, kali ini penulis ingin memperkenalkan code dasar HTML. Untuk code dasar HTML sendiri penulis akan menyertakan sedikit mengenai heading font dan paragraph font. Untuk heading font merupakan ukuran font dari yang besar hingga kecil, heading biasa digunakan untuk penulisan judul dalam sebuah halaman web, sedangkan paragraf digunakan untuk penulisan paragraf. Walau memang penulisan dalam halaman HTML sendiri ukuran font dapat diatur secara manual, namun untuk penulisan judul sendiri biasanya programmer menggunakan heading, dimana ukuran huruf sudah ditentukan, tinggal menuliskannya dengan tag <H(ukuran heading)>. Ukuran heading yang dimaksud dari tulisan yang berada didalam tanda kurung tersebut merupakan ukuran heading yang ingin digunakan dalam membuat judul. Ada h1 – h6, dimana semakin ukuran heading diperbesar, maka ukuran font akan semakin mengecil. Sedangkan untuk paragraph sendiri mengapa harus menyertakan tag paragraph? Ada beberapa kelebihan dalam penggunaan paragraph, salah satunya ialah dengan menggunakan paragraph font maka kita dapat menyisipkan style dari font itu sendiri dengan CSS style. Walau memang dengan HTML itu sendiri style font dapat diatur manual, namun sebagian programmer yang lebih sering menggunakan style via CSS maka akan lebih banyak menyisipkan code css baik itu dalam body htmlnya sendiri dengan bantuan tag HTML maupun secara terpisah (dengan menuliskannya dalam tag head ataupun dalam program yang terpisah). Mari perhatikan contoh program berikut:


<html>
<head>
                <title>Goomilar97</title>
</head>
                <body>

                                <h1 align="center">
                                Ini Heading
                                </h1>

                                <h3 align="center">
                                Home
                                </h3>
                               
                                <center>
                                <p style="font-size: 35; color:blue;">goomilar</p><br>
                                <style="font-size: 35; color:blue;">goomilar</style><br>
                                <font size="35" color="blue">goomilar</font>
                                </center>
                </body>
</html>


Untuk program seperti diatas, maka tampilan yang akan didapatkan ialah sebagai berikut:

Mari perhatikan program diatas. Dalam program tersebut pertama kita menuliskan tag <html> yang mana tag html tersebut merupakan tag pengenal bahwa bahasa pemrograman yang digunakan ialah HTML. Dan diakhir program (paling bawah) terdapat tag </html> yang mana tag tersebut merupakan tag penutup dari tag <html> sendiri. Didalam tag <html> kita melihat yang pertama ialah tag <head>, tag head tersebut merupakan tag yang hasil codenya tidak akan ditampilkan pada halaman browser. Seperti didalamnya terdapat tag <title> dengan isi “Goomilar97” dan dilanjutkan dengan penutup</title> yang mana tulisan Goomilar97 tersebut tidak ditampilkan dalam halaman desain webnya, namun khusus untuk title akan ditampilkan pada pojok kiri atas browser diatas tombol untuk reload/next/prev. Namun untuk tag <meta> dan tag lainnya tidak akan tampil sama sekali terkecuali jika pada browser diklik kanan lalu pilih “view page source”, maka akan terlihat semua kodingan html dengan css yang digunakan oleh si pembuat halaman web. Dengan demikian, pada intinya yang akan tampil di halaman web bukanlah yang terdapat pada tag <head> melainkan yang terdapat dalam tag <body>. Sekilas untuk penulisan tag pada HTML, setiap kali penulisan tag html, maka harus dilanjutkan dengan penutup tag tersebut, seperti pada tag <title> didalamnya terdapat sebuah tulisan sebagai title dari halaman tersebut dan lalu dilanjutkan dengan penutup tag </title>nya. Penulisan sudah seharusnya demikian, setiap kali ada perintah, maka perintah tersebut berada didalam tag yang disertai dengan penutup tagnya (sebelum melanjutkan ke tag sebelumnya). Seperti pada contoh diatas, pada tag <h1> langsung dilanjutkan dengan penutupnya setelah tulisan yang diberi efek h1 tersebut selesai sebelum akhirnya melanjutkan ke tag <h3>. Terkecuali jika memang dalam tag tersebut terdapat beberapa tag yang disisipkan sesuai keperluan. Seperti halnya dalam tag <body>, didalam tag tersebut terdapat banyak tag yang disisipkan, seperti tag <font>, tag h1, h3 dan paragraph. Karena memang dalam tag <body>lah tag-tag html yang akan kita gunakan untuk mendesain web disisipkan. Jadi intinya jangan sampai lupa untuk menyipiskan penutup tag pada setiap kali menyisipkan sebuah tag sebelum melanjutkan perintah ke tag berikutnya. Untuk tag html sendiri cukup banyak jumlahnya, seperti untuk membuat table dan lainnya. Namun semua itu tidak harus dihafal semua, karena yakin sulit untuk menghafal code dengan jumlah yang banyak sekali, cukup beberapa saja yang memang diperlukan dalam perancangan web Anda. Dan yang paling penting untuk dihafal ialah tag <html> itu sendiri, tag <head> dan tag <body>. Karena tanpa tag tersebut Anda takkan mampu membuat sebuah web design dengan html tersebut. Tag html, head dan body merupakan tag inti HTML, karena untuk menyisipkan title dan meta tag saja Anda membutuhkan tag head terlebih dahulu, sedangkan tag head sendiri terdapat dalam code html, maka dengan demikian harus menyisipkan tag <html> terlebih dahulu baru didalamnya disisipkan tag <head>. Begitupun dengan tag body yang memang akan ditampilkan pada halaman browser, maka harus berada dalam tag <html>.

Kembali pada program diatas, pada program tersebut kita bari membahas mengenai tag <title> yang mana terdapat dalam tag<head>. Namun untuk tag <body> sendiri kita belum membahasnya, sedangkan yang akan kita tampilkan pada halaman browser ialah yang terdapat dalam tag <body> itu sendiri. Yang pertama kita lihat ialah tag <h1> yang mana tag tersebut merupakan tag untuk heading dengan ukuran font terbesar secara default. Dalam tag tersebut disisipkan tulisan align=”center” yang mana maksudnya untuk tag <h1> tersebut diletakan pada posisi tengah dalam halaman webnya. Seperti yang terlihat dalam hasil di browser pada gambar diatas, tag tersebut menampilkan tulisan “Ini Heading” dengan ukuran huruf yang besar dengan warna default hitam, dan tulisan tersebut tercetak di posisi tengah dari halaman webnya. Begitupun dengan tag <h3> yang menampilkan tulisan HOME dengan ukuran huruf lebih kecil (karena semakin besar ukuran heading yang digunakan maka ukuran hurufnya akan semakin mengecil). Namun untuk hal lainnya tidak jauh berbeda, karena yang membedakan hanyalah ukuran dari huruf tersebut, sedangkan untuk align sama-sama ditengah.

Selain tag heading, dalam contoh program diatas dapat kita lihat adanya tag <center> namun untuk tutup tag itu sendiri berada jauh dibawahnya, tidak langsung dibawah tag tersebut. Mengapa demikian? Karena yang yang terdapat dalam tag center itu sendiri semuanya diletakan pada posisi tengah. Dan pada contoh program tersebut kita melihat adanya tag <p> atau tag paragraph yang disisipkan style css. Seperti yang sudah disebutkan sebelumnya bahwa perintah css tersebut dapat diletakan dengan metode menumpang pada tag html, pada program tersebut perintah css menumpang pada tag paragraph yang mana dapat kita lihat style css pada baris berikutnya yang ditulis tanpa menumpang pada tag html tidak mengandung pengaruh apapun pada isi yang diberi perintahnya. Karena memang untuk menggunakan style css tanpa menumpang pada tag html penulisannya harus dipisah dengan bantuan tag div. Dan seperti yang sudah disebutkan diatas bahwa tanpa style css pun html sudah dapat mengubah gaya hurufnya dengan tag <font> seperti pada perintah berikutnya. Lalu untuk apa penggunaan tag css dalam html jika html sendiri sudah dapat membuat style tanpa css? Style dalam html lebih terbatas dan dapat dikatakan kurang bagus jika dibandingkan dengan css, maka dengan demikian penggunaan css tujuannya untuk memanjakan mata pada saat melihat tampilan web Anda pada browser.


Jadi kesimpulan dalam pembahasan kali ini ialah untuk memperkenalkan tag html, head dan body saja sebenarnya, untuk selanjutnya akan dibahas lagi mengenai tag lainnya. Dan yang perlu ditegaskan ialah untuk setiap penggunaan tag html harus disertai dengan tag penutup disetiap perintah yang disisipkan sudah selesai / sebelum melanjutkan ke tag berikutnya, karena pada saat menyisipkan tag lain sebelum menutup tag tersebut, maka tag yang ada didalam tag tersebut akan dianggap sebagai komponen dari tag luarnya. Dengan demikian, lebih disesuaikanlah penggunaan tag-tag tersebut. Dan jangan lupa pula bahwa yang akan tampil pada halaman browser ialah tag-tag yang berada dalam tag <body>, sedangkan tag <head> isinya tidak akan ditampilkan pada halaman web, namun bukan berarti tidak akan dibaca sebagai komponen dari tag html, karena seperti title, title digunakan untuk memperkenalkan judul / nama dari setiap halaman yang Anda buat. Maka jangan sampai salah simpan code Anda, jika nanti tidak tampil pada halaman webnya, maka periksa lagi code yang Anda sisipkan, barangkali Anda menempatkannya pada tag <head> atau bahkan mungkin diluarnya. Oh yansatu lagi tambahan, dalam beberapa tag diatas, ada yang disamping kanannya diberi tambahan tag <br>, tag tersebut gunanya ialah sebagai pemberi baris baru, karena untuk code html sendiri jika hanya mengandalkan enter maka tulisan tidak akan berada di baris selanjutnya, namun akan menyambung dengan tulisan sebelumnya, untuk itu digunakan tag <br> sebagai pemberi baris baru dalam sebuah code HTML.

Pengenalan dan instalasi aplikasi untuk HTML


Menurut wikipedia, HTML atau Hyper Text Markup Language merupakan sebuah bahasa markah yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan pemformatan hiperteks sederhana yang ditulis dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut denganSGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee Robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah lembaga penelitian fisika energi tinggi di Jenewa).

Sebelum membahas langsung ke program, untuk yang pertama-tama diperkenalkan oleh penulis selain apa itu HTML ialah masalah instalasinya. Code HTML dapat ditulis di notepad, notepad++, macromedia dreamweaver dll. Banyak sekali aplikasi yang dapat digunakan untuk pembuatan design web dengan html. Namun untuk saran dari penulis sendiri, alangkah lebih baiknya jika membuat sebuah design web dengan bantuan notepad++ atau notepad, namun sepertinya akan jauh lebih nyaman dengan notepad++ karena tulisan yang tampil di layar tidak terlalu membuat jenuh seperti pada notepad biasa. Namun jika ingin membuatnya di notepad biasa, dapat ditulis codenya dan disimpan dengan akhiran .html (dot html). Mengapa demikian? Karena jika disimpan biasa, maka komputer akan membacanya dengan tipe text (karena auto simpannya dengan .txt) walau isinya dokumen html. Tetapi untuk notepad++ Anda dapat menyimpan dengan pilihan tipenya, dan tentu saja pada saat menyimpan Anda harus memilih .html pada notepad++. Jika bingung dengan penjelasan tersebut, maka penulis beri inti dari maksudnya saja, pada intinya untuk menyimpan file html pada notepad maka harus ditulis manual .html-nya, sedangkan pada notepad++ tidak ditulis manual dalam pengesavean, tetapi user dapat memilih untuk menyimpan dengan tipe apa, karena dalam notepad++ dapat menyimpan / membaca banyak jenis file berbentuk tulisan, seperti css, php dll. Untuk notepad sendiri tentunya sudah ada / terinstal secara otomatis dalam komputer masing-masing, namun untuk penggunaan notepad++ Anda dapat mendownload aplikasi notepad++ di situs notepad++, lalu setelah mendownload tentunya Anda tinggal menginstal hasil download tersebut dalam komputer Anda, maka dengan demikian notepad++ sudah dapat dijalankan.

Selain dengan aplikasi, untuk Anda yang ingin belajar praktis html tanpa harus menginstal terlebih dahulu aplikasinya, maka Anda dapat meletakan code Anda pada situs w3schools.com. Situs tersebut merupakan situs untuk belajar online seputar web design dan web programming. untuk meletakan code Anda pada situs tersebut cukup mudah, dengan Anda memiliki code html maka Anda tinggal masuk ke situsnya, lalu pada tulisan Try it Yourself Anda tinggal klik, maka otomatis web tersebut akan menampilkan sebuah code html yang menjadi contohnya sebagai code milik Anda yang dapat diubah, maka Anda dapat meletakan code html Anda di dalam form tersebut. Dengan demikian pada akhirnya jika code html Anda sudah diletakan dalam form tersebut, maka Anda tinggal mengklik tombol run dengan background warna hijau diatas form tempat meletakan code html tadi, maka dengan begitu hasil dari code Anda akan tampil di sebelah kanan dari form tempat code html (terletak berbeda / terpisah antara code dengan hasilnya). Namun bukan berarti web / blog Anda sudah langsung jadi pada halaman tersebut, karena halaman tersebut hanya untuk contoh / proses belajar saja. Dan dalam halam tersebut juga Anda dapat membuat tampilan hasil code Anda berada tidak disamping kanan codenya, namun form tersebut dapat anda letakan dibawah form tempat Anda meletakan code htmlnya. Bagaimana caranya? Ialah dengan mengklik tombol disamping tombol run dengan bentuk/gambar seperti karakter sama dengan. Dalam situs tersebut banyak pula code html yang dapat Anda pelajari, berikut dengan bahasa pemrograman web dan design web lainnya seperti css, php, javascript dll. Namun ya jika bicara tentang kelebihan dan kekurangan, jelas kelebihannya selain tampilan yang lebih menarik dibanding notepad, juga Anda tidak perlu me-run program Anda dengan aplikasi berbeda seperti menggunakan browser saat membuat program dengan notepad. Oh ya, seklias ditambahkan, untuk me run program dari notepad, Anda dapat mengklik kanan file yang sudah disave di memori komputer Anda, lalu setelah itu Anda tinggal memilih untuk dijalankan di browser yang terdapat pada komputer Anda. Dan untuk notepad++ sendiri dapat dilakukan dengan hal serupa, namun juga dapat dilakukan run dengan cara tekan tombol ctrl+alt+shift+R untuk chrome, ctrl+alt+shift+I untuk internet explorer, ctrl+alt+shift+X untuk mozila firefox dan ctrl+alt+shift+F untuk safari. Namun untuk situs w3schools sendiri tidak perlu repot, Anda tinggal mengklik tombol run lalu tampilan hasil code Anda akan dengan sendirinya tampil disamping kanan atau dibawah form tempat code html tersebut. Namun jika bicara tentang kekurangannya sendiri, sudah jelas karena ini merupakan situs online, maka Anda harus mempersiapkan kota internet lebih banyak, karena untuk yang satu ini berbeda dengan notepad, notepad me-run dengan offline, sedangkan ini dengan cara online, maka dari awal membuka situsnya pun sudah menggunakan kuota internet.

Untuk membuat program html memang banyak sekali aplikasi yang dapat diandalkan, selain notepad, notepad++ dan situs w3schools, penulis sedikit menyarankan untuk penggunaan macromedia dreamweaver. Untuk download macromedia dreamweaver dapat dilakukan dengan download pada MediaFire.com. Kelebihannya sendiri memang hampir sama dengan w3schools yaitu saat code html Anda diletakan, maka dapat dengan mengklik tombol dengan tulisan "design" pada atas form sebelah kiri, disana terdapat tombol untuk penggunaan code, split (antara code dengan hasil sama-sama ditampilkan seperti pada w3schools) dan design, namun dapat juga me-run nya melalui browser dengan cara mengklik tombol F12 pada keyboard komputer Anda jika ingin me-run di chrome, dan dengan ctrl+F12 jika ingin me-run nya di internet explorer. Namun untuk aplikasi yang satu ini, penyakitnya ialah pada saat programmer sudah mengenal tombol design pada bar atas formnya, maka si pembuat program tersebut akan lebih banyak menggunakannya dalam membuat design html, karena memang mudah dengan drag & drop saja, dan otomatis code html dapat tinggal di copy untuk ditampilkan dalam blog/webnya. Namun tetap saja, segala hal yang otomatis, akan tetap kalah dengan yang manual, karena setiap hal yang otomatis tidak akan selengkap pembuatan dengan cara manual. Seperti halnya untuk menampilkan tulisan berjalan pada aplikasi ini (code marquee) maka harus ditambahkan secara manual, tidak dapat dengan otomatis klik saja, dengan demikian menurut penulis lebih baik menggunakan notepad++ saja dalam pembuatan program html sendiri. Lagipula, jika terlalu terbiasa membuat program dengan bantuan aplikasi yang praktis, maka code yang pernah Anda pelajari semakin lama akan dengan mudah terlupakan, dengan demikian nanti Anda akan mempelajarinya kembali jika suatu saat membutuhkan. Banyak programmer handal yang mengatakan bahwa penggunaan aplikasi bantuan dalam membuat sebuah program merupakan hal yang dapat membuat programmer menjadi bodoh. Penulis sendiri setuju dengan hal itu, karena memang penulis pernah merasa nyaman dengan jangka waktu yang lama untuk membuat program melalui macromedia dreamweaver, dan hasilnya penulis justru banyak lupa untuk menggunakan code secara manual, dengan demikian panulis lebih memilih untuk kembali pada notepad++. Bukan hanya berguna untuk menghafal code htmlnya, namun juga dapat membantu mengasal algoritma kita sebagai programmer (walau html sendiri hanya program sederhana atau dapat dikatakan biasa). Tetapi disisi lain walau html terlihat sederhana, namun untuk design dan pemrogaman web sendiri, html menjadi bahasa pemrograman yang dianggap sebagai komponen penting, tanpa html, css, php dan javascript pun tidak dapat berjalan sebagaimana mestinya (terkecuali untuk hal-hal tertentu). Oh ya ada satu hal yang belum dicantumkan disini, ialah serial key macromedia dreamweaver dapat menggunakan WPD800-54232-80332-94711.

Tuesday 6 September 2016

Pointer

Pada topik kali ini penulis ingin membahas sedikit mengenai pointer. Apa itu pointer? Pointer merupakan suatu nilai yang mana nilai tersebut berperan sebagai penunjuk lokasi suatu memori (dimana letak memori tersebut). Dan untuk menggunakan pointer sendiri kita menggunakan bantuan dari variabel, dimana variabel tersebut merupakan variabel pointer, hingga pada akhirnya variabel pointer tersebut biasa kita sebut dengan pointer. Jadi dengan kata lain variabel yang kita gunakan untuk program kali ini (yang disebut pointer) merupakan variabel pointer, dimana variabel tersebut hanya menjabat sebagai perwakilan/perantara bagaimana menggunakan pointer. Dan dengan variabel tersebutlah kita dapat menunjuk alamat suatu memori. Tapi tetap saja untuk menyebut variabel tersebut tidak harus variabel pointer, karena pada umumnya variabel tersebut disebut dengan pointer (tanpa kata variabel). Namun untuk pointer sendiri harus disesuaikan tipe datanya dengan variabel yang dituju. Misal Anda ingin mencari lokasi dari variabel A yang isinya tipe data numerik, maka variabel pointernya pun harus bertipe data numerik, dengan demikian pointer dapat menyelesaikan tugasnya. Untuk percetakannya sendiri, dalam mencetak alamat suatu memori dapat dilakukan dengan perintah cetak yang mengandung %p atau %x. Seperti printf("%x", p); kurang lebihnya penulisan dilakukan seperti demikian. Mari perhatikan contoh program berikut:

#include<stdio.h>
main(){
int G=97;
int *p;
p=&G;
printf("%x\n", p);
printf("\n%i", *p);
}

Pada contoh program diatas dapat diperhatikan bahwa yang pertama ialah mengenai tipe data, tipe data yang digunakan oleh variabel pointer dengan tipe data variabel yang akan ditunjuk lokasi memori dari nilai didalamnya memiliki tipe data yang sama yaitu integer. Selain itu ada tulisan p=&G; dimana pada perintah tersebut menunjukan bahwa p merupakan alamat dari variabel G. Dengan demikian dinyatakan bahwa nilai yang ada dalam variabel G tersebut akan ditunjuk lokasinya dengan perantara variabel pointer (p). Selain itu terdapat dalam contoh program diatas dua buah perintah cetak, dimana kedua perintah tersebut memiliki perbedaan. Apa perbedaannya? Seperti yang sudah disebutkan diatas, untuk mencetak alamat memori dapat menggunakan %p dan %x, maka pada perintah cetak pertama yang menggunakan %x merupakan cetak alamat memori, sedangkan pada perintah cetak yang kedua akan menghasilkan cetakan angka sebenarnya. Apa itu angka sebenarnya? Ialah angka yang ditunjuk, namun angka itu sendiri yang menjadi bahan perintahnya. Jadi yang tercetak nanti ialah angka 97 yang mana hasil copy dari variabel G. Dengan demikian ada sedikit penjelasan bahwa dalam penggunaan variabel pointer, terdapat perbedaan antara menggunakan karakter * dengan yang tanpa *.

Pointer sebenarnya memang untuk menunjuk alamat suatu memori, dan itu memang sudah jelas. Lalu mengapa dalam program diatas variabel pointer tersebut dapat digunakan seperti variabel biasa yang mana tugasnya untuk mencetak nilai dalam variabel, bukan untuk mencetak lokasi dari memorinya. Untuk hal tersebut perlu diingatkan kembali / ditegaskan kembali bahwa yang kita gunakan tersebut merupakan variabel pointer, dan pointer yang sebenarnya ialah penunjuk dari memorinya, jadi jika kita menggunakan variabel tersebut yang dideklarasikan sebagai variabel pointer ya bisa saja karena pada dasarnya ia hanyalah sebuah variabel, bukan pointer sesungguhnya, dan variabel tersebut hanya sebagai perantara untuk membantu dalam penggunaan pointer. Dan untuk sedikit tambahan, karena jika pada saat dicetak dengan ditambah karakter * akan menjadi variabel biasa dan tanpa * akan menjadi penunjuk alamat memori, maka ada satu hal yang perlu dijelaskan lagi disini. Dalam program tersebut bisa saja ditulis perintah cetak dengan printf("%i", p); dapat melihat perbedaannya? Perbedaannya ialah pada saat menggunakan %i dan variabelnya dijadikan sebagai variabel penunjuk alamat, maka %i tersebut akan menjadi patokan dimana yang akan dicetak ke layar merupakan alamat dari nilai dalam variabel yang alamat tersebut akan berbentuk decimal. Mengapa demikian? Karena integer sendiri merupakan bilangan decimal, sedangkan pada contoh program diatas pada saat penulis menggunakan %x, maka yang akan tercetak ke layar dalam bentuk hexadecimal. Silahkan jika ingin membuktikan, buat dua buah percetakan yang mana pada percetakan pertama menggunakan %i dan percetakan yang satunya menggunakan %x, lalu hitung apakah nilai decimal dengan hexa tersebut sama? Karena tidak mungkin berbeda dalam penunjukan alamat walau memang untuk percetakannya sendiri menggunakan tipe data yang berbeda. Namun sedikit catatan, bahwa untuk percetakan yang dimaksud ialah dalam program yang sama, karena jika untuk hexa dan decimalnya dibuat dalam komputer yang berbeda, maka hasilnya pun akan berbeda, memang bisa saja sama, namun kemungkinan tersebut terlalu tipis, mengingat lokasi memori dalam setiap komputer memiliki perbedaan.

Untuk pointer sendiri tidak hanya dapat digunakan sebagai percetakan biasa yang ditunjuk dari nilai awal yang tersedia, pointer sama dengan variabel lainnya yaitu dapat diberi perintah dan dijalankan sebagaimana biasanya. Seperti misal pointer untuk menunjuk alamat elemen array satu dimensi, itupun bisa dilakukan pada pointer, karena inti dari pointer sendiri yaitu penunjuk alamat, bagaimanapun programnya, selagi perintah yang digunakan jelas, maka pointer tersebut tidak akan bermasalah dalam menjalankan tugasnya. Ya sama saja dengan variabel lainnya, seperti dapat disisipkan dalam perulangan atau tugas lain misalnya, yang paling penting ialah kesesuaian antara tipe data akan nilai yang ditunjuk dengan tipe data pointer itu sendiri. Jadi bukan berarti pointer itu merupakan dunia baru dalam pemrograman c, karena pada dasarnya hanya sebuah variabel dengan ditambahkan karakter * yang dicetak dengan hexadecimal sebagai alamat memorinya. Ya jika dibandingkan dengan variabel biasa pun memang perbedaannya hanya dalam dua hal tersebut saja, antara * dengan tipe data (hexa). Memang ada yang menjadi pertanyaan untuk pointer ini, untuk apa kita mempelajari tentang pointer sedangkan pada pemrograman c sendiri kita biasanya hanya menggunakan variabel biasa dengan bantuan perulangan dan kondisi. Memang untuk program biasa kita akan jarang menggunakan pointer, karena memang untuk program biasa pointer jarang diperlukan, namun suatu saat ada suatu program yang memang sangat membutuhkan pointer, maka tidak ada salahnya untuk sedikit mempelajari (walau hanya cukup tau istilahnya). Oke untuk contoh penggunaan pointer dalam perulangan, perhatikan contoh program berikut, karena dalam contoh program yang satu ini pointer diletakan dalam perulangan

#include<stdio.h>
main(){
int G[3]={24,1,97}, i;
int *p;
p=G;
for(i=0; i<3; i++){
printf("%10x", p);
p++;
}
}
Dalam contoh program diatas tidak jauh berbeda dan memang dapat dikatakan sama saja dengan contoh program yang diatasnya, hanya saja pada contoh program yang satu ini terdapat sebuah perulangan. Secara deklarasi sendiri, karena memang ini merupakan array satu dimensi, maka deklarasi dan inisialisasinya dilakukan seperti pada umumnya array satu dimensi, serta untuk perulangannya pun memang bertujuan untuk mengindeks array satu dimensi tersebut. dan untuk deklarasi disini, memang hanya ditambah variabel i sebagai pembantu perulangannya. Serta untuk masalah perulangan, sudah jelas dalam perulangan tersebut dicetak alamat dari setiap elemen array satu dimensi yang dideklarasikan dan diberi nilai awal tadi. Yang paling penting dibahas disini ialah mengenai percetakan, jangan sampai salah menilai. Soal percetakan sendiri karena ini sebuah alamat maka akan berbeda setiap elemennya, namun perlu ditegaskan bahwa perbedaan disini terjadi karena lokasi memorinya yang berbeda, bukan karena nilai dari setiap elemen tersebut, karena berapapun nilainya, jika memang alamatnya disitu ya yang tercetak adalah lokasi tersebut dengan hexa. Jadi intinya jangan sampai keliru menganggap bahwa yang tercetak mengenai pointer ini bergantung kepada isi / nilai dalam variabelnya, karena ini bukanlah rumus yang menghitung dari setiap nilai yang terkandung dalam variabel, ini hanyalah penunjuk memori dimana letak memori akan nilai yang ditunjuk tersebut. soal perhitungan yang sempat dikatakan diatas, memang jika %i dengan %x akan berbeda, karena tipe datanya beda dan dapat dibuktikan dengan cara dihitung kesamaannya. Namun tetap saja hitungan tersebut tidak ada kaitannya dengan nilai yang ditunjuk, hitungan tersebut ialah sama, hanya untuk lokasi memori.

Monday 5 September 2016

Passing variabel dan memanggil fungsi lain

Pada pembahasan kali ini penulis ingin membahas sedikit mengenai passing variable, dimana passing variable ini dilakukan dalam dua buah fungsi yang berbeda, dimana nilai suatu variable dalam fungsi pertama akan dikirim pada variable yang terdapat pada fungsi yang dituju, dan berikutnya akan dilakukan proses dalam fungsi tersebut. Dalam hal sederhananya misal pada saat ingin mencetak suatu variable ke layar dengan fungsi yang berbeda, maka variable yang akan dicetak tersebut dapat dikirim pada fungsi lain untuk melakukan percetakannya. Agar lebih mudahnya untuk dipahami, perhatikan contoh berikut:

#include<stdio.h>
void printf(int D);

main(){
int A,B,C;
 B=97;
C=24;
A=B+C;
printf(A);
}

void printf(int D){
printf("%i", D);
}

Dalam contoh tersebut kita dapat melihat dua buah fungsi dalam satu program, dimana kedua fungsi tersebut merupakan fungsi utama dan fungsi tambahan. Dan sebelum fungsi utama terdapat sebuah deklarasi fungsi, dimana fungsi tersebut selanjutnya akan disisipkan setelah fungsi utama. Pada fungsi utama sendiri kita lihat adanya sebuah deklarasi variable yang diikuti sebuah perintah penjumlahan. Perintah penjumlahan tersebut akan diproses didalam fungsi utama, karena memang lokasinya pun berada pada fungsi utama. Namun setelah proses penjumlahan tersebut, fungsi utama memanggil sebuah fungsi lain, dimana fungsi tersebut merupakan fungsi yang sebelumnya telah dideklarasikan sebelum fungsi utama. Dan ada sedikit perbedaan dengan topic sebelumnya yang membahas mengenai deklarasi dan definisi fungsi, dimana dalam pembahasan tersebut fungsi utama hanya tinggal memanggil fungsi tambahan yang lalu setiap perintah yang terdapat dalam fungsi tambahan tersebut akan dijalankan. Namun pada pembahasan kali ini berbeda, karena fungsi utama tidak hanya bertugas untuk memanggil fungsi tambahan, melainkan juga variable pada fungsi utama akan dikirimkan pada variable yang terdapat dalam fungsi tambahannya. Seperti pada contoh diatas, isi variable A atau dapat dikatakan hasil penjumlahan variable B dan C akan dikirim ke fungsi printf, dimana isi variable A akan dimasukan kedalam variable D yang terdapat pada fungsi printf. Dan perlu ditegaskan lagi bahwa printf yang dimaksud dalam fungsi utama tersebut bukanlah perintah untuk mencetak ke layar, melainkan untuk memanggil fungsi lain yang mana fungsitersebut bernama printf. Memang penamaan seperti ini tidak efektif sebenarnya, namun tujuan penulis memberi nama fungsi printf tersebut tak lain hanya ingin sekaligus memberi penjelasan tentang perbedaan antara perintah langsung dengan pemanggilan sebuah fungsi. Dan jika kita perhatikan kembali dalam contoh program tersebut, didalam fungsi printf terdapat perintah untuk mencetak ke layar isi dari variable D. apa isi variable D? variable D tidak memiliki nilai awal, ia hanya dideklarasikan saja dalam deklarasi fungsi sebelum fungsi utama, dan nilai yang terdapat dalam fungsi printf tersebut merupakan nilai darii variable A dalam fungsi utama yang tadi telah dikirimkan melalui proses passing variable. Pengiriman tersebut dilakukan dengan pemanggilan fungsi tambahan didalam fungsi utama, pada contoh diatas tertulis dengan perintah printf(A); dimana perintah tersebut mengirim isi dari variable A ke variable yang terdapat dalam fungsi printf. Dan dikarenakan variable yang terdapat dalam fungsi tambahan tersebut ialah variable D, maka nilai yang ada dalam variable A akan dikirim ke variable D, dengan demikian isi variable D merupakan isi dari variable A. Dan dalam fungsi tambahan tersebut ada perintah mencetak ke layar aka nisi dari variable D / variable A dalam fungsi utama tersebut, jika isi variable A (hasil jumlah 97 +24) itu 121, maka yang akan tercetak ke layarpun ialah angka 121 tersebut, karena itulah isi dari variable D. jadi inti dari passing variable ialah pengiriman nilai dalam variable di suatu fungsi ke fungsi lain dengan tujuan untuk diproses lebih lanjut lagi sesuai dengan perintah yang terdapat dalam fungsi tersebut. Namun yang penting dan perlu diingat, untuk contoh diatas, antara deklarasi dengan penggunaan fungsi harus disesuaikan, serta penggunaan variable dalam fungsi tersebut ialah variable yang dideklarasikan pada fungsi tersebut pula, sedangkan untuk pemanggilan dari fungsi utama bukanlah menggunakan variable yang dideklarasikan dalam fungsi yang dipanggilnya, melainkan variable yang nilainya akan dikirim pada fungsi yang dipanggil tersebut.

Tadi sudah dibahas mengenai passing variable, yang mana nilai dalam suatu variable pada sebuah fungi akan dikirimkan ke fungsi lain dan nilainya akan diterapkan pada variable dalam fungsi tersebut. Dan kali ini penuli pun ingin memperkenalkan sedikit mengenai cara memanggil fungsi lain. Dimana untuk memanggil fungsi lain tidak jauh berbeda dengan passing variable, namun ada sedikit tambahan pula mengenai penggunaan return variable. Pada return variable nilai yang dihitung oleh called function atau nilai yang sudah dihitung oleh fungsi yang dipanggil, akan dikembalikan ke calling function atau sang fungsi pemanggil. Jika dilihat dari contoh diatas, called function ialah fungsi tambahannya yaitu fungsi printf, sedangkan calling functionnya ialah fungsi utama. Hanya saja dalam contoh diatas penulis tidak menambahkan return valuenya. Untuk memperjelasnya lagi, mari perhatikan contoh berikut:

#include<stdio.h>
int KURANG(int A, int B);
int KALI (int C, int D);

main(){
int G,M,L;
G=97;
M=24;
L= KURANG(G,M);
printf("%i", L);
}

int KURANG(int A, int B){
int X;
A=A-7;
B=B-4;
X=KALI(A,B);
return X;
}

int KALI(int C, int D){
int H;
H=(C+10)*(D-19);
return H;
}
Pada contoh program diatas, kita dapat melihat return value pada setiap fungsi tambahan. Seperti terlihat ada return X pada fungsi KURANG dan return H pada fungsi kali. Kedua return value tersebut merupakan pengembalian nilai ke fungsi utama dari hasil hitung yang diperolah dan disimpan pada variable tersebut. Itu merupakan proses return value yang dilakukan oleh kedua fungsi tambahan diatas. Namun jika kita kembali membahas mengenai pemanggilan fungsi lain maka dalam contoh program diatas kita dapat melihat yang mana pada fungsi utama ada sebuah pemanggilan ke fungsi KURANG sebagai penentu jumlah / nilai pada variable L. Lalu pada fungsi KURANG sendiri terdapat proses lagi, yang mana pada saat nilai dalam variable G dan M dikirim ke variable A dan B maka variable tersebut diproses lebih lanjut lagi, dan lalu setelah diproses pun ada lagi pemanggilan ke fungsi lain, yang mana pada fungsi tersebut akan diproses lagi. Hingga akhirnya proses pun berakhir dalam fungsi ketiga tersebut hingga akhirnya nilai akhir akan direturn ke fungsi utama dan menjadi nilai dari variable L. Setelah itu isi variable dicetak ke layar dari semua proses tersebut. Oh iya untukk penjelasan hitungnya sendiri sedikit dijelaskan disini, bahwa yang pertama dalam fungsi utama diberi nilai awalterlebih dahulu, lalu dikirin kedua nilai tersebut pada fungsi KURANG, yang mana dalam fungsi kurang tersebut angka 97 akan dikurangi 7 serta angka 24 akan dikurangi 4. Jadi masalah variable disesuaikan antara pengirim dan yang dikirim, jika ditulis L= KURANG(G,M); dan int KURANG(int A, int B) maka nilai G masuk ke variable A dan nilai M masuk ke variable B. Maka dengan demikian variable 1 ke variable 1 variabel 2 ke variable 2 (disesuaikan). Dan kembali pada perhitungan, setelah dikurangi tersebut, maka nilainnya akan diikirim kembali ke fungsi KALI sebelum akhirnya dikembalikan ke fungsi utama dan dicetak. Namun sebelum dikembalikan maka nilai tersebut dalam fungsi KALI akan dihitung sebagai berikut: (90+10)*(20-19). Dengan demikian angka 100 akan dikalikan dengan angka 1, dan hasil yang akan diperoleh dari cetakan ke layar ialah 100. Demikianlah proses untuk passing variable dan pemanggilan fungsi lain yang disertai return value didalamnya. Semoga dengan penjelasan yang sudah diberikan serinci mungkin tersebut dapat dengan mudah dipahami oleh pembaca. Selamat mencoba programnya..

Sunday 4 September 2016

Variabel lokal dan global

Setelah sebelumnya dibahas mengenai apa itu fungsi dan bagaimana cara penggunaan fungsi dengan pembahasan bagaimana menggunakan fungsi yang harus dideklarasi dan tidak perlu dideklarasi terlebih dahulu pada setiap definisi yang dilakukan, kali ini penulis ingin menyampaikan bagaimana cara penerapan variabel dalam lebih dari satu fungsi (beberapa fungsi). Yang pertama akan dibahas ialah mengenai variabel lokal dalam fungsi. Variabel lokal merupakan variabel yang dideklarasikan dalam sebuah fungsi. Misal yang biasa kita lakukan dalam fungsi main, itu termasuk dalam variabel lokal dalam fungsi, karena variabel tersebut hanya dapat digunakan oleh fungsi itu sendiri. Sedangkan yang dimaksud variabel global dalam fungsi ialah variabel yang dideklarasikan diluar dan sebelum fungsi itu dijalankan. Variabel gobal sendiri sifatnya umum, karena dapat digunakan oleh beberapa fungsi yang ada dalam program. Jika diibaratkan dengan keseharian, variabel lokal sama halnya dengan laptop yang kita miliki, dimana laptop itu hanya dapat kita gunakan untuk pribadi saja, sedangkan variabel global dapat diibaratkan seperti warnet, yang mana siapapun dapat menggunakannya.

Untuk variabel lokal dideklarasikan termasuk inisialisasi dalam sebuah fungsi, namun bukan berarti fungsi lain tidak dapat sama sekali menggunakan variabel tersebut. Jika kita kembali lagi mengingat apa itu fungsi, fungsi sendiri selagi menjadi fungsi tambahan maka penggunaannya ialah dengan dipanggil terlebih dahulu melalui fungsi utama / function main(). Dengan demikian, walau Anda membuat sebuah variabel lokal dalam sebuah fungsi tambahan, maka fungsi itu akan dipanggil untuk dijalankannya melalui fungsi utama, dengan demikian secara tidak langsung terbukti bahwa fungsi utama tersebut sudah ikut menggunakan variabel yang ada dalam fungsi tambahan. Namun bukan berarti pula fungsi utama dapat menggunakan untuk kepentingan pribadinya akan variabel yang bersifat lokal. Memang untuk menjalankan perintah yang ada dalam fungsi tambahan harus dipanggil terlebih dahulu oleh fungsi utama, namun fungsi utama hanya dapat memanggil selagi variabel didalamnya bersifat lokal. Seperti halnya saat dalam fungsi tambahan dideklarasikan sebuah variabel (variabel lokal) dengan nama R dan diberi nilai awal 97, lalu isi variabel tersebut dicetak di fungsi main maka program akan error, karena variabel R hanya milik fungsi tambahan, terkecuali jika deklarasi variabel tersebut diluar dan sebelum fungsi, maka fungsi main dapat ikut menggunakan variabel tersebut (karena variabel tersebut bersifat global).

Dan untuk variabel global sendiri, karena sifatnya global sudah jelas dapat digunakan secara global / tidak berpatok. Berapapun fungsi yang menggunakan variabel tersebut, maka program tidak akan menjadi error karena sifatnya yang global tersebut. Dan pendeklarasian variabel global dilakukan diluar dan sebelum fungsi yang menggunakan variabel tersebut. Kelebihan variabel global dibanding variabel lokal ialah misalnya pada saat ada beberapa fungsi dengan menggunakan rumus yang berbeda namun hanya ingin menggunakan variabel yang sama dan atau pada saat ada beberapa rumus yang berkaitan dalam fungsi yang berbeda, maka rumus tersebut tidak perlu ditulis beberapa kali, cukup menghubungkan diantara fungsi-fungsi yang menggunakan variabel tersebut. Contoh paling mudahnya untuk variabel global ialah pada saat inisialisasi variabel dilakukan pada suatu fungsi dan akan dihitung dan dicetak dalam fungsi yang berbeda, atau pada saat inisialisasi dan perhitungannya dilakukan pada fungsi tambahan dan lalu akan dicetak dalam fungsi utama, maka variabel yang digunakan ialah variabel global. Namun untuk kasus seperti itu tidak perlu semua variabel dideklarasikan sebagai variabel global, karena pada fungsi mainnya hanya melakukan cetak, maka variabel yang dicetaknya saja yang dijadikan variabel global, sedangkan variabel lainnya dapat menjadi variabel lokal dalam fungsi tambahannya. Memang tidak akan menjadi masalah pada saat semua variabelnya dideklarasikan sebagai variabel global, namun sepertinya akan terlihat lebih efektif jika variabel global dan lokal dideklarasikan terpisah, dengan kata lain variabel global dideklarasikan seperlunya saja. Agar tidak penasaran bagaimana bentuk dari variabel lokal dan global tersebut , maka berikut akan diberikan contoh program yang menggunakan variabel lokal dan global. Mari perhatikan contoh program berikut, berikut merupakan contoh dari penggunaan variabel lokal:

#include<stdio.h>

void count();

main(){
count();
}

void count(){
int G,M,L,R;
G=97;
M=24;
L=1;
R=G+(M*L);
printf("Hasil hitungnya ialah: %i", R);
}

Dalam contoh program diatas kita dapat melihat adanya penggunaan variabel global dimana pendeklarasian, inisialisasi dan perintah-perintah yang dituangkan pada variabelnya dilakukan dalam satu fungsi yang sama, dan fungsi utama hanya bertugas sebagai pemanggil, atau dapat dikatakan bahwa fungsi utamanya hanya jembatan dalam menjalankan program dalam fungsi tambahan. Namun ditegaskan kembali bahwa deklarasi fungsi tambahan dalam program tersebut tidak bersifat wajib, deklarasi dilakukan hanya karena fungsi tambahannya berada setelah fungsi utama, selagi fungsi tambahan berada sebelum fungsi utama maka tidak perlu lagi menggunakan deklarasi fungsi, langsung saja pada definisinya. Dan kembali pada masalah variabel, jika diperhatikan pada contoh program diatas, dalam fungsi main tidak ada penggunaan variabel apapun terutama variabel yang sama dengan variabel lokal dalam fungsi tambahannya, andai memang perintah untuk mencetaknya dipindahkan ke dalam fungsi utama maka akan terjadi error, terkecuali jika memang semua yang ada dalam fungsi tambahan dipindahkan ke dalam fungsi utamanya. Namun jika demikian, untuk apa kita membuat fungsi baru jika tidak terpakai, karena jika semuanya ada dalam fungsi utama, tugas fungsi tambahannya apa? Dengan demikian sudah jelas bahwa fungsi main dalam contoh program diatas tidak dapat menggunakan variabel dalam fungsi tambahan, baik itu untuk sebuah proses perhitungan maupun percetakan, dan atau perintah lainnya tanpa terkecuali. Mari bandingkan dengan variabel global berikut:

#include<stdio.h>
void count();

int G,M,L,R;

main(){
G=97;
M=24;
L=1;
count();
printf("Hasil hitungnya ialah: %i", R);
}

void count(){
R=G+(M*L);
}
Pada contoh program diatas kita melihat adanya variabel yang dideklarasikan secara global, yaitu dengan mendeklarasikannya diluar semua fungsi yang ada, dan lebih tepatnya sebelum semua fungsi tersebut. Dalam contoh program diatas, variabel yang dideklarasikan secara global ialah semuanya, karena dalam program tersebut kedua fungsi menggunakan semua variabel yang ada. Pada fungsi utama variabel terssebut diberi nilai awal terlebih dahulu, lalu fungsi utama tersebut memanggil fungsi tambahan dimana dalam fungsi tambahan tersebut semua variabel yang sudah diberi nilai awal akan diproses (dihitung), dan setelah dihitung, jika kita melihat kembali pada fungsi utama, ada perintah untuk cetak ke layar, maka setelah semua variabel tersebut diproses dalam fungsi tambahan akan dicetak dalam fungsi utama. Namun sekedar mengingatkan bahwa dalam fungsi utama jangan sampai perintah cetak ke layarnya diletakan sebelum perintah untuk memanggil fungsi tambahan, karena jika demikian akan menghasilkan error atau yang tercetak ke layar hanyalah 0 (tidak sesuai). Karena pada dasarnya program harus memproses terlebih dahulu sebelum mencetak, jika mencetak terlebih dahulu sebelum memproses, maka hasil cetakannya hanyalah nilai awal dari variabel tersebut. Dan dalam deklarasi kita tidak memberikan nilai awal, maka saat dicetak hasilnya akan 0. Untuk sekedar tambahan, dalam program tersebut jika disesuaikan dengan apa yang sudah dijelaskan (pada fungsi yang berbeda hanya diperintahkan untuk mencetak) maka sebagai perbandingan Anda dapat menukar perintah cetak dalam fungsi utama ke dalam fungsi tambahan, dan perintah untuk menghitung dalam fungsi tambahan diletakan pada fungsi utama. Dengan demikian Anda dapat mendeklarasikan variabel R saja sebagai variabel globalnya, dan Anda harus mendeklarasikan variabel lainnya secara lokal didalam fungsi utamanya karena pada kedua fungsi tersebut kesamaan variabelnya hanyalah pada variabel R sedangkan variabel lainnya tidak digunakan bersama lagi. Semoga dengan contoh tersebut Anda dapat dengan mudah membedakan antara variabel lokal dengan variabel global pada fungsi dan dapat menggunakan fungsi tersebut sesuai dengan kebutuhan.

Definisi dan Deklarasi fungsi

Sebelum langsung ke inti pembahasan dalam bentuk program, alangkah lebih baiknya jika penulis memperkenalkan terlebih dahulu apa itu fungsi. Yang dimaksud dengan function atau fungsi merupakan sejumlah instruksi yang dikelompokan, berdiri sendiri dan berfungsi untuk menyelesaikan suatu pekerjaan tertentu. Untuk bahasa C sendiri kita sudah jelas sering menggunakan fungsi, yaitu fungsi utama atau fungsi main(). Namun fungsi tersebut kini akan kita pelajari, sehingga tidak hanya menggunakan fungsi main lagi. Dan seberapa penting fungsi itu dalam sebuah program bahasa c, jawabannya ialah sangat penting. Karena pada saat pertama program dijalankan pun yang pertama dicari oleh komputer ialah function, lebih tepatnya main function / fungsi utama. Komputer akan lebih awal menjalankan perintah-perintah didalam fungsi utama tersebut dan bahkan komputerpun akan mengenal fungsi lain karena adanya fungsi utama, selagi tidak dipanggil oleh fungsi utama maka fungsi tambahanpun tidak akan terbaca oleh komputer. Dengan demikian dapat dibilang bahwa fungsi tambahan hanyalah pembantu dari fungsi utama, dimana ia hanya menerima panggilan dari fungsi utama.

Yang pertama akan kita bahas disini ialah cara mendeklarasikan fungsi. Mendeklarasikan fungsi hampir mirip dengan mendeklarasikan variabel, dimana fungsi tersebut hanya diperkenalkan / didaftarkan terlebih dahulu sebelum dapat digunakan. Deklarasi fungsi ini dilakukan jika fungsi tersebut diletakan dibawah fungsi main, dengan demikian sebelum penggunaannya akan diperkenalkan terlebih dahulu. Berikut contoh programnya:

#include<stdio.h>
void printf();
main(){
printf();
}
void printf(){
printf("Goomilar97");
}

Pada contoh program diatas terdapat sebuah deklarasi fungsi, dimana fungsi tersebut diberi nama printf(). Printf tersebut hanyalah nama dari fungsi yang digunakan, atau dengan kata lain penulisan printf pada deklarasi sebelum fungsi main() hanyalah penamaan dari fungsi itu sendiri sebelum akhirnya diproses lebih lanjut, dan sudah jelas dengan demikian nama printf tersebut dapat diganti dengan nama lain sesuai dengan keinginan. Dan setelah pendeklarasian fungsi tersebut, kita melihat dalam fungsi main ada tulisan printf(); dimana tulisan tersebut bertugas untuk memanggil fungsi printf() bukan untuk mencetak sesuatu ke layar. Dan dengan pemanggilan fungsi tersebut maka program akan memproses perintah-perintah yang ada dalam fungsi printf(). Dalam fungsi printf() terdapat perintah untuk mencetak tulisan "Goomilar97" ke layar. Dan dengan demikian kita dapat menyimpulkan bahwa memang fungsi printf() tersebut hanya berjalan ketika ia dipanggil oleh fungsi main().

Selain pendeklarasian fungsi, ada pula pendefinisian fungsi. Dimana dalam pendefinisian fungsi, fungsi tersebut harus memiliki judul terlebih dahulu, minimal dengan adanya nama dan tipe fungsi. Pada tulisan void printf(){ printf("Goomilar97"); } tersebut merupakan pendefinisian fungsi, dimana fungsi diberi nama printf dengan tipe void (tanpa tipe). Dan jika dibandingkan dengan pendeklarasian fungsi sendiri, deklarasi hanya untuk memperkenalkan dan disimpan sebelum fungsi main dengan akhiran tanda titik koma, selagi tidak ada karakter titik koma tersebut maka program akan menganggapnya sebagai definisi fungsi. Ada cara penulisan lain untuk fungsi, dimana tidak perlu menggunakan bantuan dari deklarasi fungsi. Ialah dengan menuliskan fungsi tersebut diatas fungsi main(). Untuk program seperti itu, Anda dapat langsung menuliskan programnya sebagai berikut:

#include<stdio.h>
void printf(){
printf("Goomilar97");
}
main(){
printf();
}
Jika diperhatikan dari kedua program diatas, perbedaan antara contoh program yang pertama dan kedua hanyalah dalam posisinya saja, jika pada program yang pertama fungsu main() ditulis terlebih dahulu sebelum fungsi tambahan, sedangkan pada program yang kedua fungsi tambahan terlebih dahulu ditulis sebelum fungsi main(). Dan itulah yang membuat program pertama membutuhkan deklarasi fungsi, ialah karena ia berada dibawah fungsi main yang dalam aturannya harus diperkenalkan terlebih dahulu melalui proses deklarasi fungsi. Maka dengan demikian jika memang Anda tidak ingin repot-repot mendeklarasikan fungsi, jangan tempatkan fungsi itu dibawah fungsi main, tempatkanlah langsung sebelum fungsi main tersebut (langsung didefinisikan), karena jika Anda tetap menuliskan fungsi tersebut dibawah fungsi main() tanpa adanya deklarasi fungsi terlebih dahulu, maka semua itu hanya akan menyebabkan error pada program.

Kelebihan untuk penggunaan fungsi sendiri sangat banyak, antara lain untuk membantu dalam menjalakan program, dimana pada saat program memiliki banyak tugas didalamnya, selagi tugas tersebut mengandung pilihan (tidak dijalankan semuanya), maka Anda dapat membaginya kedalam beberapa fungsi yang berbeda. Walau memang proses seperti itu dapat dijalankan dalam sebuah fungsi utama (misal), namun akan lebih nyaman dan membantu mempermudah dalam membuat program dengan jumlah yang banyak. Dengan demikian pada saat Anda akan memperbaiki sebuah perintah dalam banyak perintah disampingnya, maka Anda tinggal mencari fungsunya saja, dan dari situ Anda tidak terlalu sulit dalam mencari perintah yang harus diperbaiki tersebut. Namun karena dalam pemrograman C ini yang diutamakan algoritmanya, maka semua tetap kembali kepada pribadi masing-masing. Jika memang Anda membutuhkan bantuan dari fungsi, maka Anda dapat menggunakannya, namun jika Anda lebih suka merakit algoritma sendiri yang menyetarai tugas dari fungsi tersebut, maka silahkan saja, yang terpenting dalam pembuatan program sendiri kan kepuasan dari pengguna dan mudah untuk digunakannya. Buat apa program ada terlihat menarik jika saat digunakan hanya akan menantang algoritma dari user program tersebut.

Untuk function sendiri penulis merasa bahwa fungsi itu banyak kesamaannya dengan sebuah variabel, dimana mereka hanya akan dipanggil pada saat dibutuhkan, selain itu penamaannya pun sesuai dengan keinginan kita, termasuk dalam menentukan tipenya. Dengan kata lain, jika penulis dapat katakan bahwa fungsi utama merupakan pemerintah, maka fungsi tambahan hanyalah menjadi yang diperintah, namun perbedaannya dengan variabel, dalam fungsi ini dapat terkandung banyak perintah yang disisipkan. Dengan demikian ia tidak hanya dapat diperintah tapi juga dapat memerintah. Jika diibaratkan seperti sebuah pasukan perang, pada saat komandan memerintah kapten untuk melakukan bertugaskan sesuatu, maka si kapten tersebut akan memerintahkan anak buahnya untuk melakukan yang diperintah sang komandan. Begitupun dengan fungsi tambahan, ia akan menerima panggilan/perintah dari fungsi utama dan akhirnya iapun akan memerintahkannya kembali pada apa yang ada didalam fungsi tersebut. Pada saat fungsi utama berkata "sekarang merupakan tugas kamu", maka ia akan dengan segera memproses semua perintah yang terkandung didalamnya. Demikian alur dari program dengan adanya fungsi tambahan.

Dan untuk fungsi sendiri, untuk sedikit mengingatkan bahwa jika memang ingin membuat sebuah fungsi sendiri, jangan lupa untuk tetap menggunakan fungsi main, karena yang namanya tambahan tidak akan berjalan jika tidak ada yang utamanya. Maka main function tetap digunakan. Selain itu, untuk perbedaan antara deklarasi dengan definisi (hanya sebagai penegasan) ialah dapat dilihat dari posisi fungsi itu sendiri, jika fungsi diletakan dibawah fungsi utama, maka deklarasi perlu dilakukan, namun jika fungsi tersebut berada sebelum fungsi utama, maka hanya diperlukan definisi. Namun untuk definisi sendiri, memang setiap fungsi mengandung definisi, bukan berarti semua fungsi mengandung deklarasi. Jadi perbedaannya dapat disimpulkan demikian. Dengan demikian jangan sampai tertukar antara deklarasi dengan definisi. Untuk mengingatnya agar mudah, ingatlah dalam mendeklarasikan sebuah variabel, deklarasi variabel dilakukan di awal sebagai pengenal pada program serta tidak disisipkan tugas apapun, semaksimalnya hanya disisipkan nilai awal (inisialisasi) pada deklarasi tersebut. Begitupun dengan fungsi, deklarasi tidak mengandung perintah, hanya perkenalan, jika disisipkan perintah maka akan menjadi definisi.

Searching array 2 dimensi

Pada topik kali ini penulis ingin menyampaikan cara melakukan searching array dua dimensi, dimana pada searching ini penulis tidak akan terlalu banyak menjelaskan akan proses dalam pencarian array 2 dimensi ini, karena pada dasarnya proses pencarian ini tidak jauh berbeda akan perintah-perintah yang dilakukannya (untuk mencarinya), hanya saja berbeda dalam pengindeksannya atau yang biasa disebut dengan perulangan dalam mencarinya. Proses pencarian dalam topik kali ini tidak hanya satu macam pencarian yang dibahas dengan rinci, karena pada sitemap blog ini sudah terdapat penjelasan mengenai pencarian-pencarian tersebut dengan menggunakan array satu dimensi. Pada topik kali ini yang diutamakan ialah contohnya agar pembaca dapat membandingkan sendiri akan proses pencarian antarra array satu dimensi dengan array dua dimensi, namun sekali lagi ditegaskan bahwa yang membedakan proses pencarian pada array ini dengan yang satu dimensi ialah dekllarasi/inisialisasi dan perulangannya saja, karena memang sudah jelas perbedaan array satu dimensi dan dua dimensi ialah pada hal tersebut. Untuk yang pertama akan penulis bahas disini ialah pencarian nilai ada dan tidak ada, pencarian tersebut ialah pencarian sebuah nilai yang terdapat dalam elemen array, apakah nilai tersebut ada atau tidak ada dalam elemen array. Proses pencarian yang dilakukan dalam topik kali ini ialah sequential search. Mari perhatikan contoh berikut:

#include<stdio.h>
main(){
int R[2][3]={1,9,7,3,4,6},m, flag=0, r, t ;
printf("Masukan nilai yang akan dicari:\n\n");
scanf("%i", &m);

for(r=0; r<2; r++){
for(t=0; t<3; t++){
if(m==R[r][t]){
flag=1;
}
}
}
if(flag==1){
printf("ADA");
}else{
printf("Tidak Ada");
}
}

Contoh program diatas merupakan proses untuk mencari nilai ada atau tidak ada pada sebuah array dua dimensi yang mana didalamnya terdapat elemen array dengan nilai antara lain 1,9,7,3,4,6. User akan diminta untuk menginputkan sebuah nilai dan nanti akan dicek apakah nilai tersebut ada atau tidak dalam elemen array yang tersedia, jika memang ada maka akan ditampikan informasi ke layar bahwa nilai tersebut ada, begitpun jika nilainya tidak ada, maka akan diberikan informasi pada user bahwa nilainya tidak ada. Dan untuk variabel flag sendiri, itu hanyalah sebuah variabel penanda yang dapat diganti namanya dengan nama lain, misal dengan A atau variabel lain, yang paling penting ialah tetap disesuaikan antara proses dengan deklarasinya. Pada proses tersebut kita melihat sebuah perulangan untuk mengindeks array dua dimensi, dan dalam perulangan tersebut terdapat suatu kondisi dimana jika nilai yang diinputkan sesuai/sama dengan yang ada dalam variabel array maka nilai variabel flag akan berubah menjadi 1. Dan dalam proses pencarian nilai ada dan tidak ada ini yang menjadi patokan utama pada program diatas ialah perubahan dari nilai flag tersebut, karena setelah perulangan terdapat sebuah kondisi dimana jika nilai flag==1 maka di layar akan ditampilkan tulisan ada, namun jika flag!=1 maka di layar akan ditampilkan tulisan Tidak Ada. Dan sedikit mengingatkan bahwa untuk penulisan sebuah kondisi maka karakter sama dengan harus dua, berbeda dengan perintah didalam kondisi itu sendiri (dalam contoh diatas penulis menggunakan kondisi if). Selain pencarian nilai ada dan tidak ada, penulis juga ingin memberikan contoh untuk mencari jumlah karakter yang dicari, berapakah jumlah karakter dalam variabel array yang sesuai dengan inputan tersebut. Pada proses pencarian jumlah, kita ambil saja contoh program diatas, jadi tidak lagi perlu membuat program baru. Untuk menambahkan perintah pencarian jumlah karakter Anda tinggal menambahkan deklarasi dan inisialisasi jum=0, dan untuk proses pencarian jumlahnya sendiri Anda tinggal menambahkan jum++ didalam kondisi yang terdapat pada perulangan (dibawah atau diatas tulisan flag=1;) serta untuk mencetaknya Anda tidak perlu menambahkan sebuah kondisi / perulangan lagi, Anda tinggal membuat perintah untuk mencetak jum, seperti printf("%i", jum); dengan demikian Anda sudah dapat mencari sekaligus mencetak ke layar akan jumlah karakter dalam variabel array yang sesuai dengan input yang dilakukan. Selain pencarian ada dan tidak ada serta jumlah karakter, penulispun ingin memberikan beberapa tambahan lain seperti pencarian indeks dan pencarian nilai min dan max.

Pada pencarian nilai indeks, maksudnya ialah untuk mencari tahu dimanakan karakter tersebut ditampatkan, dengan kata lain pencarian tersebut ialah untuk mencari tahu dimana indeks karakter berada, apakah pada indeks [0][0] ataukah pada indeks lainnya. Dalam menyisipkan perintah untuk mencari indeks array dua dimensi tidak lagi perlu menambahkan variabel baru dalam dekalarasi, karena untuk indeks sendiri kita tinggal memanfaatkan perulangan yang sudah ada dengan kondisi didalamnya, atau membuat perulangan baru dengan kondisi yang sama. Dalam kondisi tersebut (dalam contoh program diatas menggunakan kondisi if) Anda tinggal menambahkan perintah cetak indeksnya saja, karena pengindeksan sudah dilakukan dengan perulangan tersebut. Pada perintah percetakannya Anda dapat menuliskan seperti contoh printf(" %i%i", r, t); dalam perintah tersebut mengapa terdapat dua buah %i dan mengapa ada tulisan r, t? Ialah karena indeks array dua dimensi terdiri dari baris dan kolom, maka r sebagai pengindeks baris dan t sebagai pengindeks kolom (disesuaikan dengan yang terdapat pada perulangan). Dan nanti hasil yang diperoleh untuk cetakan ke layar antara lain seperti 00 atau 12 dll, tergantung pada posisi indeksnya. 0 yang pertama menunjukan baris ke berapa sedangkan 0 yang kedua untuk menunjukan kolomnya. Memang simple, cukup dengan menuliskan perintah seperti itu saja, namun itu dikarenakan kita sudah memiliki perulangan dalam program tersebut, jika memang tidak ada perulangan seperti pada contoh diatas, maka kita harus membuat perulangan baru dengan sebuah kondisi didalamnya. Dan sedikit mengingatkan bahwa untuk membuat nama variabel sendiri tidak harus sama dengan contoh program diatas atau dengan kata lain nama variabelnya bebas, dengan syarat setiap proses yang dilakukan harus sesuai dengan apa yang ada dalam deklarasinya. Maka jika memang belum mengerti dengan program tersebut dan ingin mengganti nama dari setiap variabelnya, maka satu persatulah mengganti nama variabel tersebut. Misal variabel R ingin iganti dengan nama Anda, ambilah nama Anda Usep, maka antara deklarasi dengan proses yang terdapat pada perulangan tersebut harus sama-sama diganti. Terkecuali jika Anda menambahkan perintah lain untuk menyesuaikan dengan variabel tersebut. Itu jika soal indeks, nah sekarang penulis ingin memberi contoh lagi mengenai pencarian nilai minimum dan maksimum pada array dua dimensi.

Pada pencarian ini biasanya banyak pula yang ingin mencari (misal) jumlah nilai maksimum dan minimumnya. Dan untuk itu penulis menyarankan pahami proses pencarian nilai min dan maksnya serta pahami proses mencari jumlahnya. Karena pada topik kali ini kedua proses tersebut sudah dibahas, atau jika ingin contoh yang lebih rinci, Anda dapat menemukannya pada sitemap blog ini, dimana penulis sudah membahas apa yang Anda cari melalui array satu dimensi, tinggal merubah perulanggannya saja. Nah untuk proses mencari nilai max atau min sendiri Anda harus menambahkan deklarasi baru dengan tambahan nilai awalnya, untuk nilai awal sendiri penulis sarankan untuk menggunakan indeks dari variabel array ke 00. Dapat dituliskan max=R[0][0]. Dengan demikian nilai awal max ialah nilai yang terdapat pada variabel array R dengan indeks ke 00, yang mana dalam variabel array tersebut nilai pada indeks ke 00 ialah angka 1. Dan untuk proses pencarian nilai max sendiri dapat dilakukan dalam perulangan yang sama atau menambahkan perulangaan baru, tapi tidak dalam kondisi yang sama (membuat kondisi baru dibawah/diatas kondisi yang sudah ada). Kondisi tersebut dapat dituliskan seperti if(R[r][t]>max){ max=R[r][t]; }. Dengan demikian proses pencarian nilai max sudah dapat dilakukan. Namun sedikit mengingatkan, jangan lupa untuk memberi nilai awal max pada saat deklarasi dilakukan. Dan untuk mencetak nilai max sendiri dapat dilakukan diluar perulangan, karena dimana-mana yang namanya nilai tertinggi itu sudah pasti satu, entah berapapun jumlahnya. Dengan demikian mencetaknya pun cukup satu kali (tidak perlu menggunakan perulangan). Sama seperti mencetak jumlah, perintah untuk mencetaknya sendiri tinggal menggunakan perintah seperti printf("%i", max); tidak perlu menambahkan indeks seperti pada perulangan yang menyisipkan [r][t], karena indeksnya pun tunggal. Maka dengan demikian proses percetakan jumlah dapat dilakukan. Demikian proses searching array 2 dimensi.