320 likes | 523 Views
Memori dan Scope Variabel. Pertemuan ke-3. Pendahuluan. Tingkat efisiensi suatu algoritma menyangkut 2 hal, yaitu: Waktu Tempuh Proses dari suatu algoritma di dalam mencari solusi dari suatu masalah memerlukan waktu tertentu. Hal-hal yang mempengaruhi waktu tempuh:
E N D
Memori dan Scope Variabel Pertemuan ke-3
Pendahuluan • Tingkat efisiensi suatu algoritma menyangkut 2 hal, yaitu: Waktu Tempuh Proses dari suatu algoritma di dalam mencari solusi dari suatu masalah memerlukan waktu tertentu. Hal-hal yang mempengaruhi waktu tempuh: (i) Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut.
Cont. (ii) Besar dan jenis input data Ukuran atau besar serta jenis dari input yang digunakan akan sangat berpengaruh pada proses perhitungan. (iii) Jenis operasi Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi aritmatika, operasi nalar atau logika, dll.
Cont. (iv) Komputer dan kompilator Komputer dengan kemampuan lambat maka waktu tempuhnya akan menjadi lebih lambat. Kompilator yang digunakan juga akan berpengaruh terhadap waktu tempuh suatu algoritma. Jumlah memori yang digunakan
Memori • Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien). • Banyaknya langkah yang digunakan dan jenis variabel atau data yang dipakai dalam suatu algoritma akan mempengaruhi penggunaan memori.
Cont. • Kebutuhan memori harus diperkirakan selama proses berlangsung hingga diperoleh penyelesaiannya, maka perlu disiapkan storage yang memadai agar proses dari suatu algoritma berlangsung tanpa hambatan. • Parameter-parameter terpenting dalam sebuah sistem memori: Kapasitas (capacity): jumlah maksimum unit data yang dapat disimpannya.
Cont. Waktu pengaksesan (access time): waktu yang diperlukan untuk mengakses data. Kecepatan transfer data (data transfer rate): jumlah bit per detik data yang dapat dibaca. Waktu siklus (cycle time): ukuran seberapa sering memori dapat diakses. Biaya (cost): biasa diekspresikan dalam bentuk rupiah per bit.
Hirarki Memori Cache Memori kecil berkecepatan tinggi yang berfungsi sebagai buffer bagi RAM RAM (Random Access Memory) berfungsi untuk menyimpan program yang diolah untuk sementara waktu. Tujuan RAM adalah mempercepat pemrosesan data pada komputer. Main Memory: RAM Piranti penyimpanan yang non volatile sebagai penyimpanan backup. Secondary storage: Tape, disk, drum, electronic disk
Contoh Algoritma dari penjumlahan 2 buah matrik yang berukuran (mxn), yaitu: (1)Nyatakan A[i,j], B[i,j], C[i,j] riil (2)Untuk i1 sampai dengan m kerjakan (3)Untuk j1 sampai dengan n kerjakan (4)C(i,j)A[i,j] + B[i,j] (5)Akhir j (6)Akhir i • Jenis operasi yang digunakan adalah operator tambah.
Cont. • Banyaknya operasi tambah yang dilakukan adalah mn kali. • Banyaknya memori yang digunakan: Variabel yang digunakan adalah variabel berindex dengan dimensi 2 dan bertipe variabel riil dengan tingkat ketelitian tunggal maka banyaknya memori yang dibutuhkan untuk satu variabel adalah 4mn byte. • Fungsi F(m,n)=13mn yang merupakan fungsi dari waktu tempuh dan memori yang digunakan oleh algoritma tersebut.
Variabel • Variabel adalah tempat di mana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. • Setiap variabel akan mempunyai nama (identifier) dan nilai. • Contoh: username = “joni” Nama = “Ronaldo” Harga = 2500 HargaTotal = 34000
Aturan-aturan Pemberian Nama Variabel • Nama variabel harus diawali dengan huruf. • Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_). • Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti ., +, -, *, /, <, >, &, (, ) dan lain-lain • Nama variabel tidak boleh menggunakan kata-kata kunci di bahasa pemrograman. • Case Sensitive atauInCase Sensitive.
Scope Variabel • Karakteristik variabel: • Elemen yang dapat menampung nilai. • Nilai dapat berubah. • Dapat digunakan berulang-ulang. • Hanya dapat menampung sebuah nilai saja (tunggal). • Jenis variabel: Variabel Global/ Eksternal Dideklarasikan diluar prosedurataufungsi manapun.
Cont. • Dideklarasikan bukan didefinisikan. • Dapatdikenalidan diaksesolehsemuaprosedurataufungsi. • Variabel Lokal/ Internal • Tidakdapatdikenaliolehprosedurataufungsi lain. • Hanyadikenaldidalamprosedurataufungsitempatvariabeldidifinisikan.
Cont. Variabel Otomatis • Variabelhanyaakandiciptakanpadasaatfungsidipanggil. • Padasaatfungsiberakhir (selesaidieksekusi), variabelotomatisdihilangkan. • Tidakadainisialisasisecaraotomatis (padasaatvariabeldiciptakan). Inisialisasi oleh pemrograman akan dikerjakan setiap kali fungsi dipanggil.
Cont. • Hanya dapat diakses di dalam fungsi yang mendifinisikan. • Variabel Statis Pada variabel lokal • Variabeltetaphanyadapatdiaksespadafungsi yang mendifinisikannya. • Variabeltidakhilangsaateksekusifungsiberakhirnilainyaakantetapdipertahankan, sehinggaakandikenalipadapemanggilanfungsiuntuktahapberikutnya.
Cont. • Inisialisasiolehpemrogramanakandilakukansekalisajaselama program dijalankan, jikatidakadainisialisasisecaraeksplisit, variabeldiisidengan nol. • Pada variabel global • JikaVariabeleksternaldijadikansebagaivariabelstatis, variabelinidapatdiaksesolehsemua file yang didifinisikanpada file yang samadenganvariabeleksternaltersebut.
Cont. • Bermanfaatpadapemrograman file bergandaataukode program diletakkanpadabeberapa file.
Konstanta Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Karakteristik konstanta: • Elemen yang dapatmenampungnilai. • Nilaitetap / tidakberubah. • Dapatdigunakanberulang-ulang. • Hanyadapatmenampungsebuahnilaisaja (tunggal).
Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. • Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumber daya komputer (terutama memori komputer).
Tipe Data Numeric • Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. • Jenis yang termasuk dalam tipe data numeric: integer (bilangan bulat) dan float (bilangan pecahan).
Tipe Data Character • Tipe data character kadang disebut char atau string. • Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“...”) atau petik tunggal (‘...’)
Tipe Data Boolean • Tipe data boolean digunakan untuk menyimpan nilai True/ False (benar/ Salah). • Pada sebagian besar bahasa pemrograman, nilai 0 melambangkan False dan nilai selain 0 menunjukkan True. • Tipe data boolean banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF ... THEN atau IF ... THEN ... ELSE
Tipe Data Array Array: • Elemen yang dapatmenampungnilai. • Nilaidapatberubah. • Dapatdigunakanberulang-ulang. • Dapatmenampunglebihdarisatunilai (jamak). • Memiliki Index untukdapatmengenalisetiapnilai yang tersimpan. • Tipedatanyaharussejenis
Tipe Data Record atau Struct • Record dikenal dalam bahasa Pascal/ Delphi sedangkan Struct dikenal dalam bahasa C++. • Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe berbeda-beda (heterogen).
Tipe Data Image • Image atau gambar atau citra merupakan tipe data grafik. • Tipe data ini biasa digunakan pada bahasa-bahasa pemrograman modern terutama yang berbasis visual.
Tipe Data Date Time • Variabel atau konstanta yang dideklarasikan denga tipe data Date dapat digunakan untuk menyimpan baik tanggal. • Contoh (pada bahasa pemrograman Visual Basic): Dim WaktuLahir As Date WaktuLahir = “01/01/1997” WaktuLahir = “13:03:05 AM” WaktuLahir = “02/23/1998 13:13:40 AM” WaktuLahir = #02/23/1998 13:13:40 AM#
Tipe Data Subrange • Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. • Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. • Contoh (dalam bahasa pemrograman Delphi): Type BatasIndeks = 1..20 RentangTahun = 1950..2030 Var Indeks : BatasIndeks Tahun : RentangTahun
Prosedur & Fungsi Prosedur: • Kumpulan statement atauperintah yang dapatdieksekusisecarabersamaandalamsatuwaktu. • Dapatdigunakanberulang-ulang. Fungsi: • Kumpulan statement atauperintah yang dapatdieksekusisecarabersamaandalamsatuwaktu. • Dapatdigunakanberulang-ulang.
Cont. • Dapatmengembalikannilai. • Banyakdigunakanuntukpenyelesaianoperasimatematikmaupunoperasi string. Scope and Lifetime of Variables • Scope variabel adalah bagaimana sebuah variabel dapat diakses dalam aplikasi yg terdiri dari modul-modul aplikasi. Contoh: sebuah variabel dideklarasikan sebagai Public pada module .Bas dapat diakses dalam form apapun dalam aplikasi tersebut
Cont. • Lifetime variabel adalah periode atau masa dimana sebuah variabel akan tetap ada dalam memori komputer. Contoh: local variabel pada sebuah prosedur akan dibuat/disimpan pada memori saat prosedur tersebut diekseskusi dan akan dihapus dari memori pada saat prosedur tersebut selesai dijalankan.