Selasa, 20 Maret 2012

Bahasa Pemrogaman dan Algoritma


Bahasa (language)
Bahasa adalah suatu sistim untuk berkomunikasi. Bahasa tertulis menggunakan simbol
(yaitu huruf) untuk membentuk kata. Dalam ilmu komputer,bahasa manusia disebut bahasa
alamiah (natural languages), dimana komputer tidak bisa memahaminya, sehingga diperlukan
suatu bahasa komputer.

Bahasa pemrograman (programming language)
Komputer mengerjakan transformasi data berdasarkan kumpulan perintah - program -
yang telah dibuat oleh pemrogram. Kumpulan perintah ini harus dimengerti oleh komputer,
berstruktur tertentu (syntax) dan bermakna. Bahasa pemrograman merupakan notasi untuk
memberikan secara tepat program komputer. Berbeda dengan bahasa alamiah, mis. Bahasa
Indonesia, Inggris dsb. yang merupakan bahasa alamiah (natural language), sintaks dan
semantik bahasa pemrograman (komputer) ditentukan secara kaku, sehingga bahasa
pemrograman juga disebut sebagai bahasa formal (formal language).
Generasi bahasa pemrograman:
Generasi I: machine language
Generasi II: assembly language : Asssembler
Generasi III: high-level programming language: C, PASCAL, dsb.
Generasi IV: 4 GL (fourth-generation language): SQL

Bahasa Tingkat Rendah (low-level language)
Merupakan bahasa assembly atau bahasa mesin. Lebih dekat ke mesin (hardware),
dimana high-level programming languages dekat pada bahasa manusia.
Bahasa Mesin (machine language)
Bahasa mesin merupakan representasi tertulis machine code (kode mesin), yaitu kode
operasi suatu mesin tertentu. Bahasa ini bersifat khusus untuk mesin tertentu dan
"dimengerti" langsung oleh mesin, sehingga pelaksanaan proses sangat cepat.
Bahasa Assembly (assembly language)
Bahasa rakitan (assembly language) merupakan notasi untuk menyajikan bahasa
mesin yang lebih mudah dibaca dan dipahami oleh manusia. Bahasa ini sudah
menggunakan simbol alpabet yang bermakna (mnemonic). Contoh “MOV AX 1111”,
pindahkan ke register AX nilai 1111.

Bahasa Tingkat Tinggi (high-level language)
Adalah bahasa pemrograman yang dekat dengan bahasa manusia, kelebihan utama
dari bahasa ini adalah mudah untuk di baca, tulis, maupun diperbaharui, sebelum bisa
dijalankan program harus terlebih dahulu di-compile. Contoh Ada, Algol, BASIC, COBOL,
C, C++, FORTRAN, LISP, dan Pascal, dsb.
Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated development environment).
Fourth-Generation Language (4GL)
Lebih dekat ke bahasa manusia dibandingkan dengan high-level programming
languages. Biasanya dipakai untuk mengakses database. Contoh perintah pada bahasa SQL:
FIND ALL RECORDS WHERE NAME IS "JOHN"


Bahasa Pemrograman untuk tujuan tertentu

Tabel 1. Bahasa Pemrograman untuk tujuan tertentu

Tertentu Bahasa Terbaik Bahasa Terburuk
Data terstruktur ADA, C/C++, PASCAL Assembler, BASIC
Proyek cepat BASIC PASCAL, ADA, Assembler
Eksekusi cepat Assembler, C BASIC, Intrepreter Language
Kalkulasi matematika FORTRAN PASCAL
Mengunakan memory dinamis PASCAL,C BASIC
Lingkungan bermemori terbatas BASIC, Assembler, C FORTRAN
Program real-time ADA, Assembler, C BASIC, FORTRAN
Manipulasi string BASIC, PASCAL C
Program mudah dikelola PASCAL, ADA C, FORTRAN


Compiler dan Intepreter
Compiler adalah suatu program yang menterjemahkan bahasa program (source code)
ke dalam bahasa objek (object code). Compiler menggabungkan keseluruhan bahasa program
dikumpulkan kemudian disusun kembali.
Compiler memerlukan waktu untuk membuat suatu program yang dapat dieksekusi
oleh komputer. Tetapi, program yang diproduksi oleh Compiler bisa berjalan lebih cepat
dibandingkan dengan yang diproduksi oleh Interpreter , dan bersifat independen.
Interpreter berbeda dengan Compiler, Interpreter menganalisis dan mengeksekusi
setiap baris dari program tanpa melihat program secara keseluruhan. Keuntungan dari
Interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap
kompilasi, untuk alasan ini Interpreter digunakan pada saat pembuatan program berskala
besar
Tabel 3. Perbedaan Compiler dan Interpreter

NO Interpreter Compiler
1 Menerjemahkan instruksi perInstruksi Menerjemahkan secara keseluruhan
2 Tidak menghasilkan objek program Menghasilkan objek program
3 Tidak menghasilkan executable program karena langsung dijalankan pada saat program Diinterpretasi Menghasilkan executable program, sehingga dapat langsung dijalankan
4 Proses interpretasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan dapat dilihat hasilnya Proses kompilasi lama, karena sekaligus menerjemahkan seluruh instruksi program
5 Source program terus dipergunakan karena tidak dihasilkan executable program Source program sudah tidak dipergunakan lagi untuk mengerjakanprogram

Tipe Pemrograman

1. Pemrograman terstruktur
Pemrograman terstruktur adalah cara pemrosesan data yang terstuktur. Terstruktur
dalam: analisa, cara dan penulisan program.

2. Bahasa pemrograman prosedural – terstruktur
Bahasa pemrograman prosedural adalah bahasa pemrograman yang mendukung
pembuatan program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling
memanggil dan dipanggil dari manapun dalam program dan dapat menggunakan
parameter yang berbeda-beda untuk setiap pemanggilan. Prosedur adalah bagian dari
program untuk melakukan operasi-operasi yang sudah ditentukan dengan menggunakan
parameter tertentu. Bahasa pemrograman terstruktur adalah pemrograman yang
mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur.
Kontrol program terstruktur:
1. Runtun - urut (sequence)
2. Pilihan (selection)
3. Pengulangan (repetition - loop)

ALGORITMA
Perencanaan dan perancangan program komputer juga disebut pembuatan algoritma.
Beberapa definisi algoritma:
a.                   kumpulan urutan perintah yang menentukan operasi-operasi tertentu yang diperlukan
untuk menyelesaikan suatu masalah ataupun mengerjakansuatu tugas".
b.                   logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu
permasalahan.

Algoritma - dan tentu program yang baik, bercirikan:
a.       Tepat sasaran, benar, sederhana, standar dan efektif : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan
b.   Flexible dan portable: - Flexible untuk dikembangkan lebih lanjut - Portable untuk
digunakan pada berbagai sistem dan mesin
c.   Bersih dari kesalahan sistem ataupun logic
d.   Murah: - Efisien dalam penggunaan piranti memori dan penyimpanan lainnya. - Cepat
waktu pelaksanaannya.
e.   Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan pengembangan.
f.    Algoritma merupakan pemberian (description) pelaksanaan suatu proses.Sebuah proses
dikerjakan oleh pemroses mengikuti algoritma yang sudah dibuat. Algoritma merupakan
urutan langkah instruksi yang logis. Setiap langkahinstruksi mengerjakan suatu tindakan
aksi.
g.   Logis, terstruktur, sistematis, Semua operasi terdefinisi

h.    Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda
i.    Semua proses harus berakhir setelah sejumlah langkah dilakukan

Aturan Penulisan Teks Algoritma
Tidak ada notasi yang baku dalam penulisan teks algoritma. Algoritma bukanlah
program yang harus mengikuti aturan-aturan tertentu. Meski demikian, algoritma dituliskan
mendekati gaya bahasa pemrograman umumnya. Misal, tulis nilai X dan Y, dituliskan dalam
algoritma sebagai write(X,Y). Perhatikan dalam notasi write(X,Y) ini hanya memerintahkan
penyajian nilai X ke piranti keluaran (output). Dalam notasi itu juga tidak memasalahkan
format ataupun bentuk-bentuk tampilan lainnya, seperti dicetak dalam satu baris X dan Y,
pemakaian pemisah antara X dan Y menggunakan koma atau spasi. Hal-hal yang bersifat
teknis ini baru dipikirkan waktu penulisan program. Algoritma adalah bebas bahasa
pemrograman.

Teks Algoritma
Mengikuti alur konsep pemrograman prosedural, suatu teks algoritma disusun dalam
tiga bagian, yaitu:
a. Bagian kepala algoritma,
b. Bagian deklarasi,
c. Bagian deskripsi algoritma.
Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan
teks. Bagian penjelasan diawali dan diakhiri dengan simbol { dan }.
Algoritma NAMA_ALGORITMA { Penjelasan tentang algoritma yang menguraikan secara
singkat hal-hal yang dilakukan oleh algoritma }
DEKLARASI { Semua nama yang digunakan, meliputi nama-nama: tipe, konstanta, variabel.
Juga nama sub-program dinyatkan di sini }
DESKRIPSI { Semua langkah atau aksi algoritma dituliskan di sini }

 
Diagram Alir (Flow chart)
Merupakan bentuk grafis/visual dari algoritma Bentuk umum dari simbol-simbol dalam diagram alir

 















Tidak ada komentar:

Posting Komentar

Tinggalkan Komentar