Sesi/Perkuliahan ke: III
Tujuan Instruksional Khusus :
1. Mahasiswa dapat menjelaskan memori dan penggunaan memori dalam membuat program
2. Mahasiswa dapat menjelaskan Scope variabel dalam membuat program
Pokok Bahasan : Memori dan Scope Variabel
Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang Memori
Dan Scope Variabel
Referensi :
1. Introduction To Algoritms, Thomas N. Cormen, Charles E. Leiserson, Ronald L. Ruvest. MIT Press
2. Computer Algorithms: introduction to design and analysis. 2nd ed., Sara Baase, Reading,Mass: Addison-Wesley Company, 1993
3. Analisis dan Desain Berorientasi Objek, Ariesto Hadi Sutopo, JJ Learning: Yogyakarta, 2002
4. Pengantar Analisis Algoritma, Suryadi MT, Gunadarma: Jakarta, 1992
5. Referensi silabus utama:
http://www.cs.ucl.ac.uk/teaching/syllabus/ug/1b12.htm
Bisa digunakan: (slides-2)
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html
http://highered.mcgrawhill.com/sites/0070131511/student_view0/chapter1/chapter_overview.
html
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
Pemahaman terhadap lingkup variabel di dalam penulisan fungsi sangatlah penting, agar tidak salah dalam menggunakan suatu variabel. Lingkup variabel menentukan keberadaan suatu variabel tertentu didalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.
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.
Sehingga sifat dari variabel eksternal kebalikan dari variabel otomatis.
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
Tataletak memori pada computer setelah suatu program dimuat kememori computer. Seperti gambar berikut :
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.
24 April, 2009
Materi Kuliah Pemograman Java (Type data, Variable & Operator)
BAB II
VARIABEL, TIPE DATA DAN OPERATOR
2.1 Variabel
Di Java setiap variabel memiliki sebuah tipe data, Untuk membuat sebuah variabel, pertama kita tempatkan tipe dari variabel itu dan diikuti oleh nama dari variabel yang akan dibuat.
contohnya:
• double gaji;
• int hariKerja;
• long jumlahPenduduk;
• char c;
• boolean Sudah;
Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah semicolon ‘;’. Semicolon dibutuhkan karena pendeklarasian sebuah variabel adalah sebuah statement di Java.
Berikut ini aturan-aturan dalam membuat variabel pada Java :
Nama dari sebuah variabel harus dimulai dengan sebuah huruf dan selanjutnya dapat diikuti dengan huruf atau angka.
Huruf yang bisa digunakan adalah dari 'A'–'Z', 'a'–'z', angka dri 1-9 dan juga simbol '_' dan ‘$’ , Untuk simbol lain dan spasi tidak dapat digunakan.
Dalam penamaan variabel juga tidak diperkenankan menggunakan reserved word dari Java.
Dalam pendeklarasian variabel kita juga bisa menyatukan dua variabel dalam pendeklarasiannya
Contoh :
• int i, j;
• long y,x;
• char a,b;
Sebuah variabel dapat diberikan nilai awal setelah atau pada saat dideklarasikan
contoh :
• int nilai;
• nilai=10;
• int nilai=10;
Sebuah variabel dapat juga bertukar nilai atau saling memberi dengan variabel lainnya
contoh :
• int nilai1=10;
• int nilai2;
• nilai2=nilai1;
2.2 Tipe Data
Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel di memori karena tipe data variabel menentukan cara kompilator menginterpretasikan isi memori. Tipe data dalam Java dibagi 2 kategori:
Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini tidak diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe primitive. Terdapat 8 tipe tipe sederhana dan dipisahkan dalam 4 kelompok:
Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte, short, int, dan long.
Dua untuk tipe angka titik mengambang (floating point) atau bilangan pecahan: float dan double.
Satu untuk tipe karakater yaitu char, mewakili simbol pada himpunan karakter seperti tulisan dan angka.
Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan besaran logika (nilai-nilai logika).
Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain yang telah ada. Tipe ini antara lain: string, array, class, dan interface.
2.2.1 Byte
Byte adalah tipe 8-bit bertanda. Sebaiknya digunakan jika kita menangani aliran-aliran byte asing dari network atau file. Variabel byte dideklarasikan dengan kata kunci byte. Contohnya, dibawah ini adalah deklarasi 2 variabel byte yang diberi nama b dan c. Variabel c dinisialisasi dengan nilai 0x55.
byte b;
byte c = 0x55;
2.2.2 Short
Short adalah tipe 16-bit bertanda. Tipe ini mungkin merupakan tipe yang paling jarang digunakan karena bersifat big-endian (pengurutan byte), format data bit atas di depan, sehingga tidak mungkin diolah pada mesin-mesin little-endian seperti PC (Personal Computer). Saat ini, komputer 16-bit umum digunakan dalam industri video-game, dalam hal ini kita tidak banyak berurusan dengan besaran-besaran variabel short. Berikut beberapa contoh deklarasi variabel short:
short s;
short t = 0x55aa
;
2.2.3 Integer
Integer adalah tipe yang paling banyak digunakan pada program. Program Java terdapat 5 integer. Tipe Char dapat dipandang sebagai bilangan bulat yang mengkodekan karakter Unicode. Pada kebanyakan situasi tipe int paling banyak digunakan. Untuk bilangan besar, maka digunakan tipe long. Tipe byte dan short terutama digunakan untuk aplikasi khusus seperti penanganan file level rendah atau array besar yang disimpan tempat kecil.
int adalah tipe 32-bit bertanda. Tipe ini paling banyak digunakan untuk menyimpan besaran integer sederhana, karena nilainya dapat mencapai triliyunan. Int sangat baik digunakan untuk pertambahan array dan pencacahan. Contoh deklarasi variabel int:
int i;
int j = 0x55aa0000;
2.2.4 Long
long adalah tipe 64-bit bertanda. Ada beberapa kasus dimana int tidak cukup besar untuk menampung nilai yang diinginkan. Ketika menghitung pernyataan integer dengan bilangan yang cukup besar, operasi perkalian dapat menghasilkan bilangan ribuan triliyun. Dalam kasus seperti ini, kita membutuhkan tipe long. Berikut contoh deklarasi variabel long:
long m;
long n = 0x55aa000055aa0000;
Jalannya program Java bebas menggunakan ukuran berapapun untuk variabel yang diperlukan selama tipe bersifat seperti yang didefinisikan.
Tujuan Instruksional Khusus :
1. Mahasiswa dapat menjelaskan memori dan penggunaan memori dalam membuat program
2. Mahasiswa dapat menjelaskan Scope variabel dalam membuat program
Pokok Bahasan : Memori dan Scope Variabel
Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang Memori
Dan Scope Variabel
Referensi :
1. Introduction To Algoritms, Thomas N. Cormen, Charles E. Leiserson, Ronald L. Ruvest. MIT Press
2. Computer Algorithms: introduction to design and analysis. 2nd ed., Sara Baase, Reading,Mass: Addison-Wesley Company, 1993
3. Analisis dan Desain Berorientasi Objek, Ariesto Hadi Sutopo, JJ Learning: Yogyakarta, 2002
4. Pengantar Analisis Algoritma, Suryadi MT, Gunadarma: Jakarta, 1992
5. Referensi silabus utama:
http://www.cs.ucl.ac.uk/teaching/syllabus/ug/1b12.htm
Bisa digunakan: (slides-2)
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html
http://highered.mcgrawhill.com/sites/0070131511/student_view0/chapter1/chapter_overview.
html
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
Pemahaman terhadap lingkup variabel di dalam penulisan fungsi sangatlah penting, agar tidak salah dalam menggunakan suatu variabel. Lingkup variabel menentukan keberadaan suatu variabel tertentu didalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.
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.
Sehingga sifat dari variabel eksternal kebalikan dari variabel otomatis.
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
Tataletak memori pada computer setelah suatu program dimuat kememori computer. Seperti gambar berikut :
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.
24 April, 2009
Materi Kuliah Pemograman Java (Type data, Variable & Operator)
BAB II
VARIABEL, TIPE DATA DAN OPERATOR
2.1 Variabel
Di Java setiap variabel memiliki sebuah tipe data, Untuk membuat sebuah variabel, pertama kita tempatkan tipe dari variabel itu dan diikuti oleh nama dari variabel yang akan dibuat.
contohnya:
• double gaji;
• int hariKerja;
• long jumlahPenduduk;
• char c;
• boolean Sudah;
Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah semicolon ‘;’. Semicolon dibutuhkan karena pendeklarasian sebuah variabel adalah sebuah statement di Java.
Berikut ini aturan-aturan dalam membuat variabel pada Java :
Nama dari sebuah variabel harus dimulai dengan sebuah huruf dan selanjutnya dapat diikuti dengan huruf atau angka.
Huruf yang bisa digunakan adalah dari 'A'–'Z', 'a'–'z', angka dri 1-9 dan juga simbol '_' dan ‘$’ , Untuk simbol lain dan spasi tidak dapat digunakan.
Dalam penamaan variabel juga tidak diperkenankan menggunakan reserved word dari Java.
Dalam pendeklarasian variabel kita juga bisa menyatukan dua variabel dalam pendeklarasiannya
Contoh :
• int i, j;
• long y,x;
• char a,b;
Sebuah variabel dapat diberikan nilai awal setelah atau pada saat dideklarasikan
contoh :
• int nilai;
• nilai=10;
• int nilai=10;
Sebuah variabel dapat juga bertukar nilai atau saling memberi dengan variabel lainnya
contoh :
• int nilai1=10;
• int nilai2;
• nilai2=nilai1;
2.2 Tipe Data
Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel di memori karena tipe data variabel menentukan cara kompilator menginterpretasikan isi memori. Tipe data dalam Java dibagi 2 kategori:
Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini tidak diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe primitive. Terdapat 8 tipe tipe sederhana dan dipisahkan dalam 4 kelompok:
Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte, short, int, dan long.
Dua untuk tipe angka titik mengambang (floating point) atau bilangan pecahan: float dan double.
Satu untuk tipe karakater yaitu char, mewakili simbol pada himpunan karakter seperti tulisan dan angka.
Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan besaran logika (nilai-nilai logika).
Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain yang telah ada. Tipe ini antara lain: string, array, class, dan interface.
2.2.1 Byte
Byte adalah tipe 8-bit bertanda. Sebaiknya digunakan jika kita menangani aliran-aliran byte asing dari network atau file. Variabel byte dideklarasikan dengan kata kunci byte. Contohnya, dibawah ini adalah deklarasi 2 variabel byte yang diberi nama b dan c. Variabel c dinisialisasi dengan nilai 0x55.
byte b;
byte c = 0x55;
2.2.2 Short
Short adalah tipe 16-bit bertanda. Tipe ini mungkin merupakan tipe yang paling jarang digunakan karena bersifat big-endian (pengurutan byte), format data bit atas di depan, sehingga tidak mungkin diolah pada mesin-mesin little-endian seperti PC (Personal Computer). Saat ini, komputer 16-bit umum digunakan dalam industri video-game, dalam hal ini kita tidak banyak berurusan dengan besaran-besaran variabel short. Berikut beberapa contoh deklarasi variabel short:
short s;
short t = 0x55aa
;
2.2.3 Integer
Integer adalah tipe yang paling banyak digunakan pada program. Program Java terdapat 5 integer. Tipe Char dapat dipandang sebagai bilangan bulat yang mengkodekan karakter Unicode. Pada kebanyakan situasi tipe int paling banyak digunakan. Untuk bilangan besar, maka digunakan tipe long. Tipe byte dan short terutama digunakan untuk aplikasi khusus seperti penanganan file level rendah atau array besar yang disimpan tempat kecil.
int adalah tipe 32-bit bertanda. Tipe ini paling banyak digunakan untuk menyimpan besaran integer sederhana, karena nilainya dapat mencapai triliyunan. Int sangat baik digunakan untuk pertambahan array dan pencacahan. Contoh deklarasi variabel int:
int i;
int j = 0x55aa0000;
2.2.4 Long
long adalah tipe 64-bit bertanda. Ada beberapa kasus dimana int tidak cukup besar untuk menampung nilai yang diinginkan. Ketika menghitung pernyataan integer dengan bilangan yang cukup besar, operasi perkalian dapat menghasilkan bilangan ribuan triliyun. Dalam kasus seperti ini, kita membutuhkan tipe long. Berikut contoh deklarasi variabel long:
long m;
long n = 0x55aa000055aa0000;
Jalannya program Java bebas menggunakan ukuran berapapun untuk variabel yang diperlukan selama tipe bersifat seperti yang didefinisikan.