Selasa, 27 November 2012

Memori dan Media Penyimpanan


JENIS-JENIS MEMORI
  •     Register Prosessor
  •     RAM (Random Access Memory)
  •     Cache Memory (SRAM) (Static RAM)
  •     Memori Fisik (DRAM) (Dynamic RAM)
  •     ROM (Read Only Memory)
  •     ROM BIOS, Flash Memory
  •     CMOS
  •     Perangkat penyimpanan berbasis Disk Magnetis
  •     Floppy Disks, Hard Disk
  •     Perangkat penyimpanan berbasis Disk Optik
  •     CD, DVD, HD-DVD, BLU-RAY
  •     Punched Card (kuno)

RAM
Beberapa jenis RAM. Yaitu: DIP, SIPP, SIMM 30 pin, SIMM 72 pin, DIMM, DDR DIMM.
  •      SRAM atau Static RAM
  •      NV-RAM atau Non-Volatile RAM
  •      DRAM atau Dynamic RAM

Fast Page Mode DRAM
EDO RAM atau Extended Data Out DRAM
XDR DRAM
SDRAM atau Synchronous DRAM
Ø  DDR SDRAM atau Double Data Rate Synchronous DRAM sekarang (2005) mulai digantikan dengan DDR2
Ø  RDRAM atau Rambus DRAM

Teknologi Semikonduktor
1.      T. BIPOLAR : Minicomputer & mainframe
2.      T. MOS          : Microcomputer
PMOS, NMOS, CMOS, SOS, VMOS, NHMOS
·         Faktor pemilihan Teknologi Semikonduktor :
Ø  Harga/Biaya
Ø  Konsumsi Power/Daya
Ø  Kecepatan Akses
Ø  Kehandalan & Daya Tahan
·         Caches Memory : metode input-output yang digunakan
Ø  LFU (Least Frequently Used)
Ø  LRU (Least Recently Used)

CMOS
·         Complimentary Metal Oxide Semiconductor
·         Nama bagi suatu kelompok besar sirkuit terpadu. Chip CMOS termasuk mikroprosesor, mikrokontroler, RAM statis dan gaya mendesain sirkuit digital lainnya.
·         Proses yang digunakan untuk mengimplementasikan sirkuit tersebut pada suatu IC
·         CMOS menggunakan kombinasi dari transistor MOSFET tipe ‘p’ dan juga transistor MOSFET tipe ‘n’

Magnetic Storage
  •         Pada awalnya, dibuat untuk merekam sinyal analog audio.
  •         Pada era modern, dibuat untuk merekam data digital
  •         Tidak seperti komputer modern, magnetic tape lebih sering digunakan sebagai secondary storage
  •         Diklasifikasikan menjadi: Sequential Access Memory, Random Access Memory
  •         Di masa depan, sebuah tipe magnetic storage, yang disebut MRAM, diproduksi untuk mampu menyimpan data pada magnetic bits berbasis efek GMR

Optic Storage
  •          Pada komputer, sound reproduction, dan video, sebuah optical disc adalah sebuah piringandatar bundar polycarbonate
  •          Data disimpan dalam bentuk pits (bumps) pada permukaan datarnya, biasanya disepanjang lingkaran spiral tunggal yang menutupi seluruh permukaan cakram (disk)
  •          Bahan khusus yang ada pada disk (biasanya aluminium) disinari oleh dioada laser dan kemudian memantulkan sinar laser tersebut ke optik pembaca

Hirarki Memori
·        
  •       Dalam arsitektur komputer adalah sebuah pedoman yang dilakukan oleh para perancang demi menyetarkan kapasitas, waktu akses, dan harga memori untuk tiap bitnya.
  •          Terdapat dua macam : Hierarki Memori Tradisional, Hierarki Memori Kontemporer

Urutan Memori Dari Yang Tercepat
  •          Register Mikroprosesor
  •          Cache Mikroprosesor
  •          Memoru Utama
  •          Cache Cakram Magnetis
  •          Cakram Magnetis
  •          Tape Magnetis
  •          Cakram optik


Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas

Sumber : bahan ajaran PTSI dan catatan perkuliahan

Sabtu, 17 November 2012

PROLOG



Adalah bahasa pemrograman logika atau disebut juga sebegai bahasa non-procedural. Namanya diambil dari bahasa perancis programmation en logique(pemrograman logika). Bahsa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataaan logika alih-alih rangkaian perintah untuk dijalankan komputer.
Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensional sebgai teknik, pencariannya seperti pada delphi, pascal, basic, cobol dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang disebut heuristik (heutistic) dengan menggunakan pohin logika.

Perbedaan Prolog dengan Bahasa lain
     Hampir semua bahasa pemrograman yang ada saat ini seperti pascal, C, fortran, disebut procedural languange untuk menggunakan bahasa tersebut diperlukan algoritma atau procedure yang dibuat untuk menyelesaikan masalah. Program dapat menjalankan procedure serta pengendalian program sepenuhnya ditentukan oleh programmer dan perhitungan yang dilakukan sesuai dengan procedure yang telah dibuat. Dengan kata lain, pemrograman harus memberi tahu komputer bagaimana komputer harus menyelesaikan masalah.
     Prolog mempunyai sifat-sifat yang berbeda dengan bahasa yang disebutkan diatas, prolog disebut sebagai object oriented language atau declarative language. Dalam prolog tidak terdapat prosedur, tapi hanya tampilan data-data object (fakta) yang akan diolah dengan relasi antar object tersebut yang membentuk suatu aturan. Aturan-aturan ini disebut HEURISTIK dan diperlukan dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah database.
     Pemrogaraman menentukan tujuan (goal) dan komputer akan menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya. Caranya dengan menggunakan “Formal Reasoning” yaitu membuktikan cocok tidaknya tujuan dengan data-data yang telah ada dan relasinya. Prolog memecahkan masalah seperti yang dilakukan oleh fikiran manusia.
     Dengan demikian, prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang procedure pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numeric.


Aplikasi Prolog
  •       Sistem Pakar (Expert System)
  •   Pengolahan bahasa alami (Natural Language Processing)
  •      Robotik
  •    Pengenalan Pola (Pattern Recognition)
  •      Belajar
  •      Game


Macam-macam Prolog

1. Strawberry Prolog
2. Visual Prolog
3. SWI Prolog
4. Turbo Prolog

Kelebihan Prolog :
·         Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensional sebagai teknik pencariannya seperti pada delphi, pascal, basic, cobol dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang disebut heuristik (heutistic) dengan menggunakan pohon logika.
·         Melakukan komputasi rumit pada data yang kompleks.
·         Mengekspresikan algoritma dengan baik.
·         Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
·         Mengembangkan dan memodifikasi dirinya sehingga sebuaah program dapat “belajar” melalui informasi yang didapat selama program dijalankan.
·         Prolog mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.

Kekurangan Prolog
    Pemborosan dalam pengalokasian memori sehingga program berjalan menjadi lambat.

Jumat, 02 November 2012

Tek.Pemrog.Terstruktur


Bentuk data
  •      Data variabel : data yang nilainya dapat berubah didalam program
  •     Konstanta      : suatu data yang nilainya tidak tergantung dari inputan yang dibaca(bernilai tetap)

-      Literal numerik            : maks 18 digit, boleh ada tanda plus
-      Literal bukan numerik : maks 20 karakter, boleh terdiri dari kumpulan karakter kecuali karakter petik.
-      Figurative constant     : termasuk dalam cobol reserved word

Operator Aritmatika

**    : pangkat
*, /   : kali, bagi
+, -  : tambah, kurang

Operator Relational

<        : lebih kecil
>        : lebih besar
=        : sama dengan
Not > : lebih kecil atau sama dengan
Not < : lebih besar atau sama dengan
Not = : tidak sama dengan

Identification division : merupakan divisi yang pertama dalam program cobol dan paling sederhana. Pada divisi ini berisi keterangan mengenai program yang dibuat.

Bentuk umum : 

IDENTIFICATION DIVISION
PROGRAM-ID.<nama_program>.
[AUTHOR.<nama_programmer>.]
[INSTALLATION<nama_instalasi>.]
[DATE-WRITTEN.<tanggal_program_dibuat>.]
[DATE-COMPILED<tanggal_program_dikompilasi>.]
[SECURITY.<sifat_program>.]

Environment division : berisi dokumentasi informasi mengenai peralatan
  •     Configuration section : diterangkan mengenai jenis-jenis komputer yang digunakan
  •     Input-output section


Þ   Source-computer : untuk menunjukan nama komputer yang digunakan

Þ   Object-computer


Þ   Special names : untuk membuat nama khusus yang menghubungi nama mnemonic implementor dengan nama mnemonic yang dibuat programmer

Þ   Printer is clause : untuk menghubungkan nama mnemonic yang dibuat oleh programmer dengan alat pencetak printer


Þ   Currency sign is clause : untuk menunjukkan tanda mata uang yang digunakan dengan default “$”

Þ   DECIMAL POINT IS COMMA : suatu clause yang memerintahkan kepada compiler untuk merubah default decimal point yang bernilai titik (.) menjadi koma (,)

Þ   INPUT-OUTPUT SECTION : digunakan jika dalam pembuatan program mempergunakan file dengan media penyimpanan sekunder baik berbentuk disk maupun printer

File control entri
  •     Sequential file (berurut) : jika ada data baru yang dimasukan, maka jadi record urutan akhir
  •     Indexed file                    : organisasi file yang datanya dapat diambil langsung diposisi record yang mempunyai nilai kunci tertentu yang unik
  •      Relative file                    : organisasi file yang tiap-tiap recordnya dibedakan dengan suatu nomer record relative & memungkinkan pencarian data cepat bila sudah diketahui nomer record posisi datanya
   sumber : catatan kuliah

Struktur Organisasi Data


Sistem Berkas

          Mekanisme penyimpanan online serta untuk akses baik data maupun program yang berada dalam sistem operasi
Berkas : kumpulan informasi berkas yang diberi nama dan direkam pada penyimpanan sekunder

File : data
Þ Text file           : .doc, .text, .bin
Þ Source file       : .pas, .java, .asm
Þ Object file       : .obj
Þ Executable file : .exe, .com
Þ Batch              : .bat, .sh
Þ Library            : .lib, .dll, .a
Þ Archive            : .arc, .zip, .rar
Þ Print,gambar    : .ps, .dvi, .git

Atribut pada berkas :
  •   Nama
  •  Waktu
  •  Type
  • Ukuran (size)
  •  Proteksi

Operasi pada berkas :
  •       Membuat
  •       Menulis
  •       Menempatkan kembali
  •      Membaca
  •       Menghapus
  •       Memendekkan


Contoh klasifikasi file

1.    Master file        : tagihan telfon, transaksi bank
2.    Transaction file : perbaikan/update tentang data pribadi
3.    Report file         : transkrip nilai
4.    Work file           : temporary file
5.    Program file      : saat menginstall file
6.    Text file            : notepad
7.    Dump file          : .log untuk mencatat berbagai macam transaksi agar bisa mencek kesalahan yang ada
8.    Library file
9.    History file        : transaction file + work file
        : tidak berkurang data

Model akses file

·         Input : hanya dapat dibaca program
·         Output : hanya dapat ditulis oleh program
·         Input/output : dibaca dan ditulis oleh program

Organisasi file

·         Direct access : pengaksesan record yang langsung tanpa mengakses seluruh record
·         Sequential access : cara pengaksesan record yang didahului pengaksesan record-record didepannya

Cara memilih organisasi file

  •      Model penggunaan
  •       Model operasi file



Media penyimpanan
                   Peralatan fisik yang menyimpan representasi data
Ø  Primary memory : internal
Ø  Secondary memory : eksternal

Berkas data
  •     Volatile storage : hilang jika listrik padam
  •     Nonvolatile storage : tidak hilang jika listrik padam


Primary memory

  •     RAM        : volatile      → dapat ditulis dan dibaca
  •      ROM        : nonvolatile → hanya dapat dibaca
  •      PROM     : hanya dapat diprogram
  •      EPROM   : dapat dihapus dan diprogram ulang
  •     EEPROM : dapat dihapus secara elektik


Secondary memory
  •     SASD(serial/sequential access storage device) : magnetic type, punched card
  •     DASD(direct access storage device)                : magnetic disk, floppy disk
ssumber : catatan kulaih



QBasic


REM

            Singkatan dari remark, sebagai keterangan dari bagian program instruksi ini tidak mempengaruhi jalannya program. REM juga dapat ditulis dengan tanda aphostrophe atau tanda kutip satu (‘).
Contoh : 10 REM menghitung keliling dan luas lingkaran
                20 R = 10
                30 ‘menghitung keliling
                40 K = 3.14 * (2*R)
                50 ‘menghitung luas
                60 L = 3.14 * (R*R)
                70 ‘cetak
                80 print K : print L : END

Restore

            Nilai yang tertera pada instruksi DATA hanya dapat dibaca satu kali saja dengan instruksi READ. Agar nilai tersebut dapat dibaca kembali maka digunakan instruksi ini
Contoh :
10   DATA 70, 80, 90
20   READ nilai1, nilai2, nilai3
30   DATA “Amin”, “Irma”, “Sinta”
40   READ nama 1$, nama 2$, nama 3$
50   print nama 1$, nilai1
60   print nama 2$, nilai2
70   print nama 3$, nilai3
80   RESTORE
90   READ nama 4$, nama 5$, nama 6$
100 READ n1, n2, n3
110 print n3, nama 4$
120 END

GOTO

            Digunakan untuk menuju kenomer baris yang dituju
Contoh :
10 x = 5
20 print x
30 GoTo 60
40 print “selesai”
50 END
60 print x*2
70 GoTo 40

If-then 

            Digunakan untuk memeriksa sebuah kondisi dan mengeksekusi satu atau lebih baris program, jika dan hanya jika kondisi terpenuhi
Contoh :
10 DATA 80, 100, 80
20 READ N1, N2, N3
30 LET A = (N1*30/100)
40 LET B = (N2*50/100)
50 LET C = (N3*20/100)
60 IF x >= 60 THEN
70 print “MAHASISWA GAGAL”
80 GoTO 30

If-then-else

            Digunakan untuk memeriksa suatu kondisi dan mengeksekusi satu atau lebih baris program. Jika kondisi terpenuhi, dan pengeksekusi satu atau lebih baris program yang lain jika kondisi terpenuhi.
Contoh :
            Input “Nilai = ”; Nilai
            If nilai >6 then st$ = “lulus” else
              St$ “gagal”
            Print “siswa tersebut : ”; st$
            END

If-then-else dengan banyak baris
Bentuk umumnya :
If syarat then
            Blok instruksi
Else if syarat then
            Blok instruksi
Else
            Blok instruksi
End

sumber : catatan kuliah

Algoritma dan Pemrograman 2C


Linear List

*      Suatu struktur yang merupakan terurut dari satuan data atau dari record
*      Elemen yang terdapat dalam daftar disebut simbol/node
*      Daftar disebut linear karena elemen nampak seperti baris, bahwa setiap simpul/ (kecuali simpul pertama dan terakhir) selalu memiliki elemen penerus langsung (suksesor) dan elemen pendahuluan langsung (predesor)
A = [a1,a2….aT]
Jika T=0, maka A
Dikatakan sebagai
“null list” (list hampa)
*      Suatu elemen dapat dihapus (delete) dari sembarang posisi pada linear list
*      Suatu elemen baru dapat dimasukkan (insertion) kedalam list dan dapat menepati sembarang posisi pada list tersebut
*      Dapat berkurang atau bertambah setiap saat
*      Contoh : file merupakan linear list yang elemen-elemennya berupa record

Stack

v  Bentuk khusus dari linier list
v  Operasi penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yaitu posisi akhir dari list, disebut puncak atau disebut sebagai “TOPS(S)”
v  Prinsip lifo (last in first out ) atau terakhir masuk pertama keluar
v  Setiap elemen tidak dapat dikeluarkan (POP) sebelum semua elemen diatasnya dikeluarkan
v  Misalnya diberikan stack S sebagai berikut
S = [s1,s2……sT] → maka Top(S) = sT
·         Untuk menunjukkan jumlah elemen suatu stack digunakan notasi NOEL(S)
Dari stack maka NOEL(S) = T
NOEL(S) menghasilkan nilai integer

Operasi pada stack
1. Create (stack)
2. Isempty (stack)
3. Push (elemen,stack)
4. POP

1.Create(S)
     Operator yang berfungsi untuk membuat sebuah stack kosong (hampa)
     Noel (create(S)) = 0 dan
     TOP (create (S)) = null/tidak terdefinisi

2. Isempty(S)
     Operator yang berfungsi untuk menentukan apakah suatu stack adalah stack kosong(hampa) atau tidak operasinya akan bernilai boolean
     Isempty(S) = true, jika S adalah stack
     Kosong atau noel(S) ≠ 0
     Catatan : isempty(create(S)) = true

3. Push(E,S)

  •          Berfungsi untuk menambahkan suatu elemen kedalam stack notasi push (e,s). Artinya : menambahkan elemen E kedalam stack S

  •          Elemen yang baru masuk ini akan menempati posisi top, jadi  top (push(E,S)) = E
  •          Akibat dari operasi ini sejumlah elemen dalam stack akan bertambah artinya NOEL(S)

Menjadi lebih besar atau stack menjadi tidak kosong (Isempty(push(E,S))= false)

4.POP(S)

§  Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack, notasinya POP(S)
§  Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi top
§  Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang 1 dan elemen pada posisi top akan bertambah
§  Operator ini tidak dapat digunakan pada stack kosong,artinya :
  POP(create(S)) = error condition dan
  POP(push(b,s)) = s
  Catatan : TOP(push(E,S)) = E

Sumber : catatan Kuliah