• Tidak ada hasil yang ditemukan

Algoritma dan Pemrograman II C

N/A
N/A
Protected

Academic year: 2018

Membagikan "Algoritma dan Pemrograman II C"

Copied!
9
0
0

Teks penuh

(1)

VARIABEL DAN MEMORI

Varibel merupakan komponen penting pada pemrograman, Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat dirubah selama eksekusi program berlangsung.

Jika suatu variable diisi dengan nilai di luar jangkauannya maka nilai yang akan disimpan akan diubah sesuai dengan jangkauannya. Misalnya, bila suatu variable bertipe integer diberi nilai 75000, yang tersimpan pada variable tersebut berupa 9494. Sebab nilai positif terbesar pada tipe integer yaitu 32767. Hal ini bekerja sebagaimana speedometer pada kendaraan bermotor. Pada spedometer, apabila nilai maksimumnya terlampaui akan dimulai dari nilai terendahnya, yakni nol.

Perlu diketahui, pemrograman aritmatika yang menggunakan tipe seperti integer akan lebih cepat dibandingkan kalau menggunakan tipe long integer itulah sebabnya sedapat mungkin untuk menggunakan variable dengan memori berukuran kecil.

Pendefinisian variabel tergantung pada bahasa pemrograman yang dipakai ada yang pendefinisian variabel dapat diletakan dimana saja (contohnya : Basic, C++, Dbase, dll ) dan ada pula bahasa pemrograman yang sudah ditentukan pendefinisian variabelnya (contohnya : Pascal, Cobol, dll).

Lingkup Variabel

(2)

Jenis variabel berdasarkan kelas penyimpanannya, yang berkaitan dengan lingkup variabel, yaitu:

o Variabel otomatis

o Variabel eksternal

o Variabel Statis

o Variabel otomatis

Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal di dalam fungsi tempat variabel didifinisikan.

Suatu variabel otomatis mempunyai sifat :

 Variabel hanya akan diciptakan pada saat fungsi dipanggil.

 Pada saat fungsi berakhir (selesai dieksekusi), variabel otomatis menjadi sirna.

 Tidak ada inisialisasi secara otomatis (pada saat variabel diciptakan). Inisialisasi oleh pemrograman akan dikerjakan setiap kali fungsi dipanggil.

 Hanya dapat diakses di dalam fungsi yang mendifinisikan.

Selang waktu antara penciptaan variabel hingga penyirnaannya sering disebut sebagai lifetime atau durasi. Durasi dari variabel otomatis hanya pada saat fungsi yang mendifinisikannya dieksekusi.

o Variabel eksternal

Variabel eksternal merupakan kebalikan dari vaiabel otomatis. Variabel eksternal adalah variabel yang didifinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi. Anda dapat mendeklarasikan bukan mendifinisikan, karena tidak ada pengalokasian memori.

(3)

Penggunaan variabel eksternal diusahakan sesedikit mungkin atau sedapat mungkin tidak usah digunakan. Tidak lain adalah karena variabel ini mudah sekali berubah oleh pernyataan penugasaan yang letaknya bisa dimana saja. Ini bisa menimbulkan efek samping yang sulit untuk melacaknya, terutama untuk program yang besar.

Variabel eksternal mempunyai durasi selama program diekskusi. Dengan kata lain, memori yang digunakan untuk variabel ini tetap dipertahankanselama program belum berakhir.

o Variabel statis

Baik variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat :

Jika variabel local berdiri sebagai variabel statis, maka :

 Variabel tetap hanya dapat diakses pada fungsi yang mendifinisikannya

 Variabel tidak hilang saat dieksekusi fungsi berakhir nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.

 Inisialisasi oleh pemrograman akan dilakukan sekali saja selama program dijalankan, jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.

Jika Variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didifinisikan pada file yang sama dengan variabel eksternal tersebut (hal ini bermanfaat pada pemrograman file berganda atau kode program ditaruh pada beberapa file).

MEMORI DINAMIS

Konsep pengalokasian memori

(4)

Stack

Heap

Data

Kode

Pada saat program yang dibuat dijalankan, terdapat sejumlah memori yang tidak terpakai. Memori ini dikenal sebagai Heap. Memori inilah yang dapat dipakai untuk memciptakan variabel dinamis. Ukuran memori ini sangatlah bervariasi, bergantung pada model memori yang digunakan compiler dan juga system operasi.

(5)

Contoh penggunaan variabel yang sederhana ada pada contoh program kecil BACA.PAS. Perhatikan bahwa deklarasi variabel (pernyataan variabel apa memiliki tipe apa ada pada bagian sebelum blok utama begin end, seperti ini:

Program namaprogram; var

nama_variabel : tipevariabel; nama_variabel2 : tipevariabel2; begin

(*bagian program utama*) end.

Sintaks yang lebih lengkap dapat dilihat pada buku pemrograman bahasa Pascal.Perhatikan bahwa ketika dideklarasi sebuah variabel belum terdefinisi nilainya (sudah memiliki nilai, tapi tidak bias diprediksi nilai apa yang ada). Salah satu cara untuk memberi nilai variabel adalah melalui assignment.

Assignment

Assignment adalah pemberian nilai kepada variabel. Assignment memberikan nilai pada ruas kiri sesuai dengan hasil nilai di ruas kanan. Misalnya jika a adalah sebuah variabel yang tipenya bilangan bulat:

var a: integer; begin

a:= 2; end.

(6)

writeln(a);

setelah instruksi a:=2. Perhatikan bahwa tipe di sebelah kanan harus sama dengan tipe di sebelah kiri (pembahasan mengenai assignment untuk tipe yang berbeda dapat dilihat di bagian

Kompatibilitas Tipe)

Representasi Tipe

Komputer hanya bisa memproses angka, sehingga semua tipe data dalam komputer akan diproses dalam bentuk bilangan integer. Bahkan kata-kata yang muncul dalam komputer juga diproses sebagai bilangan. Untuk masing-masing tipe yang dibahas di sini, akan diberikan juga representasi di dalam komputer untuk masing-masing tipe untuk mengetahui batasan dari setiap tipe. Pemahaman representasi tipe ini penting untuk mengetahui mengapa suatu tipe terbatas, mengapa hasil suatu operasi seperti yang dijelaskan. Sebenarnya representasi tipe ini menjadi bahasan dalam kuliah atau pelajaran arsitektur komputer, namun karena tidak ada buku lain yang digunakan yang memuat hal tersebut, pembahasan representasi akan digabung dalam penjelasan tipe. Perlu ditekankan bahwa pengetahuan mengenai representasi tipe tidak terlalu penting dalam pemrograman, yang penting adalah hanya mengetahui batasan dari setiap tipe yang ada, sehingga dapat memilih tipe yang tepat ketika membuat program.

Konstanta

Konstanta adalah suatu nilai yang tidak berubah. Contohnya pi (p), adalah konstanta yang digunakan sebagai perbandingan keliling lingkaran terhadap diameternya, dan e adalah konstanta bilangan euler. Dalam Pascal dan dalam semua bahasa prosedural lain sebuah nama boleh diberi nilai yang tidak akan diubah di dalam program, nama ini disebut sebagai konstanta. Kata kunci yang dipakai dalam Pascal adalah const.

Integer

Integer adalah suatu tipe bilangan bulat (negatif, positif, dan nol). Integer dipakai dalam

(7)

Karakter

Di dalam Pascal dan aneka bahasa lain, dikenal tipe data char yang bisa menampung satu karakter. Satu karakter adalah satu huruf, atau satu angka, atau simbol. Sebuah variabel bertipe karakter hanya boleh diisi dengan satu simbol saja, seperti ini:

var c:char; begin

c:= 'A'; (* c berisi huruf A *) end.

String

String sebenarnya adalah tipe variabel dasar yang cukup kompleks, namun akan sering dipakai, dalam bagian ini representasi string tidak akan dibahas, hanya penggunaannya saja. Suatu literal integer dapat ditulis seperti biasa: 5 atau 6, sedangkan literal string harus ditulis dengan diapit tanda kutip tunggal, seperti ini:

'ini string'

Jika ada tanda kutip di dalam string, digunakan dua kutip tunggal, jadi untuk menuliskan string “don't do that”, harus seperti ini:

'don''t do that'

Boolean

(8)

Ekspresi yang menghasilkan boolean bisa berupa ekspresi dengan tipe-tipe yang terdiri dari tipe boolean, bisa juga berupa ekspresi dari tipe lain.

Real

(9)

Penggolongan Variabel berdasarkan Kelas Penyimpanan

Suatu variabel, di samping dapat digolongkan berdasarkan jenis/tipe data juga dapat diklasifikasikan berdasarkan kelas penyimpanan (storage class). Penggolongan berdasarkan kelas penyimpanan berupa :

ƒ variabel lokal ƒ variabel eksternal ƒ variabel statis ƒ variabel register

Variabel Lokal

Variabel lokal adalah variabel yang dideklarasikan dalam fungsi, dengan sifat : ƒ secara otomatis diciptakan ketika fungsi dipanggil dan akan sirna (lenyap) ketika eksekusi terhadap fungsi berakhir.

ƒ Hanya dikenal oleh fungsi tempat variabel tersebut dideklarasikan

ƒ Tidak ada inisialisasi secara otomatis (saat variabel diciptakan, nilainya tak menentu). Dalam banyak literatur, variabel lokal disebut juga dengan variabel otomatis.

Variabel yang termasuk dalam golongan ini bisa dideklarasikan dengan menambahkan kata kuci auto di depan tipe-data variabel. Kata kunci ini bersifat opsional, biasanya disertakan sebagai penjelas saja.

void fung_x(void) {

int x; . .

Referensi

Dokumen terkait

Untuk mengetahui potensi aktivitas ekonomi yang merupakan basis dan bukan basis dapat digunakan dengan metode Location Quotient (LQ), yang merupakan perbandingan relatif

seperti subkontraktor dan perunding. Kekosongan adalah statistik stok pada sesuatu masa. Oleh itu, kekosongan pada suku keempat 2019 mewakili kekosongan pada tahun 2019. Pewujudan

say {Dewi Sukma}{Hai Nyai Emas Padmawati, beritahukanlah pada rajamu.} say {Dewi Sukma}{Utuslah seseorang untuk mengambil pusaka Lalayang Salaka Domas di Jabaning Langit}. say

Tentu, pada tataran realita tidak mungkin akan kita dapati praksis yang sesuai dengan teori yang berasas tersebut. Jika setiap orang tetap akan memaksakan pengaplikasian di

Selama pembelajaran berlangsung, Ibu S terlihat beberapa kali melakukan penanaman pendidikan karakter secara tersirat yang mengandung berbagai nilai di dalamnya,

Dari beberapa pemaparan diatas dapat disimpulkan bahwa Hasil belajar Matematika siswa yang di ajar dengan model pembelajaran Kooperatif Tipe Group Investigation

1) Dalam membina hubungan dengan orang lain, seseorang harus menutupi sebagian kehidupan pribadinya sehingga dia dapat mempertahankan posisinya pada tingkat tertentu.

Pada unit produksi campuran beraspal jenis timbangan dan menerus dilengkapi dengan saringan panas yang berfungsi untuk menyaring agregat kedalam beberapa fraksi