Jumat, 18 Februari 2011

TUGAS POSTING KE-8


BAHASA PEMROGRAMAN

Komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input, memprosesnya, dan menghasilkan output dibawah pengawasan suatu langkah-langkah instruksi-instruksi program yang tersimpan di memori (stored program) sehingga menjadi informasi. Perangkat keras memproses fakta dan data menjadi informasi, Perangkat lunak mengatur pemrosesan data dan fakta menjadi informasi. Perangkat lunak berbentuk aljabar boolen yang direpresentasikan sebagai binari digit berbentuk 0 atau 1, kode-kode tersebut digabungkan menjadi instruksi aritmetika, logika dan mnemonic.
Bahasa adalah suatu sistem untuk berkomunikasi, Bahasa tertulis adalah suatu sistem berkomunikasi dengan menggunakan simbol (huruf) untuk membentuk kata. Dalam ilmu komputer, bahasa manusia disebut bahasa alamiah (natural languages) dimana komputer tidak bisa memahaminya, sehingga diperlukan suatu bahas komputer yang disebut bahasa pemrograman.
Bahasa pemrograman terdiri dari :
1.      Level Rendah : level bahasa yang mendekati level bahasa mesin, instruksi yang diberikan akan langsung dipahami oleh komputer, pada level ini program yang diinstruksikan berupa angka-angka kode heksa atau biner (matematika biner) contoh : bahasa mesin
2.      Level Menengah : level bahasa gabungan antara intruksi mesin dengan instruksi yang mulai mendekati bahasa manusia berkomunikasi, contoh : bahasa assembler dan bahasa C
3.      Level Tinggi : bahasa pemrograman yang mendekati instruksi manusia berkomunikasi, contoh : pascal, delphi, visual basic atau oracle
Sistem bilangan adalah suatu cara mewakili besaran suatu item fisik, manusia lebih banyak menggunakan sistem desimal (10 macam simbol). Komputer memahami elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus), dikenal dengan sebutan sistem bilangan binari (dua macam simbol) juga menggunakan sistem bilangan oktal dan sistem bilangan heksadesimal.
Sistem Bilangan :
1.      Bilangan desimal, berbasis 10 terdiri atas 10 macam simbol bilangan, berbentuk 10 digit angka yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Integer desimal atau pecahan desimal, contoh :
1975 = seribu sembilan ratus tujuh puluh lima
(1 x 103)  + (9 x 102) + (7 x 101) + (5 x 100)
16,19 = enam belas koma satu sembilan
(1 x 101) + (6 x 100) + (1 x 10-1) + (9 x 10-2)
Dapat ditulis dalam bentuk eksponensial standar :
16,19 = 0,1619 x 102

Mantissa     eksponen
2.      Bilangan binari, basis 2 terdiri atas 2 macam simbol bilangan, berbentuk 2 digit angka, yaitu 0 dan 1
Integer binari, contohnya :
100 = (1 x 22) + (0 x 21) + (0 x 20)
0110 = (0 x 23) + (1 x 22) + (1 x 21) + (0 x 20)
3.      Bilangan oktal, basis 8 terdiri atas 8 macam simbol bilangan, yaitu : 0, 1, 2, 3, 4, 5, 6, 7
Contohnya :
234 = (2 x 82) + (3 x 81) + (4 x 80)
4.      Bilangan heksadesimal, basis 16 terdiri atas 16 macam simbol bilangan, yaitu terdiri dari 10 simbol digit angka dan 6 simbol huruf, yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. A, B, C, D, E, F
1A7 = (1 x 162) + (10 x 161) + (7 x 160)

Perbandingan antara level bahasa pemrograman, contohnya perintah menuliskan huruf “A” di layar komputer
Level Rendah
Level Menengah
Level Tinggi
OB38:0100 B402
OB38:0102 B066
OB38:0104 CD21
Mov AH,02h
Mov AL,’A’
Int 21h
Write (‘A’);

Perkembangan bahasa pemrograman
1.      Bahasa Mesin
Generasi I bahasa mesin
a.       ENIAC (Elektronic Numerial Integrator and Calculator) pada tahun 1945 oleh Mauchlyand Eckert
b.      Menggunakan kode-kode biner (0 dan 1), dengan basis transistor “on” = 1 dan kondisi “off” = 0
c.       Rumit, sukar di hafal dan lama
d.      Dikembangkan dengan bilangan oktal dan heksadesimal
2.      Low Level Language
a.       Penyempurnaan dari bahasa mesin
b.      Bahasa assembly sudah mulai memasukan unsur-unsur bahasa inggris meskipun dalam bentuk singkatan
c.       Bersifat machine dependent
d.      Penulisan bahasa assembly sudah jauh lebih mudah di banding dengan bahasa mesin, namun masih terlalu sulit bagi orang awam yang tidak memahami perangkat keras komputer, karena beberapa variabel masih mengacu pada register, alamat memori maupun alamat port I/O
3.      High Level Language
a.       Tahun 1950 FORTRAN (FORmula TRANslator) yang sudah bersifat machine independent
b.      Diikuti bahasa pemrograman arus tinggi seperti BASIC, COBOL, PL/I, PASCAL, ALGOL, PROLOG, C
c.       Pemrosesan program oleh komputer dalam bahasa arus tinggi ini meliputi: compilation, link, execution
4.      Deklaratif
Bahasa pemrograman ini jauh lebih mudah di tulis karena instruksinya sudah sangat mendekati bahasa percakapan sehari-hari, contohnya : DBASE, SQL (Structured Query Language)
5.      Object Oriented
Contohnya : SIMULA, Small talk, Ada, C++, Java

Program adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yaang dibuat oleh progremmer (pembuat program). Pemrograman adalah urutan perintah yang disusun sedemikian rupa, sehingga komputer dapat melaksanakan perintah sesuai dengan keinginan pemakai. Program komputer adalah susunan instruksi yang harus dikerjakan oleh komputer.
Langkah-langkah sistematis dalam pembuatan suatu program :
1.      Mendefinisikan permasalahan dan membuat untuk pemecahan masalah
Harus mengerti dengan baik mengenai permasalahan apa yang ingin diselesaikan, seperti : bagaimana hubungan data input dengan hasil pengolahannya?, bagaimana hubungan data output dengan pengolahannya?, bagaimana struktur pengolahannya?
2.      Implementasi
Implementasi telah mulai melibatkan bahasa pemrograman yang ingin digunakan, di dalam mengimplementasikan algoritma akan menentukan bahasa pemrograman apa yang cocok atau ingin digunakan. Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama, Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
a         Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
b        Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
3.      Kompiling
Tahapan pemeriksaan terhadap program yang disusun yang akan dilakukan oleh komputer dengan menggunakan processor program atau kompiler, processor program berfungsi sebagai alat/program yang akan menerjemahkan program yang dimasukkan ke dalam bahasa yang dimengerti oleh komputer
4.      Menguji coba dan membuat dokumentasi
Setelah selesai kompiling, langkah selanjutnya yaitu menguji program tersebut apakah telah berjalan sesuai dengan tujuannya untuk memberi solusi dari suatu permasalahan, apabila program belum berjalan dengan baik, maka perlu pengkajian kembali rumusan/algoritma yang telah dibuat pada langkah pertama, serta memperbaiki implementasi program yang mungkin keliru. Untuk memudahkan dalam memeriksa kesalahan suatu program ataupun memahami jalannya program perlu membuat dokumentasi dari program yang dibuat.



Tidak ada komentar:

Posting Komentar