Pascal : Konstanta (Constant)




Kita telah membahas variable di post sebelumnya. Kali ini saya akan sedikit membahas tentang Kosntanta. Konstanta adalah sebuah entitas yang nilainya tidak berubah dari awal hingga program selesai digunakan. Tidak sama seperti variable yang dapat kita ubah-ubah nilainya, konstanta memiliki nilai statis.

Konstanta sangat berguna apabila kita ingin mendeklarasikan sebuah nilai yang sama dan tidak berubah dalam sebuah program, dan ketika kita ingin menggunakannya, kita hanya perlu memanggil nama dari konstanta tersebut dan tak perlu menghapal nilainya.

DEKLARASI KONSTANTA

Untuk mendeklarasikan konstanta, kita dapat menggunakan reserved word 'const'. Berikut syntax pendeklarasian konstanta :

const
      name_identifier = constant_value;

Apabila kita implementasikan, berikut gambarannya :

const
     pi = 3.14;

Artinya adalah, kita memiliki konstanta bernama pi yang memiliki nilai 3.14, dan nilai tersebut tidak akan berubah di keseluruhan bagian program selama eksekusi. Tapi, kita dapat mengganti constant_value pada konstanta dengan mengetik ulang nilai yang ingin kita assign dan setelah mengganti nilainya, maka nilai yang terakhir kita masukkan akan menjadi nilai yang konstan selama program dieksekusi.

Namun, pascal hanya mengizinkan beberapa type data saja yang boleh dijadikan konstanta(sumber : www.tutorialspoint.com) :

Ordinal types
Set types
Pointer types (Hanya nilai Nil yang diizinkan)
Real types
Char
String

Untuk masing, masing tipe data, dapat dicontohkan sebagai berikut :

const
     batas_umur = 20; {Ordinal types}

const
     kelas_sd = set of (1, 2, 3, 4, 5); {Set types}

const
     P = NIL; {Pointer types}

dan seterusnya.

MENGGUNAKAN KONSTANTA

Untuk memperdalam konsep, saya akan memberikan sebuah program sederhana lengkap dengan konstanta.

program lingkaran;

const

      pi = 3,14;
var
      jari_jari : real;
      luas, keliling : real;
begin
      write('Masukkan jari-jari : '); readln(jari_jari);
      luas:= pi*jari_jari*jari_jari;
      keliling:= 2*pi*jari_jari;
      writeln('Luas lingkaran adalah : ', luas:6:2);
      writeln('Keliling lingkaran adalah : ', keliling:6:2);
     {Maksud dari 6:2 adalah, program menampilkan total 6 digit dan dua digit di belakang koma}
end.

Pada program di atas, bila kita input jari_jari dengan nilai 7, maka keluarannya akan menjadi :

Masukkan jari-jari : 7
Luas lingkaran adalah : 153.86
Keliling lingkaran adalah : 43.96

Ya, kira-kira itu saja yang dapat saya bahas pada posting kali ini. Terimakasih :D

Kiat Sukses SBMPTN


No great work is ever done in a hurry. To develop a great scientific discovery, to print a great picture, to write an immortal poem, to become a minister, or a famous general—to do anything great requires time, patience, and perseverance. These things are done by degrees, “little by little.”

                                    —W. J. Wilmont Buxton

Sedikit pembuka, gue awali dengan quotes ciamik dari pak Wilmont Buxton di atas. Yang kurang-lebih artinya.. Sabar ya!

Ya, tidak ada sesuatu yang besar yang tercipta dengan waktu yang singkat. Bahkan untuk membuat badan kita besar (re : gendut) pun, butuh proses yang cukup berat. Kita harus makan lebih banyak makanan dari jumlah yang biasa kita makan. Kita harus mencoba untuk tidak bergerak, dan mengubah kebiasaan menjadi tidur - bangun - makan – tidur – makan lagi – tidur lagi, berminggu-minggu, cobalah!
Dan bersyukurlah kalau masih hidup.

Sebelum membahas kenapa gue tiba-tiba menyisipkan quotes seperti itu, gue mau cerita dulu. Akhir-akhir ini gue resah melihat timeline dipenuhi ‘aduan nasib’ anak-anak SMA yang baru lulus, yang mendaftarkan diri buat ikut SNMPTN ditahun 2015 ini. Sepertinya kita semua diingatkan kembali dan belajar lagi bahwa kita ga selalu mendapatkan apa yang kita inginkan. Sakit, iya gue tau, saaakit banget.

Apa mau dikata, inilah kompetisi. Ada yang berhak mendapatkan kemenangan, sisanya tersisihkan. Hasilnya? Sebagian mengumpat dan bersedih, karena ‘merasa’ dirinya layak, tapi malah ga keterima.. beberapa menjadi bijak dan bilang ‘Tuhan pengin gue berusaha lebih keras lagi’, sambil nahan tangis, dan yang lolos pun menjadi bingung mau meluapkan kesenangannya dengan cara seperti apa. Mau update status takut dikira sombong. Mau traktir temen-temen tapi ga ada duit. Mau nyopet pun ga ada pengalaman, ketangkap malah jadi ribet urusannya.

Tapi ada juga yang ga peduli dan tetep nekat update “Aq KeTeriMA Nuicch QaWandt2x, di IXB, JuRusAnd TeQhnIq SeRibU B4yAngAn.”  Begitu lah kira-kira… Betapa sakit temen-temennya melihat status semacam itu. Sakit mata dan sakit hati, SEKALIGUS. Tega memang…

Namun, sepertinya kesedihan kita ga boleh dibiarkan berlarut-larut, karena buat yang masih pengen masuk ke Perguruan Tinggi (Negeri), masih ada jalan lain yang bernama SBMPTN.
Karena keresahan itu, gue pun bertapa dan berpikir untuk mencoba ikut-ikutan menjadi pembawa harapan, semangat, dan keceriaan bagi adik-adik kelas gue. Dari hasil pertapaan yang melelahkan itu, gue merangkum beberapa tips agar sukses di SBMPTN. Apa aja? Check these out ^^

1.     Membangun Mental

Gue tau banget perasaan yang sedang pupus. Harapan yang sekian lama dibawa, seakan-akan menjauh dan tak terkejar. Sakit banget saat jatuh seperti ini.. Kita bahkan beberapa kali berpikiran untuk menyerah dan menjadi begitu minder.
Ini sangat berbahaya, anak muda. Sadarlah.. Hidupmu masih panjaang!

Tips pertama dari gue, “membangun mental.”
Jatuh itu biasa. Bangkit itu luar biasa.. begitu lah kata quotes yang gue cari di google dengan 498.000 hasil dalam 0,38 detik. Gue jadi inget dulu pernah bener-bener jatuh dan langsung down, mental gue hancur seketika, sungguh memilukan.. waktu itu adalah hari senin, dan seperti biasa jalanan macet. Gue terpaksa turun dari angkot dan berlari kecil agar tidak telat. Namun apa daya, di pasar yang sangat ramai yang gue lewati pagi itu, gue secara tidak sengaja terjatuh karena ada rantai yang menghalangi. Gue jatuh dengan sukses di pinggir jalan, dekat dengan angkot yang tidak bergerak membawa banyak penumpang dan di hadapan ratusan penjual dan pembeli yang sedang bertransaksi. Sungguh momen kejatuhan yang memalukan. Kalau begini sih jadinya “Jatuhnya ga terlalu sakit, tapi malunya luar biasa.”
Gue sempet trauma dan ga mau lewat situ lagi. Sepanjang hari gue habiskan dengan merenung dan berdiam diri.

“Salah apha ghuhe sama rantaih? Kenapha dia begitu teghhaa?!”, kata gue sambil menangis dan mencakar-cakar tembok.

Namun, gue mencoba bangkit dan membangun mental dari awal. Hasilnya, beberapa hari kemudian gue berjalan dengan jumawa karena berhasil melepaskan diri dari trauma.. Gue pun sudah bebas berlari sambil melompati rantai-rantai yang ada di pasar itu. Ga ada kerjaan memang. Ehm, oke, semoga memberi motivasi.

The point is, Mental sangat penting untuk dipersiapkan sebelum kembali memulai perjalanan kita. Mental ini lah yang nantinya membuat kita menjadi manusia yang seperti apa, apakah orang yang gampang menyerah? Tidak percaya diri? Kulit kusam? Bibir Pecah-pecah?
Karena saingan kalian di SBMPTN ini bukan cuma manusia-manusia yang ada di angkatan kalian saja, tapi juga para veteran dari angkatan sebelumnya. Mereka akan turut serta bergabung dalam pertempuran besar yang akan menelan banyak korban ini. Sudah siapkah kamu?

Jadi, berhati-hatilah dan bangunlah kembali mental dengan sebaik mungkin. Gue tau tidak mudah memang untuk kembali berjuang setelah harapan kita hancur. Di sinilah pentingnya kita menguasai diri dan mengendalikan pikiran kita. Tanamkan sugesti-sugesti positif untuk mengembalikan kepercayaan diri.

2.     Belajar

“Belajar? Iyuuh..”

Itu lah yang mungkin kita ucapkan saat jauh hari sebelum kejadian malang menimpa kita. Tapi itu dulu, ga boleh ada lagi Iyuuh-iyuuhan kalau kalian masih mau merasakan duduk di bangku Perguruan Tinggi impian.. untuk kuliah tentunya-__-“

Saat semangat dan kepercayaan diri sudah mencapai kondisi normal atau lebih baik dari yang sebelumnya, itu adalah saat yang tepat untuk memulai kembali meraih asa kita. Mulailah sedikit demi sedikit mengais hati yang hancur, belajarlah dengan antusias dan konsisten.

Belajar bisa kita lakukan dengan beragam metode. Ada yang memilih untuk bimbel, ada juga yang mau belajar mandiri dengan mengandalkan sesuatu seperti djenius dan sebagainya, it’s oke. Buat yang mau gratisan, D’Academy Khan Academy mungkin bisa jadi salah satu alternative, di situ banyak materi-materi dasar. Oh iya, di situs itu materinya berbahasa inggris. *cumamaungingetin
Ada juga versi Indonesianya, tapi setau gue kurang lengkap.
Belajar lewat buku-buku yang dipasarkan pun terbukti cukup ampuh, dan jangan malu-malu untuk bertanya seandainya ada yang nggak kalian mengerti.

Yang perlu diingat adalah, kita semua punya kesempatan yang sama buat masuk ke Perguruan Tinggi, ini kembali lagi kepada kita, apakah mau “going the extra miles” ? melakukan sesuatu lebih banyak dan usaha yang lebih keras daripada yang lainnya untuk jadi yang terbaik.
Belajar juga butuh strategi, kawan. Atur jadwal dan porsi belajar yang menurut kalian bisa membawa kalian masuk ke Univ. yang diinginkan.

3.     Fokus

Fokus memang menjadi hal yang teramat sulit. Apalagi… ya? Bingung gue mau nulis apa.

*hening*

Oke, Steve Jobs pernah berkata, “People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully...

Seperti yang abang steve bilang barusan, fokus itu salah satunya adalah dengan berkata ‘tidak’ pada ratusan ide bagus yang lainnya, pilihlah yang baik-baik, hati-hati, yang baik hati dan sholeh/sholehah. #Duh

Ya, bermain game adalah sebuah ide yang bagus, memanjat pohon kelapa di sore hari pun merupakan ide yang brilliant. Tapi inget kembali tujuan awalmu bruh, sist, cek ig kami ya kuliah di Perguruan Tinggi impian. Jadi, berusahalah sekuat tenaga buat ga melakukan hal bagus -tapi ga penting- yang lainnya dulu. Atau paling ngga, mengurangi beberapa hal yang dirasa perlu dikurangi. Misal yang tadinya main games 5 jam sehari, jadi cuma 4 jam 55 menit… Ga dramatis sih, tapi jangan remehkan perubahan kecil, bung.

4.     Meminta Maaf

Fenomena meminta maaf sebelum kita berjuang adalah sebuah fenomena yang unik. Meminta maaf adalah hal yang terpuji, tapi gue masih ga ngerti kenapa kebanyakan orang minta maaf hanya di saat-saat tertentu. Misal, waktu punya salah. Ehm, oke.

Sebelum UN, dan SBMPTN seperti sekarang-sekarang ini juga rame banget yang meminta maaf sana sini. Beberapa yang gue tanya menjawab, “Biar jalannya lancar…”, atau “Biar dimudahkan…” Seperti tujuan dari dibangunnya jalan tol memang, biar lancar dan mudah.

Bagi gue, mungkin efek langsungnya sih ke ketenangan batin kita. Beberapa orang yang udah minta maaf mungkin merasa seperti “Udah minta maaf nih, gue lebih tenang…“ Itu sangat bagus, kawan. Dengan ketenangan kita dapat berpikir lebih jernih, tidak tertekan, dan nyaman untuk belajar. Jadi, meminta maaf lah dan berikan maaf kepada orang lain. Tapi jangan mengira bahwa kita akan lulus dengan mudah hanya dengan maaf-maafan.

Oh ya, jangan lupa maafkanlah diri sendiri karena kesalahan-kesalahan yang lalu, ambillah pelajaran darinya. Maafkan juga dia yang telah menyakitimu…

5.     Berdoa

Terkadang jiwa kita memang lemah, ga tau lagi harus ngapain disaat cobaan berat datang bertubi-tubi dan silih berganti. Misalnya waktu mencopet, kita kadang bingung mau berlari ke mana lagi, semua orang dan dunia seakan berkonspirasi untuk menghentikan langkah kita. Seketika mungkin kita akan bertanya-tanya, "mengapa semua orang ngejar-ngejar gue?" atau "kenapa mereka teriak-teriak?"
Tapi jangan panik. Tak usah dipikirkan dan jangan pernah menyerah, bung. Terus lah berlari, bukalah jalan baru… jangan sampai tertangkap, atau kamu akan wasted.

Berdoa merupakan senjata ampuh buat mengatasi kegalauan-kegalauan pada diri semacam itu tadi. Dekatkanlah diri kepada Yang Mahakuasa, mintalah petunjuk dan kekuatan agar terbebas dari rasa malas dan mendapat keleluasaan untuk segera bangkit dari keterpurukan.

Turut mendoakan orang lain pun sangat baik. Doakan juga teman-temanmu yang lain agar bisa sama-sama merasakan kesenangan karena masuk ke Univ. Pilihan. Rangkullah mereka, biar dapet traktiran juga.

6.     Mengisi soal-soal dengan Benar

Ini dia tips pamungkas. Gue ga bisa mendapatkan saran semacam ini dengan kemampuan gue yang biasa-biasa saja. Bahkan dengan bertapa belasan tahun pun belum tentu gue akan mendapatkan saran berkelas semacam ini.

“Mengisi soal-soal dengan benar” adalah saran dari Kakak Kelas gue (sekarang Kakak Tingkat) yang biasa dipanggil Kang Aqil. Dia memang seorang jenius, terbukti dari sarannya yang merupakan keniscayaan ini. Tidak ada satupun makhluk yang dapat membantah kebenarannya.

Saat kita sudah membangun mental, berdoa, maaf-maafan, fokus dan belajar mati-matian*, semua itu akan sia-sia apabila kita tidak mengisi soal dengan benar. Jadi, janganlah ragu-ragu, jangan sengaja menyalahkan jawaban #YaKali, jangan merasa kasihan terhadap sang pembuat soal. Tidak apa untuk saat ini kalian menghancurkan kesenangannya dan buatlah mereka menjerit karena kalian dapat mengerjakan soal buatan mereka dengan benar. Waktunya ‘balas dendam’. Ngahaha.

Namun, mengisi soal dengan benar ‘saja’ tidak cukup. Karena di SBMPTN, ada point dan penilaian yang berlaku. Perhitungkan kembali point yang mau kalian capai. Kerjakanlah SEBANYAK-BANYAKnya soal dengan benar. Maka kemungkinanmu untuk lolos akan menjadi sangat besar. (Kalau soalnya sudah habis sedangkan waktu masih banyak, cobalah buat soal sendiri. Jadilah orang yang kreatif. Tunjukkan bahwa Anda bisa)**.

Oh iya, keadaan kadang berbalik. Terkadang rencana bikin pembuat soal menjerit tidak berhasil. Jangan juga hanya diam saja kalau tidak bisa dan tak sanggup lagi, selamatkanlah diri kalian. Saatnya kalian yang menjerit atau pura-pura kesurupan. Dengan begitu, kalian akan disemprot air kumur yang hangat dan menenangkan, atau diantar pulang. Syukur kalau kalian masuk berita di tipi, itulah point plusnya.

7.     Tawakal (Berserah Diri)

Sebagai manusia, yang bisa kita lakukan selain berkedip dan bernapas diantaranya adalah bermimpi dan bercita-cita. Bagi orang yang ingin mewujudkan mimpi dan harapannya tadi, yang dia bisa lakukan hanyalah berusaha sekuat tenaga dan berdoa. Lalu apa lagi? Berserah diri dan bersabar adalah kuncinya, agar tetap tenang dan waras menjalani hidup. Sadarlah bahwa SBMPTN ibarat games yang sering kita lihat di tipi-tipi, semua orang boleh mempersiapkan diri sebaik mungkin menurut mereka. Namun tetap saja hanya ada beberapa orang yang boleh berlanjut ke babak selanjutnya. Itu lah peraturannya.

Saat kita sudah berusaha semaksimal mungkin, tidak ada yang sia-sia. Janganlah merasa bahwa semua itu tidak berguna hanya karena kita tidak diterima. Ambil dan pelajari hikmahnya…
Oke, sepertinya gue harus stop, capek gue pura-pura bijak.

Itu lah beberapa rangkuman dari apa yang gue dapat ketika bertapa semalam. Tips di atas tidak akan menjamin lo buat lolos ke Univ. yang lo mau, tapi mungkin akan sedikit bermanfaat. Inget lagi quotes pak Wilmont Buxton sebelumnya, ga ada suatu pencapaian besar yang tercipta dengan terburu-buru dan waktu yang singkat. Itulah alasan mengapa gue menyisipkan quotes tersebut, untuk mengingatkan kita semua, bahwa semuanya butuh proses yang panjang dan pengorbanan yang tidak sedikit. Tetaplah semangat menatap masa depan, gagal SNMPTN bukanlah akhir dari segalanya, anak muda. Tetaplah berjuang dan buktikan bahwa kalian bisa.

Apa lo mau melepas impian lo begitu saja? 

 Just info :
*  Belajar mati-matian = belajar sekuat tenaga, bukan belajar berpura-pura mati.
** Segala bentuk akibat yang ditimbulkan, tanggung sendiri akibatnya.



Tipe Data dalam Pascal (Bagian 2)




Setelah sebelumnya membahas tentang Tipe Data Scalar-Standar di artikel Tipe Data dalam Pascal (Bagian 1), kali ini saya akan sedikit menyinggung tentang Structured Data Types (Tipe Data Terstruktur).
Menurut IBM dalam situs-nya,“A structured data type is a user-defined data type with elements that are not atomic; rather, they are divisible and can be used either separately or as a single unit, as appropriate.
Artinya, Tipe Data Terstruktur adalah tipe data yang dapat digunakan untuk menampung banyak data (terdiri dari banyak variabel), yang isinya ditentukan sendiri oleh pembuatnya.
“Di dalam logika, tipe terstruktur dapat dilogikakan sebagai bungkusan dari satu kotak(variabel) atau lebih, atau bahkan di dalamnya juga mengandung bungkusan lagi.” (Rosa A.S, 2010 : 31)

Beberapa contoh Tipe Data Terstruktur :

  • Array
  • Record/Struct
  • List
  • Stack

Saya tidak akan membahas satu per satu secara mendetail kali ini, namun untuk memperjelas konsep dari Tipe Data Terstruktur, saya akan memberikan beberapa contoh.

Misalnya, kita ingin membuat sebuah Tipe Data Waktu, yang terdiri dari jam, menit, dan detik. Secara logika, Jenis/Tipe Data Waktu terdiri dari variable jam, menit, dan detik, dan Tipe Data Waktu ini diibaratkan sebagai pembungkus dari ketiga variable tadi.

Type
            Waktu = Record
                        Jam : Integer;
                        Menit : Integer;
                        Detik  : Integer;
            End;

{Tipe Data Waktu membungkus tiga variable, jam, menit, detik, yang bertipe data Integer}

Dalam pemakaiannya, kita dapat gunakan seperti berikut:

(*Kita deklarasikan Type Data Terstruktur (Bentukan) waktu, seperti yang telah dicontohkan di atas *)
…
Var
            Time : Waktu;
Begin
            Time.Jam := 10;

{Assign nilai 10 ke variable Jam dalam bungkusan Time, bungkusan Time bertipe data waktu. Dan tipe data Waktu sudah kita deklarasikan di awal}
        
            Time.Menit := 56;
            Time.Detik  := 12;
End.

Apabila kita menuliskan perintah Writeln; untuk masing-masing variable, maka nilai yang kita assign akan tertulis di layar.
Misal, kita gunakan :

Writeln(Time.Menit);

Maka di layar akan muncul :

56; {Tanpa titik-koma}

Atau, apabila kita tuliskan perintah :

Writeln(Time.Detik);

Yang akan tertulis di layar adalah :

12; {Tanpa titik-koma}

Mengapa perlu digunakan Tipe Data Terstruktur?

Ada berberapa keuntungan dari penggunaan Tipe Data Terstruktur dalam sebuah program. Yang pertama adalah, kita dapat mengelompokkan beragam tipe data built-in ke dalam sebuah struktur yang akan memudahkan kita dalam mengakses dan menginput suatu nilai ke dalamnya. Selain itu, kita dapat meningkatkan efisiensi penggunaan memori pada saat program sedang bekerja. Penggunaan struktur data yang tepat pada program dapat membuat program lebih efisien dan sederhana.

Satu lagi contoh penggunaan Tipe Data Terstruktur, misalnya. Kita ingin membuat sebuah data yang berkaitan dengan Mahasiswa. Mahasiswa sendiri mempunyai beberapa data lainnya yang harus disimpan, misalnya nama, NIM, dan Indeks Prestasi(IP). Agar mudah dalam mengelompokkan data, dan pada akhirnya akan membuat akses data menjadi lebih efisien dan mudah, maka kita dapat membuat sebuah record, atau bungkusan bernama Mahasiswa, yang terdiri dari variable Nama, NIM, dan IP yang masing-masing memiliki tipe data tersendiri. Apabila kita coba untuk mendeklarasikannya, maka akan menjadi seperti berikut:

Type
            Mahasiswa = Record
                        Nama  : String;
                        NIM   : String;
                        IP    : Real;
           End;

{Tipe Data untuk NIM di sini diasumsikan bertipe String (Untaian Karakter)}

Dengan membuat Tipe Data Bentukan seperti di atas, maka kita dapat dengan mudah mengakses data yang kita inginkan. Kira-kira itu saja yang dapat saya sampaikan pada kesempatan kali ini, Terimakasih.