Satu Kalimat Untuk Perubahan

Friday, September 5, 2014

Longint, Ternyata Kau Kuncinya

Haloo... sobat #Ar, apa kabar nih? jumpa lagi dengan saya dalam postingan blog yang nggak penting dan nggak usah dipentingkan. Kenapa? Kita santai-santai saja, enjoy dan nikmati hidup. Asal jangan nyusahin orang lain. Okee.. bicara tentang santai, kali ini saya mau nambahin satu label baru lagi diblog ini yaitu Study Santai. Label ini akan berisi tentang pengalaman-pengalaman pribadi saya yang insya Allah terdapat pelajaran yang bisa bermanfaat. Oke nggak usah banyak cingcong karena cingcong sendiri ane nggak tau artinya apaan. Let's Learn Slowly....

Kemarin tepatnya hari Kamis, tanggalnya liat sendiri dikalender (Moduss)... Dihari itu ane ada satu mata pelajaran yang ane suka, tentunya karena pelajaran yang menyenangkan dan gurunya juga,, ehhmmm gurunya cantik juga, masih muda.. (Eciieeee...) banyak yang suka loh sama guru itu, Bu Fia biasa kami memanggilnya.. Cantik, Pinter, Sabar, ane rasa cocok banget kalo jadi guru (emang iyaaaa).
Pelajarannya adalah Pemograman Dasar.. Masih make pascal sob..


Oke, hari itu Kita lagi ngebahas masalah pemograman dengan bahasa pascal (apaan tuh? Disini) dan sedang membahas tentang operator aritmatika. Dan kebetulan yang dibahas adalah pembagian, dimana pembagian ini dibagi kedalam 3 jenis perintah/statemen.. mau tau apa saja itu? makanya sekolah sama ane, hehe.. 3 jenis perintah tersebut yaitu :

  • Mod
  • Div
  • / (Riil)
Dimana ketiga statemen pembagian itu memiliki hasil yang berbeda satu sama lain, jika Kita menggunakan Mod maka hasil yang dikeluarkan adalah hasil sisa bagi dari sebuah bilangan dengan bilangan yang lain dalam bentuk bilangan bulat.
Misalnya :
      c ← 9 mod 2
      Output(c)
Maka hasil c adalah 1
Sedanngkan Div  adalah statement atau perintah untuk mencari hasil bagi dari sebuah bilangan dengan bilangan yang lain dalam bentuk bilangan bulat.
Misalnya :
     c ← 9 div 2
     Output(c)
Maka hasil c adalah 4
Lain lagi dengan statemen / (Riil) maka hasil yang ditampilkan apa adanya, misalnya :
c ← 9/2
output(c)
Maka hasil c adalah 4,5
Sudah jelas semuanya? naah.. yang keren dari statemen ini adalah....  Bisa digunakan untuk mengkonversi waktu, misalnya dari detik dicari berapa jam, berapa menit, atau dari meter ke kilometer. Waahh kan asik kan? Iya lah asik, makanya sekolah sama ane..
dan pada hari itu, guru ane nyuruh bikin program untuk mengkonversi waktu dari detik ke jam dan menit.. sebenernya nggak bikin program sih, soalnya sudah disediain sama bu guru yang baik hati itu. Kami cuman mengubah sedikit saja. Oke, seperti apa programnya? Lihat dibawah

program konfersi_detik;
uses wincrt;
var detik,jam,menit,sisadetik:integer;
    begin
         write('Masukan Detiknya : ');
         readln(detik);
         jam:=detik div 3600;
         sisadetik:=detik mod 3600;
         menit:=sisadetik div 60;
         detik:=sisadetik mod 60;
         writeln(jam,' Jam ',menit,' Menit ',detik,' Detik');
    end.
Itu lah sedikit program yang saya rangkai, samapai disini tidak ada kendala.. dan apabila dijalankan program akan dengan benar menampilkan hasil sesuai dengan program yang dibuat.

Setelah sukses dengan program pertama, bu guru menyuruh Kami untuk membuat program lagi. Bedanya, kali ini programnya harus bisa mengetahui konversi dari cm ke kilometer dan meter. Maka secara spontan, Kita pikir tinggal ubah variabel saja dalam program Kita.. selain variabel, Kita juga mengubah pembagi dari cm ke kilometer. yang setelah Kita hitung-hitung, 1KM itu sama dengan 100.000CM.. wiihhh banyak banget, oke,,, mulailaih Kita menuliskan programnya.. seperti berikut

program konfersi_panjang;
uses wincrt;
var cm,m,km,sisacm:integer;  
    begin
         write('Masukan CM : ');
         readln(cm);
         km:=cm div 100000;
         sisacm:=cm mod 100000;
         m:=sisacm div 100;
         cm:=sisacm mod 100;
         writeln(km,' KM ',m,' M ',cm,' CM');
    end.

Naahhh... Kami senang telah menyelesaikan programnya.. saatnya Kami run program tersebut.. daaannnn hasilnya adalaaahhhh... taarrraaaa


Loh kok hasilnya min?? gimana nih? padahal program dan angka yang dimasukan sudah bener..
Disinilah ketegangan dan keringat dingin mulai muncul.. waahh apa yang salah nihh?,, kok nggak bisa? Tanya bu  guru, nggak bisa juga kalo angka Cmnya Kita masukan 100000, terus gimana dong? oke.. Kita coba yang lebih kecil, Kita masukan angka 2000. apakah masih error?


Waahh iya bisaa.. Horeee...
Seneng hanya sesaat, karena saat Kita masukin nila yang besar.. maka hasilnya akan min. Kenapa yah? Kami dan Bu Guru sempat bolak-balik merhatiin syntax yang ada diprogram tersebut.. daan nggak ada yang salah kok.. Sampe saya nyelethuk, "Mungkin komputernya cape bu, nggak mau ngitung angka besar". Dari perkataan itu kemudian sadarlah Kami semua.. berapa sih batasan angka yang terbaca oleh type data integer? Koneksi internet mendukung sehingga ku temukan jawabannya diujung halaman mbah Google. Dan kutemukan bahwa integer hanya bisa membaca angka dari-32768 sampai 32767, pantes saja Kalau Kita input angka 100000 hasilnya malah min.. ternyata itu, ya ya yaahh.. ternyata cuman diganti saja type datanya.. dari integer ke Longint, sebatas info.. Longint mampu membaca angka dari -2147483648 sampai 2147483647. Jadi ketika Kita input data 100000 nggak min lagi hasilnya.. Kita buktikan, syntax programnya nanti akan seperti ini :

program konfersi_panjang;
uses wincrt;
var cm,m,km,sisacm:Longint;  
    begin
         write('Masukan CM : ');
         readln(cm);
         km:=cm div 100000;
         sisacm:=cm mod 100000;
         m:=sisacm div 100;
         cm:=sisacm mod 100;
         writeln(km,' KM ',m,' M ',cm,' CM');
    end.
Dengan syntax tersebut, maka setelah dijalankan dapat menghitung angka yang Kita masukan yaitu 100000.


Kebahagiaan sesungguhnya datang kepada Kami, akhirnya programnya bisa berjalan dengan lancar.. horeee...
oh iya, ini dibawah tabel type data integer agar tidak salah lagi kaya ane kemaren..

Tipe Data Integer
  1. Shortint, batas nilainya -128 …127
  2. Integer, batas nilanya -32768 ….32767
  3. Longint, batas nilainya -2147483648 …2147483647
  4. Byte, batas nilainya 0…255
  5. Word, batas nilainya 0…65535
Operator pada Data Integer :
  1. Penjumlahan (+)
  2. Pengurangan (-)
  3. Perkalian (*)
  4. Hasil pembagian bulat (DIV)
  5. Sisa hasil pembagian (MOD)
Nilai sebuah data dari sebuah tipe data integer adalah nilai bilangan bulat tersebut dalam matematika. Representasi data ini merupakan cara bagaimana nilainya disimpan di dalam memori komputer.

Lumayan kan, ada beberapa pelajaran yang bisa diambil dari pengalaman ane.. contohnya, Kita nggak boleh gugup dan grogi dalam melakukan sesuatu.. harus teliti dan hati-hati agar tidak terjadi kesalahan..

Okeee.... samapai jumpa dilain kesempatan... bye bye bye byee..


Share:

2 comments:

  1. good posting mamen, keep posting aja mung lagi mood tok yah .. salam blogger SMIK

    ReplyDelete

Silahkan berkomentar dengan baik dan sesuai dengan artikel. Komentar yang dianggap spam akan dihapus. Terimakasih telah bersedia membaca artikel disini.

Sample Text

Copyright © ManiakError | Powered by Blogger Design by ronangelo | Blogger Theme by NewBloggerThemes.com