Kitab Suci

Just another iMe (iLearning Media) site

By

Konsep Compiler (Pascal) atau bahasa pemrograman compiler

1.      Pengertian Teknik Kompilasi

Arti kata teknik kompilasi, Teknik adalah suatu Metode atau Cara, sedangkan Kompilasi adalah suatu proses menggabungkan serta menterjemahkan sesuatu (source program) menjadi bentuk lain. Compile : to translate a program written in a high-level programming language into machine language

                Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain. Kompilator melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan interpreter.

 

Proses Penerjemahan Compiler

Compiler berbeda dengan interpreter, jika ada kesalahan pada proses input kode tidak akan bisa dilanjtkan proses penerjemahannya, dan akan muncul error messages yang harus segera diperbaiki jika ada kesalahan.

 

2.      Bahasa Pemrograman Compiler

Istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa tingkat-tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual C#, Java) menjadi bahasa mesin, biasanya dengan bahasa Assembly (assembler) sebagai perantara.

 

3.      Struktur Compiler

 

Bagian-bagian Compiler:

a.      Lexical Analiysis (scanner), Lexical Analysis sering disebut Scanner bertugas untuk mendekomposisi program sumber menjadi bagian-bagian kecil. Tugasnya secara detail adalah mengindentifikasi semua besaran yang membangun suatu bahasa; mentransformasikan, dan menentukan jenis token; menangani kesalahan dan tabel simbol. Contoh besaran Leksikal :

1.      Identifier, dapat berupa keyword atau nama kunci, seperti IF.. ELSE, BEGIN..END (pada Pascal), INTEGER (pascal), INT,FLOAT (bahasa C).

2.      Konstanta, terdiri dari besaran yang merupakan bilangan bulat (integer), bilangan pecahan (float/Real), boolean (true/false), karakter, string, dan sebagainya.

3.      Operator, terdiri dari operator aritematika ( + – * /), operator logika ( < = > ).

4.      Delimiter, berguna sebagai pemisah/pembatas, seperti kurung buka, kurung tutup, titik, koma,titik dua, titik-koma

5.      White Space, pemisah yang diabaikan oleh program seperti : enter, spasi, ganti baris, akhir file.

b.      Syntax Analysis, bertugas memeriksa kebenaran urutan dari token-token yang terbentuk oleh lexical analysis. Syntax Analysis sering disebut Parser, sedangkan proses pen-deteksian-nya (pengenalan token) disebut dengan parsing. Pengelompokan token-token kedalam class syntax (bentuk syntax), seperti procedure, Statement,dan  expression.

c.       Semantics Analyser, proses ini adalah proses kelanjutan dari proses kompilasi sebelumnya, yaitu analisa leksikal (scanning) dan analisa sintaks (parsing). Parser hanya akan mengenali simbol-simbol ‘=’, ‘+’ dan ‘*’, parser tidak mengetahui makna dari simbol-simbol tersebut, untuk mengenali simbol-simbol tersebut Compiler menggunakan Analysis Semantics. Pemeriksaan biasa dilakukan pada tabel indentifier, tabel  display, dan tabel block.

d.      Intermediate Code, bertujuan untuk memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin.

e.       Code Optimization, bertujuan untuk mengoptimalkan code, terdiri dari:

1.      Dependensi Optimasi, bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan cepat.

2.      Optimasi Lokal, adalah optimasi yang dilakukan hanya pada suatu blok dari source code.

3.      Optimasi Global, biasanya dilakukan dengan suatu graph terarah yang menunjukkan jalur yang mungkin selama ekskusi programa.

f.      Table Management,memiliki dua fungsi penting yaitu : (1) membantu pemeriksaan kebenaran semantik dari program sumber, (2) membantu dan mempermudah dalam pembuatan intermediate code dan proses pembangkitan kode. Ada beberapa jenis Tabel Informasi:

1.      Tabel identifier, berfungsi menampung semua identifier yang terdapat dalam program.

2.      Tabel Array, berfungsi menampung informasi tambahan untuk sebuah array.

3.      Tabel blok, mencatat variabel-variabel yang ada pada blok yang sama.

4.      Tabel Real, menyimpan elemen tabel bernilai real.

5.      Tabel string,menyimpan informasi string.

6.      Tabel display, mencatat blok yang aktif.

g.      Error Handling, yaitu kesalahan program dalam proses penerjemahan pada Compiler. Kesalahan program dapat berupa :

1.      Kesalahan Leksikal karena kesalahan dalam mengetik/mengeja.

2.      Kesalahan Sintaks karena kesalahan rumus, misalnya dalam operasi aritematika dengan tanda kurung yang jumlahnya kurang.

3.      Kesalahan Semantic karena tipe data yang salah atau variabel yang belum didefinisikan.

 

4.      Konsep Pascal

Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan, dirancang oleh Prof. Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis.

                                                                Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri dari:

 

1.      Judul program

2.      Blok program

a.       Bagian Deklarasi,  Bagian deklarasi digunakan bila didalam program menggunakan pengenal (identifier) yang dapat berupa label, konstanta, tipe, variable, prosedur dan fungsi.

1.      Deklarasi Konstanta, diawali dengan kata cadangan Const diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta. Data konstanta nilainya sudah ditentukan dan pasti, tidak dapat dirubah didalam program

2.      Deklarasi Variabel, Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya didalam program. Menggunakan kata cadangan Var sebagai judul didalam bagian deklarasi variable dan diikuti oleh satu atau lebih identifier yang dipisahkan koma, diikuti dengan titik dua dan tipe dari datanya diakhiri dengan titik koma.

3.      Deklarasi Tipe, Pascal menyediakan beberapa macam tipe data, yaitu :

1)      tipe data sederhana, terdiri dari :

a. tipe data standar : integer, real, char, string, Boolean.

b. Tipe data didefinisikan pemakai : enumerated atau scalar, subrange

2)      Tipe data terstruktur : array, record, file, set

3)      Tipe data penunjuk

4.      Deklarasi Label, Jika program menggunakan statement Goto untuk meloncat ke suatu statement yang tertentu, maka dibutuhkan suatu label pada statement yang dituju dan label tersebut harus di deklarasikan terlebih dahulu pada bagian deklarasi. Menggunakan kata cadangan Label diikuti oleh kumpulan identifier label dengan dipisahkan oleh koma dan diakhiri dengan titik koma.

5.      Deklarasi Prosedur, Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan dimanapun didalam program. Prosedur dibuat sendiri bilamana program akan dibagi-bagi menjadi beberapa blok-blok modul. Prosedur dibuat didalam program dengan cara mendeklarasikannya dibagian deklarasi prosedur. Menggunakan kata cadangan Procedure.

6.      Deklarasi Fungsi, Fungsi juga merupakan bagian program yang terpisah mirip dengan prosedur, tetapi ada beberapa perbedaannya. Kata cadangan yang digunakan Function.

 

By

Sejarah Perkembangan Processor

PERKEMBANGAN PROCESSOR DARI GENERASI KE GENERASI

PC didesain berdasar generasi-generasi CPU yang berbeda. Intel bukan satu-satunya perusahaan yang membuat CPU, meskipun yang menjadi pelopor diantara yang lain. Pada tiap generasi yang mendominasi adalah chip-chip Intel, tetapi pada generasi kelima terdapat beberapa pilihan selain chip Intel.

Processor merupakan bagian sangat penting dari sebuah komputer, yang berfungsi sebagai otak dari komputer. Tanpa processor komputer hanyalah sebuah mesin dungu yang tak bisa apa-apa. Processor yang kita pakai saat ini sudah sangat cepat sekali. Tentu saja untuk mencapai kecepatan sampai saat ini processor tersebut mengalami perkembangan. Nah berikut perkembangan processor mulai dari generasi 4004 microprocessor yang di pakai pada mesin penghitung Busicom sampai dengan intel Quad-core Xeon.

Perkembangan processor diawali oleh processor intel pada saat itu hanya satu² nya microprocessor yang ada. Tetapi pada saat ini sudah banyak beredar processor dari produsen yang lain, sehingga user sudah bisa mendapatkan processor yang beragam.

1. Microprocessor 4004 (1971)

 

Processor di awali pada tahun 1971 dimana intel mengeluarkan processor pertamanya yang di pakai pada mesin penghitung buscom. Ini adalah penemuan yang memulai memasukan system cerdas kedalam mesin. Processor ini dinamakan microprocessor 4004. Chip intel 4004 ini mengawali perkembangan CPU dengan mempelopori peletakan seluruh komponen mesin hitung dalam satu IC. Pada saat ini IC mengerjakan satu tugas saja.

2. Microprocessor 8008 (1972)
Pada tahun 1972 intel mengeluarkan microprocessor 8008 yang berkecepatan hitung 2 kali lipat dari MP sebelumnya. MP ini adalah mp 8 bit pertama. Mp ini juga di desain untuk mengerjakan satu pekerjaan saja.

3. Microprocessor 8080 (1974)

 

Pada tahun 1974 intel kembali mengeluarkan mp terbaru dengan seri 8080. Pada seri ini intel melakukan perubahan dari mp multivoltage menjadi triple voltage, teknologi yang di pakai NMOS, lebih cepat dari seri sebelumnya yang memakai teknologi PMOS. Mp ini adalah otak pertama bagi komputer yang bernama altair.Pada saat ini pengalamatan memory sudah sampai 64 kilobyte. Kecepatanya sampai 10X mp sebelumnya.
Tahun ini juga muncul mp dari produsen lain seperti MC6800 dari Motorola -1974, Z80 dari Zilog -1976 (merupakan dua rival berat), dan prosessor2 lain seri 6500 buatan MOST, Rockwell, Hyundai, WDC, NCR dst.

GENERASI 1 (Processor 8088 dan 8086)

 

Processor 8086 (1978) merupakan CPU 16 bit pertama Intel yang menggunakan bus sistem 16 bit. Tetapi perangkat keras 16 bit seperti motherboard saat itu terlalu mahal, dimana komputer mikro 8 bit merupakan standart. Pada 1979 Intel merancang ulang CPU sehingga sesuai dengan perangkat keras 8 bit yang ada. PC pertama (1981) mempunyai CPU 8088 ini. 8088 merupakan CPU 16 bit, tetapi hanya secara internal. Lebar bus data eksternal hanya 8 bit yang memberi kompatibelan dengan perangkat keras yang ada.

Sesungguhnya 8088 merupakan CPU 16/8 bit. Secara logika prosesor ini dapat diberi nama 8086SX. 8086 merupakan CPU pertama yang benar-benar 16 bit di keluarga ini.

GENERASI 2 Processor 80286

 

286 (1982) juga merupakan prosessor 16 bit. Prosessor ini mempunyai kemajuan yang relatif besar dibanding chip-chip generasi pertama. Frekuensi clock ditingkatkan, tetapi perbaikan yang utama ialah optimasi penanganan perintah. 286 menghasilkan kerja lebih banyak tiap tik clock daripada 8088/8086. Pada kecepatan awal (6 MHz) berunjuk kerja empat kali lebih baik dari 8086 pada 4.77 MHz. Belakangan diperkenalkan dengan kecepatan clock 8,10,dan 12 MHz yang digunakan pada IBM PC-AT (1984). Pembaharuan yang lain ialah kemampuan untuk bekerja pada protected mode/mode perlindungan – mode kerja baru dengan “24 bit virtual address mode”/mode pengalamatan virtual 24 bit, yang menegaskan arah perpindahan dari DOS ke Windows dan multitasking. Tetapi anda tidak dapat berganti dari protected kembali ke real mode / mode riil tanpa mere-boot PC, dan sistem operasi yang menggunakan hal ini hanyalah OS/2 saat itu.

GENERASI 3 Processor 80386 DX

 

 

386 diluncurkan 17 Oktober 1985. 80386 merupakan CPU 32 bit pertama. Dari titik pandang PC DOS tradisional, bukan sebuah revolusi. 286 yang bagus bekerja secepat 386SX pertama-walaupun menerapkan mode 32 bit. Prosessor ini dapat mengalamati memori hingga 4 GB dan mempunyai cara pengalamatan yang lebih baik daripada 286. 386 bekerja pada kecepatan clock 16,20, dan 33 MHz. Belakangan Cyrix dan AMD membuat clones/tiruan-tiruan yang bekerja pada 40 MHz. 386 mengenalkan mode kerja baru disamping mode real dan protected pada 286. Mode baru itu disebut virtual 8086 yang terbuka untuk multitasking karena CPU dapat membuat beberapa 8086 virtual di tiap lokasi memorinya sendiri-sendiri. 80386 merupakan CPU pertama berunjuk kerja baik dengan Windows versi- versi awal.

Processor 80386SX
Chip ini merupakan chip yang tidak lengkap yang sangat terkenal dari 386DX. Prosessor ini hanya mempunyai bus data eksternal 16 bit berbeda dengan DX yang 32 bit. Juga, SX hanya mempunyai jalur alamat 24. Oleh karena itu, prosessor ini hanya dapat mengalamati maksimum RAM 16 MB. Prosessor ini bukan 386 yang sesungguhnya, tetapi motherboard yang lebih murah membuatnya sangat terkenal.

GENERASI 4 Processor 80486 DX
80486 dikeluarkan 10 April 1989 dan bekerja dua kali lebih cepat dari pendahulunya. Hal ini dapat terjadi karena penanganan perintah-perintah x86 yang lebih cepat, lebih-lebih pada mode RISC. Pada saat yang sama kecepatan bus dinaikkan, tetapi 386DX dan 486DX merupakan chip 32 bit. Sesuatu yang baru dalam 486 ialah menjadikan satu math coprocessor/prosesor pembantu matematis.

Sebelumnya, math co-processor yang harus dipasang merupakan chip 387 yang terpisah, 486 juga mempunyai cache L1 8 KB.

Processor 80486 SX
Prosessor ini merupakan chip baru yang tidak lengkap. Math co-processor dihilangkan dibandingkan 486DX.

Processor Cyrix 486SLC
Cyrix dan Texas Instruments telah membuat serangkaian chip 486SLC. Chip-chip tersebut menggunakan kumpulan perintah yang sama seperti 486DX, dan bekerja secara internal 32 bit seperti DX. Tetapi secara eksternal bekerja hanya pada 16 bit (seperti 386SX). Oleh karena itu, chip-chip tersebut hanya menangani RAM 16 MB. Lagipula, hanya mempunyai cache internal 1 KB dan tidak ada mathematical co-processor. Sesungguhnya chip-chip tersebut hanya merupakan perbaikan 286/386SX. Chip-chip tersebut bukan merupakan chip-chip clone. Chip-chip tersebut mempunyai perbedaan yang mendasar dalam arsitekturnya jika dibandingkan dengan chip Intel.

Processor IBM 486SLC2
IBM mempunyai chip 486 buatan sendiri. Serangkaian chip tersebut diberi nama SLC2 dan SLC3. Yang terakhir dikenal sebagai Blue Lightning. Chip-chip ini dapat dibandingkan dengan 486SX Intel, karena tidak mempunyai mathematical coprocessor yang menjadi satu. Tetapi mempunyai cache internal 16 KB (bandingkan dengan Intel yang mempunyai 8 KB). Yang mengurangi unjuk kerjanya ialah antarmuka bus dari chip 386. SLC2 bekerja pada 25/50 MHz secara eksternal dan internal, sedangkan chip SLC3 bekerja pada 25/75 dan 33/100 MHz. IBM membuat chip-chip ini untuk PC mereka sendiri dengan fasilitas mereka sendiri, melesensi logiknya dari Intel.

By

KAPASITAS CHANEL TRANSMISI

Kapasitas Chanel Transmisi adalah suatu kapasitas atau ukuran suatu data yang dapat dikirimkan melalui media transmisi. Dalam kapasitas pengiriman data dinyatakan dalam bps (byte per second). Misal 1 bps, maka setiap detik besar data yang dikirimkan yaitu 1 byte. Selain itu juga ada Kbps (kilobytes per second), Mbps (Megabytes per second), Gbps (Gygabytes per second), dan sebagainya.

Chanel transmisi bisa diibaratkan sebagai sebuah pipa yang digunakan untuk mengirimkan data. Besar pipa tersebut biasanya disebut dengan istilah bandwith. Bandwith adalah kemampuan maksimum dari suatu media untuk menyalurkan informasi dalam satuan waktu detik (ps). Bandwith sendiri berbeda dengan kecepatan. Jika dalam kecepatan, maka dalam setiap detik yang dilihat adalah jaraknya. Namun dalam bandwith, dalam setiap detik maka yang dilihat adalah besar kapasitas datanya.

Misal, kecepatan suatu kendaraan misalnya 60 Km/jam. Maka dalam setiap jam, mobil tersebut mencapai jarak 60 Km. di Dalam bandwith tidak begitu. Misal, suatu Personal Computer terhubung dengan modem ke jaringan intenet dengan bandwith 100Mbps. Maka dalam setiap detik, data yang dapat dikirim sebesar 100 Megabytes, tanpa memperdulikan seberapa jauh antara sumber data dengan penerima data. Cara kerja bandwith ini bisa juga diibaratkan seperti kuota pada “Telkom Speedy”.

NarrowBand

Narrowband channel atau subvoice grade channel merupakan channel teransmisi dengan bandewith yang rendah, berkisar dari 50-300 bps. Biaya teransmisi lewat narrowband channel lebih rendah, tetapi biaya rata-rata per bitnya lebih mahal dengan  tingkat kemungkinan kesalahan yang besar. Jalur telegraph merupakan contoh dari narrowbad chanell, Narrowband bisa diibaratkan pita dengan saluran sempit dan kemampuan yang relatif kecil.

Kapasitas transmisi

50 – 300 bps

Biaya Total

Rendah

Biaya rata – rata

Tinggi

Tingkat kesalahan

Tinggi

Definisi narrowband sendiri berbeda – beda pada setiap industri. Contoh teknologi yang tergolong narrowband ini :

– Jalur telepon analog pada 3000 Hz, pada POTS (Plain Old Telephone Service), atau infrastruktur telepon biasa. Untuk memanfaatkan data digital pada teknologi ini ditambahkan perangkat modem, yang berfungsi untuk membawa data dari komputer digital.

– BRI ISDN pada 144 kbps. Dua jalur untuk suara dan data, masing-masing pada 64 kbps. Satu jalur untk sinyal 16 kbps.

Voiceband

Voiceband merupakan sebuah referensi range frekwensi suara manusia yang disalurkan pada jaringan telepon. Range frekwensi suara ini berkisar pada 200Hz – 12Khz. Chanel transmisi ini mempunyai bandwith yang lebih besar jika dibandingkan dengan narrowband chanel. Yaitu mencakup antara 300 – 500 bps. Contoh dari voiceband ini yaitu saluran telepon.

Kapasitas transmisi

300 – 500 bps

Biaya Total

Sedang

Biaya rata – rata

Sedang

Tingkat kesalahan

Sedang

Broadband / Wideband

Wide band channel atau broadband adalah channel teransmisi yang digunakan untuk teransmisi volume data yang besar. Chanel ini mempunyai Frekuensi jalur lebar yang mampu memindahkan lebih banyak data dan lebih tinggi dibandingkan dengan frekuensi yang lebih sempit (narrowband / voiceband). Kapasitas chanel ini mencapai 1 juta bps (satu juta bytes per second). Contoh teknologi yang tergolong dalam wideband dan broadband ini adalah :

– Pemancar layanan TV secara broadcast, menggunakan 6 MHz pada setiap saluran.

– Cable TV (CATV), atau TV Kabel dan Televisi pada 700MHz. Pemancaran siaran televisi dan TV Satelit. Juga termasuk untuk komunikasi data dan akses dari internet.

– ATM—sampai 13,22 Gbps. Layanan yang memiliki kemampuan besar untuk melakukan transfer data, video dan suara.

– SONET—sampai 13,22 Gbps, melalui layanan media fiber optic multiplexing berkecepatan tinggi.

– T-3 pada 44,7 Mbps, yang ekuivalen dengan rangkaian 28 T-1, melalui serat optik atau mikro digital.

Kapasitas transmisi

Bisa lebih dari 1 juta bps

Biaya Total

Tinggi

Biaya rata – rata

Rendah

Tingkat kesalahan

Rendah