Sabtu, 31 Oktober 2009

Compiler Sonstruction Tools


Parser Generator
tools yang menghasilkan Syntax Analyzer (parser), dari input yang berdasarkan Context Free Grammar.

Scanner Generator
tools menghasilkan lexical Analyzer (scanner), dari spesifikasi yang berdasarkan regular expression.

Syntax Directed translation Engine
tools yang dapat menghasilkan sekumpulan routine yang dapat ‘berjalan’ (run) di parse tree dan menghasilkan intermediate code.

Automatic Code Generator
tools untuk mengambil kumpulan rules yang mendefinisikan penerjemahan dari setiap operasi dari intermediate language ke dalam machine language dari target machine.

Data Flow Engine
tools untuk mengumpulkan informasi tentang bagaimana values ditransmisikan dari suatu bagian program ke bagian program lainnya, untuk keperluan “data flow analysis” pada tahap optimasi code.


Sumber : univ binus


Jumat, 30 Oktober 2009

Fungsi Firewall


Fungsi firewall, antara lain :

1. Mengontrol dan mengawasi paket data yang mengalir di jaringan
Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat.


Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :
a. Alamat IP dari komputer sumber
b. Port TCP/UDP sumber dari sumber
c. Alamat IP dari komputer tujuan
d. Port TCP/UDP tujuan data pada komputer tujuan
e. Informasi dari header yang disimpan dalam paket data


2. Melakukan autentifikasi terhadap akses.

3. Applikasi proxy
Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi



4. Mencatat semua kejadian di jaringan
Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini memungkinkan membantu sebagai pendeteksian dini akan kemungkinan penjebolan jaringan.


Sumber : univ sriwijaya

Kamis, 29 Oktober 2009

Tahapan kompilasi


Tahap analisis:
1. Lexical analyzer
2. Syntax analyzer
3. Semantic analyzer.


Tahap sintesis:
1. Intermediate code generator
2. Code optimizer
3. Code generator.


Symbol table manager
Untuk membuat record dari identifier yang digunakan dalam source program dan mengumpulkan atribut yang menyangkut setiap identifier


Error Handler
Bagian kompiler yang menangani dan melaporkan kesalahan yang ditemukan.


Sumber : univ binus

Rabu, 28 Oktober 2009

Cousins of the compiler

Preprocessor

Untuk menggabungkan skeletal program yang menjadi input untuk compiler, dan melakukan fungsi-fungsi macro processing, file inclusion, rational preprocessor, dan language extensions.

Assembler

Melakukan pemrosesan terhadap output dari compiler yang menghasilkan kode-kode biner yang belum memiliki alamat memory (memory addressing)

Loader and link-editor

Melakukan penggabungan antara relocatable machine code dengan library ataupun relocatable object files untuk mendapatkan absolut machine code.


Sumber : univ binus

Selasa, 27 Oktober 2009

PEMBAHASAN IPTABLES


Iptables mengizinkan user untuk mengontrol sepenuhnya jaringan melalui paket IP dengan system LINUX yang diimplementasikan pada kernel Linux. Sebuah kebijakan atau Policy dapat dibuat dengan iptables sebagai polisi lalulintas jaringan. Sebuah policy pada iptables dibuat berdasarkan sekumpulan peraturan yang diberikan pada kernel untuk mengatur setiap paket yang datang. Pada iptable ada istilah yang disebut dengan Ipchain yang merupakan daftar aturan bawaan dalam Iptables. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.



Gambar.Diagram Perjalanan Paket data pada IPTables





Pada diagram tersebut, persegipanjang yaitu filter INPUT, filter OUTPUT, dan filter FORWARD menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada salah satu persegipanjang diantara IPchains, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.
Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default ACCEPT.
Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:


Perjalanan paket yang diforward ke host yang lain
1. Paket berada pada jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me- mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.
4. Paket masuk ke chain PREROUTING pada tabel NAT. Chain ini fungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
7. Paket masuk ke chain POSTROUTING pada tabel NAT. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan.
9. Paket kembali berada pada jaringan fisik.


Perjalanan paket yang ditujukan bagi host lokal
1. Paket berada dalam jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel NAT.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
7. Paket akan diterima oleh aplikasi lokal.


Perjalanan paket yang berasal dari host lokal
1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel NAT.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan
8. Paket berada pada jaringan fisik.



Sumber : univ sriwijaya

Senin, 26 Oktober 2009

Server side dan Client side


Halaman web statis telah berubah menjadi dinamis. Dinamis artinya dapat menampilkan isi yang berbeda ketika mengakses pada waktu yang berbeda pula. Pada dasarnya saat ini pemrograman web dibagi menjadi 2 kelompok, yaitu : client side programming (HTML, CSS, Javascript, Jscript, VBScript) dan server side programming (PHP,ASP,JavaServelet, SGI, Perl)


Perbedaan utama server-side programming dan client server programming adalah tempat mengeksekusi skripnya. Pada client server programming, skrip dieksekusi di browser sedangkan server side programming dieksekusi di client (web browser)


Karakteristik client –side scripting :
1. Kode program didownload bersama dengan halaman web
2. Bersifat interpreter dan diterjemahkan oleh browser
3. Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTML


Karakteristik server side programming :
1. Ada client yang meminta request
2. Eksekusi program dilakukan di server
3. Mengirimkan hasil ke client


Keuntungan server side programming :
Cross platform : tidak tergantung dengan browser tertentu
1. Optimasi danpemeliharaan dilakukan di browser
2. Dapat mengakses database dan tidak tergantung dengan keamanan
3. Menambah kekuatan server
4. Kode program aman


Aplikasi yang sering digunakan oleh server side programming
1. Search engines
2. Database access
3. Chat & bulletin board service


Terkait dengan kebutuhan user yang ingin web yang lebih interakti f, nyaman, cepat dan mudha digunakan, maka saat ini muncullah teknik pemrograman baru disebut AJAX (Asynchronous JavaScript And XML). Dikenal juga dengan istilah Web 2.0. Pasti anda tertarik mempelajarinya. Sebab dengan teknik ini sebagian besar interaksi pada computer webserver, melakukan pertukaran data dengan server dibelakang layar sehingga halaman web dapat tidak harus dibaca ulang setiap kali pengguna melakukan perubahan.


Sumber : Wikipedia Bahasa Indonesia

Minggu, 25 Oktober 2009

C sebagai Bahasa Tingkat Menengah


Dalam beberapa literatur, C digolongkan sebagai bahasa pemrograman tingkat menengah (medium level language). Namun Dennis M. Ritchie sendiri lebih senang mengatakan bahwa C adalah relively low level language. Penggolongan C kedalam bahasa tingkat menengah bukan berarti menyatakan C kurang baik jika dibandingkan dengan bahasa tingkat tinggi (high level language) sepeti Pascal ataupun Basic.

Penempatan ini hanya menegaskan bahwa C bukan bahasa pemrograman yang berorientasi pada mesin, yang merupakan ciri bahasa tingkat rendah, melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat, secepat bahasa mesin. Inilah salah satu kelebihan C yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

Sabtu, 24 Oktober 2009

FIREWALL


Firewall adalah sebuah sistem pengaman, jadi firewall bisa berupa apapun baik hardware maupun software. Firewall dapat digunakan untuk memfilter paket-paket dari luar dan dalam jaringan di mana ia berada. Jika pada kondisi normal semua orang dari luar jaringan anda dapat bermain-main ke komputer anda, dengan firewall semua itu dapat diatasi dengan mudah.


Firewall merupakan perangkat jaringan yang berada di dalam kategori perangkat Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7 OSI layer. Seperti diketahui, layer 3 adalah layer yang mengurus masalah pengalamatan IP, dan layer 4 adalah menangani permasalahan port-port komunikasi (TCP/UDP). Pada kebanyakan firewall, filtering belum bisa dilakukan pada level data link layer atau layer 2 pada 7 OSI layer. Jadi dengan demikian, sistem pengalamatan MAC dan frame-frame data belum bisa difilter. Maka dari itu, kebanyakan firewall pada umumnya melakukan filtering dan pembatasan berdasarkan pada alamat IP dan nomor port komunikasi yang ingin dituju atau diterimanya.


Firewall yang sederhana biasanya tidak memiliki kemampuan melakukan filterin terhadap paket berdasarkan isi dari paket tersebut. Sebagai contoh, firewall tidak memiliki kemampuan melakukan filtering terhadap e-mail bervirus yang Anda download atau terhadap halaman web yang tidak pantas untuk dibuka. Yang bisa dilakukan firewall adalah melakukan blokir terhadap alamat IP dari mail server yang mengirimkan virus atau alamat halaman web yang dilarang untuk dibuka. Dengan kata lain, firewall merupakan sistem pertahanan yang paling depan untuk jaringan Anda.


Tetapi, apakah hanya sampai di situ saja fungsi dari perangkat firewall? Ternyata banyak firewall yang memiliki kelebihan lain selain daripada filtering IP address saja. Dengan kemampuannya membaca dan menganalisis paket-paket data yang masuk pada level IP, maka firewall pada umumnya memiliki kemampuan melakukan translasi IP address. Translasi di sini maksudnya adalah proses mengubah sebuah alamat IP dari sebuah alamat yang dikenal oleh jaringan diluar jaringan pribadi Anda, menjadi alamat yang hanya dapat dikenal dan dicapai dari jaringan lokal saja. Kemampuan ini kemudian menjadi sebuah fasilitas standar dari setiap firewall yang ada di dunia ini. Fasilitas ini sering kita kenal dengan istilah Network Address Translation (NAT).




Sumber : univ sriwijaya

Jumat, 23 Oktober 2009

ANALISIS SEMANTIK



Analisis Semantik adalah proses setelah melewati proses scanning dan parsing. Pada tahap ini dilakukan pengecekan pada struktur akhir yang telah diperoleh dan diperiksa kesesuaiannya dengan komponen program yang ada. Secara global, fungsi dari semantic analyzer adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber.

Contoh : A := (A + B)*(C + D)


Maka penganalisis semantik harus mampu menentukan aksi apa yang akan dilakukan oleh operator-operator tersebut. Dalam sebuah proses kompilasi, andaikata parser menjumpai ekspresi seperti diatas, parser hanya akan mengenali simbol-simbol ':=' , '+' , dan '*'. Parser tidak tahu makna apa yang tersimpan dibalik simbol simbol tersebut. Untuk mengenalinya, kompiler akan memanggil rutin semantik yang akan memeriksa :
 Apakah variabel-variabel yang ada telah didefinisikan sebelumnya?
 Apakah variabel-variabel tersebut tipenya sama?
 Apakah operand yang akan dioperasikan tersebut ada nilainya?, dan seterusnya.


Fungsi ini terkait dengan tabel simbol. Pengecekan yang dilakukan oleh analisis semantik adalah sebagai berikut :
a) Memeriksa keberlakuan nama-nama meliputi pemeriksaan berikut.
 Duplikasi : pada tahap ini dilakukan pengecekan apakah sebuah nama terjadi pendefinisian lebih dari dua kali. Pengecekan dilakukan pada bagian pengelola blok.
 Terdefinisi : Melakukan pengecekan apakah sebuah nama yang dipakai pada tubuh program sudah terdefinisi atau belum. Pengecekan dilakukan pada semua tempat kecuali blok.
b) Memeriksa tipe. Melakukan pemeriksaan terhadap kesesuaian tipe dalam statement-statement yang ada. Misalkan bila terdapat suatu operasi, diperiksa tipe operand. Contohnya bila ekspresi yang mengikuti instruksi IF berarti tipenya boolean, akan diperiksa tipe identifier dan tipe ekspresi. Bila ada operasi antara dua operand, maka tipe operand pertama harus bisa dioperasikan dengan operand kedua.


Analisa semantik sering juga digabungkan pada pembangkitan kode antara yang menghasilkan Output intermediate code, yang nantinya akan digunakan pada proses kompilasi berikutnya. Analisis semantik ini memanfaatkan pohon sintaks yang dihasilkan pada proses parsing (analisa sintaks). Fungsi dari analisa semantik adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber. Untuk dapat menjalankan fungsi tersebut dengan baik, semantic analyzer seringkali menggunakan tabel simbol. Pemeriksaan bisa dilakukan pada tabel identifier, tabel display dan tabel blok, misal pada field link.



Sumber : Wikipedia Bahasa Indonesia

Kamis, 22 Oktober 2009

Cara Install MATLAB 7.1 di Windows 7 Enterprise


Anda sudah mengenal Software Engineering – MATLAB??? Bagi yang sering bergelut dengan dunia teknik, matematika, atau bidang ilmu eksakta lainnya, saya yakin anda mengenal dengan software ini - MATLAB 7.1. Software Engineering ini bersifat UnFreeware alias Tidak Gratis – Commercial. MATLAB dapat anda install/jalankan pada beberapa Sistem Operasi seperti OS UNIX, MAC, dan Windows (penulis telah mencobanya di OS Windows 7, dan berjalan dengan stabil). Informasi selengkapnya anda dapat baca di www.mathworks.com
Bagi user Windows Vista/Windows 7 mungkin pernah mengalami masalah dengan MATLAB saat akan menjalankannya di windows vista/windows 7, jangan takut karena sekarang sudah ada tool yang dapat anda gunakan untuk mengatasi masalah ini – compability program in windows 7, seperti gambar dibawah ini:




Jadi, anda tidak perlu lagi mengset manual access permission file sistem windows 7/vista. Dengan tool windows 7 ini, anda dapat dengan mudah setting compability program windows 7. Berikut Tutorial Lengkap/Cara Install Matlab di Windows 7:
### Jika anda belum mempunyai software matlab, silahkan download di Situs File Sharing - IDWS, ukuran filenya sekitar 1.24GB #1 Double klik file setup.exe, sehingga muncul window baru lalu isi itemnya sesuai dengan nama, company, dan isi dengan serial yang disertakan (di windows 7, interface/tampilan pada saat instalasi tidak seperti pada windows xp)




#2 Tekan tombol Next >, lalu akan muncul persetujuan (License Agreement) klik Yes >> Next >




#3 Pada saat muncul tampilan seperti dibawah ini, anda mempunyai 2 pilihan instalasi: Typical atau Custom. Pilih saja Typical >> Next >




#4 Kemudian akan muncul konfirmasi yang meminta anda untuk memilih destination folder program matlab, lalu klik tombol Next >

karena pertama kalinya anda install matlab, maka akan muncul window konfirmasi:



Klik tombol Yes >> Next >




#5 Selanjutnya, tunggu sampai proses instalasinya 100% lalu akan muncul window konfirmasi yang meminta anda untuk setting default program-associate files lalu klik Yes to All






#6 Kemudian akan muncul window terakhir jika anda berhasil menginstall maltab seperti gambar dibawah lalu tekan tombol Next >




#7 Sekarang, Jalankan matlab dan perhatikan nanti akan muncul pesan error seperti gambar diatas tadi.


#8 Download tool – disini, lalu install ke komputer anda.


#9 Jalankan sekali lagi matlab dan perhatikan, sekarang anda sudah bisa ber-matlab ria :)




Silahkan sharing pengalaman anda saat menginstall matlab di Windows XP, Vista ataupun Windows 7!!!



Sumber:http://triktipskomet.blogspot.com/2009/09/cara-install-matlab-71-di-windows-7.html

Selasa, 20 Oktober 2009

IPTables


IPTables merupakan sebuah fasilitas tambahan yang tersedia pada setiap perangkat komputer yang diinstali dengan sistem operasi Linux dan resmi diluncurkan untuk massal pada LINUX 2.4 kernel pada January 2001 (www.netfilter.org). Anda harus mengaktifkannya terlebih dahulu fitur ini pada saat melakukan kompilasi kernel untuk dapat menggunakannya. IPTables merupakan fasilitas tambahan yang memiliki tugas untuk menjaga keamanan perangkat komputer anda dalam jaringan. Atau dengan kata lain, IPTables merupakan sebuah firewall atau program IP filter build-in yang disediakan oleh kernel Linux untuk tetap menjaga agar perangkat anda aman dalam berkomunikasi.
Mengapa Linux bersusah payah menyediakan fasilitas ini untuk Anda? Karena dari dulu Linux memang terkenal sebagai operating system yang unggul dalam segi keamanannya. Mulai dari kernel Linux versi 2.0, Linux sudah memberikan fasilitas penjaga keamanan berupa fasilitas bernama ipfwdm. Kemudian pada kernal 2.2, fasilitas bernama ipchain diimplementasikan di dalamnya dan menawarkan perkembangan yang sangat signifikan dalam menjaga keamanan.
Sejak kernel Linux memasuki versi 2.4, sistem firewall yang baru diterapkan di dalamnya. Semua jenis firewall open source yang ada seperti ipfwadm dan ipchains dapat berjalan di atasnya. Tidak ketinggalan juga, IPTables yang jauh lebih baru dan canggih dibandingkan keduanya juga bisa berjalan di atasnya. Maka itu, IPTables sangatlah perlu untuk dipelajari untuk Anda yang sedang mempelajari operating system Linux atau bahkan yang sudah menggunakannya. Karena jika menguasai IPTables, mengamankan jaringan Anda atau jaringan pribadi orang lain menjadi lebih hebat.
Fitur yang dimiliki IPTables:
1. Connection Tracking Capability yaitu kemampuan unutk inspeksi paket serta bekerja dengan icmp dan udp sebagaimana koneksi TCP.
2. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi built in chain (input,output, dan forward).
3. Rate-Limited connection dan logging capability. Kita dapat membatasi usaha-usaha koneksi sebagai tindakan preventif serangan Syn flooding denial of services(DOS).
4. Kemampuan untuk memfilter flag-flag dan opsi tcp dan address-address MAC.


Sumber : univ sriwijaya

Senin, 19 Oktober 2009

BAHASA TINGKAT RENDAH


Assembler adalah sebuah program komputer untuk menterjemahkan Bahasa Assembly --intinya, sebuah representasi menmonic dari bahasa mesin — menjadi kode objek. Sebuah assembler silang (lihat kompilator silang) memproduksi kode untuk satu jenis prosesor, tetapi dapat dijalankan di prosesor lain.


Selain menterjemahkan instruksi assembly mnemonic menjadi opcode, assembler juga menyediakan kemampuan untuk menggunakan nama simbolik untuk lokasi memori (menghindari penghitungan rumit dan pembaruan alamat secara manual ketika sebuah program diubah sedikit), dan fasilitas makro untuk melakukan penggantian textual — biasanya digunakan untuk menggantikan suatu urutan instruksi yang pendek untuk dijalankan perbaris dan bukan dalam sebuah subrutin.


Assembler jauh lebih mudah ditulis daripada kompilator untuk bahasa tingkat-tinggi, dan telah tersedia sejak 1950-an. Assembler modern, terutama untuk arsitektur berdasarkan RISC, seperti arsitektur MIPS, Sun SPARC, dan HP PA-RISC, mengoptimalkan penjadwalan instruksi untuk menggunakan pipeline CPU secara efisien.



Bahasa yang berorientasi mesin, dimana tiap instruksi sama atau menyerupai instruksi mesin.


Fasilitas umum bahasa tingkat rendah:

1. Kode MNEMONICS digunakan seagai pengganti kode mesin

2. Alamat simbolis sering kali digunakan sebagai pengganti alamat mesin sebenarnya


Bahasa tingkat rendah harus diterjemahkan kedalam bahasa mesin sebelum digunakan, sebab walau programmer lebih mudah bekerja dengannya namun ia tidak dapat digunakan oleh mesin dalam bentuk simbolis/mnemonics








Bahasa assembly
a.Tiap pabrikan computer biasanya membuat bahasa tingkat rendah yang mendekati kesesuiannya dengan bahasa mesintertentu yang digunakan pabrikan tersebut, bahasa ini disebut bahasa assembly. Pabrik anter sebut memberikan suatu program yang disebut assembler atau assembler program. Assembler yang menterjemahkan assembly language assembly kedalam machine code.
b.Program yang ditulis dalam assembly language disebut source program source program, program yang telah diterjemahkan dalam machine code disebut object program object program.
Bahasa psoudo psoudo-assembly
Bahasa assembly yang tergantung mesin yang dibuat untuk tujuan pendidikan



Sumber : Wikipedia Bahasa Indonesia

Minggu, 18 Oktober 2009

BAHASA TINGKAT TINGGI


Bahasa pemrograman tingkat tinggi adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa pemrograman tingkat rendah memiliki sifat lebih mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya pengaksesan memori.




Bahasa tingkat tinggi :
a. bersifat machine independent (harus bisa membuat bahasa tinggi yang sama berjalan pada mesin yg berbeda) dan untuk menjadi problem oriented language (POL) yakni merefleksikan jenis masalah yg dipecahkan
b. program-program sumber ditulis dalam statement yang sama dengan bahasa inggris.
c. Menulis program dalam bahasa yg portable, hingga :
1. pemakai program dapat beralih ke komputer yg lebih baru / lebih besar tanpa menulis ulang program
2. pemakai komputer yg berbeda dapat membagi program
3. organisasi yg menghasilkan software untuk menjual program yg sama kepada pemakai yg bereda tanpa menulis ulang program untuk tiap jenis komputer.




FASILITAS UMUM BAHASA TINGKAT TINGGI
a. memiliki kosa kata, simbol dan kalimat yang ekstensif
b. Satu statement dalam bahasa tingkat tinggi diterjemahkan keseluruhan statementnya ke dalam banyak instruksi mesin. Penterjemahan dilakukan oleh progam khusus yg disebut compiler.
c. Library macro dan subroutine dapat digabungkan
d. Bersifat problem oriented, programmer dapat bekerja independently terhadap mesin
e. Set rule harus ditaati ketika menulis program sumber
f. Instruksi-instruksi dalam bahasa tingkat tinggi disebut statement



JENIS BAHASA TINGKAT TINGGI
a. Bahasa Komersial
b. Bahasa Ilmiah
c. Bahasa Penggunaan Khusus
d. Bahasa Perintah untuk Sistem Pengoperasian



Sumber : Wikipedia Bahasa Indonesia