W3i,p3n9 y0U...!!! L4i 4n z4i "3ni bl09z"....w0 xihU4n zh3 h3 xi3-xi3 d0U...!!!

Sabtu, 12 November 2011

MAKALAH ALGORITMA & PEMROGRAMAN 1C*

KONSEP BAHASA PEMROGRAMAN
BAB I
PENDAHULUAN

1.1. Latar belakang  

Tujuan dari belajar algoritma & pemrograman adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah, karena suatu permasalahan yang diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan. oleh karena itu, penyusun mencoba untk memaparkan masalah tentang konsep dasar pemrograman.

1.2.Permasalahan

Makalah ini merumuskan beberapa permasalahan sebagai berikut :
  1. Apa pengertian program,pemrograman dan algoritma ?
  2. Syarat-syarat apa yang ada pada elemen dasar suatu file ?
  3. Type apa saja yang ada pada data ?
  4. Apa pengertian model komputasi ? 
  5. Bagaimana perkembangan bahasa pemrograman ? 
  6. Bagaiman langka-langkah dalam pemrograman komputer ?
1.3.Ruang lingkup

Dalam makalah ini, penulis membatasi masalah yang akan dibahas pada materi kuliah pemrograman terstruktur. pembahasa lebih dikhususkan pada konsep dasar pemrograman. hal tersebut dimaksudkan untuk mempertegas pembahasan sehingga dapat terfokus pada masalah yang akan dibahas serta dapat memberikan gambaran umum tentang isi makalah sehingga pembaca lebih mudah mempelajarinya.

1.4.Maksud dan tujuan

Maksud dari penyusunan tugas ini adalah untuk memenuhi dan melengkapi salah satu tugas mata kuliah pemrograman terstruktur di bina sarana informasi. sedangkan tujuan dari penulisan tugas ini adalah :
  1. Menerapkan teori yang didapat selama belajar di bina sarana informasi.
  2. Mengembangkan kreativitas dan wawasan penulis.
  3. Memberikan uraian konsep dasar pemrograman secara lebih terperinci.
1.5.Metode Pengumpulan Data

Untuk memperoleh data yang diperlukan dalam penyusunan tugas ini, penulis menggunakan metode browsing internet, yaitu metode yang dilakukan dengan browsing atau membaca atau mencari referensi-referensi yang berkaitan dengan masalah yang dibahas dalam tugas ini di internet.

BAB II
PEMBAHASAN

2.1. Konsep Dasar Pemrograman

      1. Pengertian Program, Pemrograman dan Algoritma
  • Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah dan diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
  • Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman. sedangkan pemrograman terstruktur adalah metode yang mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah di test dan di modifikasi.
  • Algoritma berasal dari kata algoris dan ritmis yang pertama kali ditemukan oleh Abu Jafar Mohammad Ibn Musa al Khowaritzmi (825 M) dari buku Al Jabr Wa al Muqabla. dalam bidang pemrograman algoritma didefinisikan sebagai suatu meode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer.
Proses dari algoritma hingga terbentuk suatu solusi disebut dengan tahap implementasi. solusi yang dimaksud  adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
Contoh : Algoritma ketika ingin mengirimkan surat kepada teman, yaitu :
  1. Tulis surat pada secarik kertas surat 
  2. Ambil sampul surat
  3. Masukkan surat ke dalam sampul
  4. Tutup sampul surat menggunakan perekat
  5. Tempel perangko pada surat 
  6. Bawa surat ke kantor pos untuk di poskan 
2.2. Data

Tipe data merupakan suatu kelas dari objek data dengan kumpulan operasi untuk membentuk dan memanipulasinya
Elemen dasar suatu file data mempunyai syarat-syarat sebagai berikut:
A. Atribut : membedakan objek-objek data dari tipe tersebut, misalnya nama objek data
B. Nilai : dimiliki oleh objek data dari tipe tersebut dipengaruhi oleh hardware komputer, contoh : int, short, long (dalam bahasa C)
C.Operasi : mendefinisikan manipulasi-manipulasi yang memungkinkan oleh objek data dari tipe tersebut
  • Biasanya merupakan operasi secara matematika 
  • Suatu operasi yang mempunyai dua argumen dan menghasilkan satu hasil disebut operasi binary, atau argumen disebut unary
  • Jumlah argumen : arity
1.     Tipe data dasar
Merupakan tipe data dasar primitif yang tidak terstruktur yang didefinisikan oleh bahasa pemrograman.
Tipe data dasar di bagi menjadi lima bagian yaitu :
          a.Tipe Data Numerik
Disetiap  bahasa pemrograman dapat dipastikan ada tipe data numerik yaitu menyimpan data berupa angka.
  • Integer : merupakan bilangan bulat dan negatif 
  • Subrange : merupakan sebuah subype dari tipe data integer dan terdiri dari urutan nilai-nilai integer dalam range yang terbatas
  • Floating-print Real : biasa disingkat dan disebut tipe data riil. 
  • Fixed-point Real : bilangan fixwd-pont direpresentasikan dengan urutan digit.
  • Lain-lain :tipe data lainnya adalah bagian kompleks dan bilangan rational 
          b.Enumerasi : Adalah suatu urutan list dari nilai-nilai yang berbeda
          c.Boolean : Tipe data untuk merepresentasikan Treu dan False.
          d.Character : Tipe data untuk menyimpan rangkaian karakter.
          e.Internationalization : Disebut I18N.
2.      Tipe Data Terstruktur
Merupakan tipe data campuran dari berbagai tipe data dasar, contohnya array, record, string, list dan file.
3.      Tipe Data didefinisikan oleh Pemakai
Tipe data ini biasanya disebut Enumerasi.
4.      Tipe Data Penunjuk
Contoh tipe data penunjuk adalah pointer.

2.3. Model komputasi

Model komputasi adalah suatu kumpulan dari ilai dan operasi-operasi.
Ada 3 dasar Model Komputasi :
1.      Model Fungsional
Model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan operasi aplikasi, fungsi dan komposisi fungsi.
2.      Model Logika
Logika odel perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.
3.      Model imperative
Model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.

2.4. Prinsip Bahasa Pemrograman

ð Adalah alat untuk membuat program
ð Contoh : C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
ð Perbedaan : Cara memberikan instruksi (sintaks).
ð Persamaan : Bertujuan menghasilkan output yang sama.
Dalam kehidupan sehari-hari, untuk berkomunikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersebut. Apabila kita menggunakan bahasa indonesia, lawan bicara kita harus mengerti bahasa indonesia. Kalau lawan bicara kita tidak mengerti bahasa indonesia, kita masih bisa berkomunikasi dengannya melalui penerjemah.
Dalam pemrograman komputer, berlaku juga hal seperti di atas. Kita harus menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi. Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (dilambangkan dengan 0).
Dengan kata lain kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrograman komputer. Bahasa pemrograman yang  menggunakan sandi 0 dan 1 ini disebut bahasa mesin (assembly). Sebagai contoh, dalam prosesor intel, terdapat perintah 0011 1010 0000 1011. Perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, 0D, yang artinya membandingkan nilai register  AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari CoMPare. Untuk membantu manusia dalam mengkonversi bahasa mesin diperlukan perangkat lunak yang disebut assembler.
Pemrograman dengan bahas assembly masih terasa sulit bagi kebanyakan orrang sehingga dikembangkan bahasa pemrograman yang lebih mudah digunakan. Bahasa pemrograman yang dikembangkan ini lebih condong ke bahasa manusia dan disebut bahasa generasi ketiga/3GL (Third-Generation Language) atau juga dikenal dengan bahasa tingkat tinggi/ HLL (High-Level Language). Sebagai contoh Basic, Pascal, C, C++, Cobol, dsb. Bahasa generasi ketiga menggunakan kata-kata dalam bahasa Inggris karena bahasa tersebut adalah bahasa internasional, misal :
Pascal : Writeln (‘Algoritma’);
Atau perintah dalam bahasa C: Printf (“Algoritma\n\r”):
Atau perintah dalambahasa C++: Cout << “Algoritma” << endl;
Ketiga pernyataan di atas bertujuan sama yaitu menuliskan teks ‘algoritma’ ke keluaran standar
(Standard Output), ke layar monitor. Ketiga perintah sederhana di atas sebenarnya terdiri dari puluhan atau bahkan ratusan pernyataan assembly. Perangkat lunak yang menerjemahkan program dalam bahasa manusiawi ke dalam bahasa assembly atau mesin ada dua macam, yaitu interpreter dan kompiler. Interpreter menerjemahkan program baris perbaris artinya jika suatu baris akan diekskusi maka baris tersebut diterjemahkan terlebih dahulu ke bahasa mesin. Apabila baris berikutnya akan diekskusi maka baris tersebut baru diterjemahkan kedalam bahasa mesin. Contoh bahasa pemograman yang menggunakan interpreter adalah basic.
Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan kompiler adalah Pascal, C, dan C++. Khusus untuk Pascal, ada beberapa kompiler tetapi jumlahnya sedikit. Misalnya Turbo Pascal, GNU Pascal, Free Pascal, dsb. Kompiler Pascal yang banyak digunakan adalah Turbo Pascal, sehingga pada modul ini juga digunakan Turbo Pascal sebagai acuannya.
Perkembangan bahasa pemrograman setelah bahasa generasi ketiga adalah bahasa generasi keempat atau yang disingkat 4GL (fourth-generation language). Bahasa ini banyak digunakan sebagai aplikasi basis data (database), salah satu contohnya adalah SQL (Structured Query Language). Pada bahasa ini, perintah-perintah yang digunakan lebih manusiawi, misalnya “SELECT Nama,Nilai FROM Mahasiswa”, untuk mengambil data Nama dan Nilai dari basis data Mahasiswa.

     1. Langkah-langlah dalam pemrograman komputer

         a. Mendefinisikan masalah 
Mendefinisikan masalah dengan menentukan masalahnya seperti apa, kemudian apa saja yang harus dipecahkan dengan komputer yang terakhir adalah apa masukannya bagaimana keluarnya.
         b. Menentukan solusi
Setelah masalah didefinisikan dengan jelas, masukkan yang diberikan dengan jelas, keluaran yang diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke alam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya pada pengguna.
         c. Memilih Algoritma.
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.
         d. Menulis Program
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.
         e. Menguji Program
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakahprogram berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapatmenampilkan keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan.
         f. Menulis Dokumentasi
Merupakan hal sepele yang sering dilupakan, karena tidak ada fungsinya pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut).
         g. Merawat program
Setelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.

     2. Kualitas Bahasa Pemrograman

         a. Ekspresivitas :
Bahasa pemrograman yang baik adalah mampu menggambarkan algoritma yang dibuat oleh programmer.
         b. Dapat didefinisikan dengan baik :
Sintaks dan semantik bahasa pemrograman yang baik haruslah konsisten dan tidak bermakna ganda.
         c. Tipe data dan strukturnya:
Bahasa programmer yang baik haruslah berkemampuan untuk mendukung berbagai tipe data(integer, real, pointer,dsb) dan terstruktur dalam array, record ataupun object.
         d. Modularitas :
Bahasa pemrograman yang baik harus mempunyai fasilitas subprogramming sehingga suatu program yang besar dapat dikerjakan oleh sekaligus beberapa pemrogram secara bersama-sama yang nantinya dengan mudah dapat digabungkan menjadi sebuah modul saja.
         e. Fasilitas masukan keluaran :
Bahasa pemrograman yang baik haruslah dapat mendukung berbagai jenis model file seperti sequential, random access, index, multiple index dan lain sebagainya dalam pemrosesan masukan dan keluaran
         f. Portabilitas :
Bahasa pemrograman yang baik haruslah dapat dipakai pada berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independent.
         g. Efisiensi :
Bahasa pemrograman yang baik haruslah efisien.
         h. Mudah dipelajari :
Bahasa pemrograman tersebut harus mudah dipelajari maupun diajarkan.
         i. Bersifat Umum :
Bahasa pemrograman tersebut harus memiliki jangkauan luas pada berbagai aplikasi pemrograman sehingga dapat disebut bahasa yang serbaguna.

BAB III
PENUTUP

3.1. Kesimpulan

Konsep dasar pemrograman meliputi proses bagaimana mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah. Proses dari masalah hingga terbentuk suatu algoritma disebut tahap pemecahan masalah, sedangkan tahap dari algoritma hingga terbentuk suatu solusi disebut dengan tahap implementasi. Solusi yang dimaksud adalah suatu program merupakan proses impelementasi dari algoritma yang disusun.
Untuk menciptakan suatu program yang baik yang memiliki portabilitas yang tinggi, sehingga memudahkan dalam merancang dan merawat program serta meningkatkan efektifitas penggunaan peralatan komputer dibutuhkan suatu standar program. Standar-standar tersebut sering dilihat oleh pemrogram sebagai batasan kreatifitas dan kemampuan untuk menuangkan berbagai ide ke dalam bentuk program. Namun dengan adanya standar akan membuat program menjadi konsisten dan mudah untuk dikembangkan.

3.2.Saran

Untuk menciptakan suatu program yang baik harus memenuhi beberapa kriteria yaitu :
  1. Mudah dikembangkan di masa mendatang
  2. Dalam menyusun program sebaiknya pemrogram membuat persiapan dan rancangan arsitektur program dengan matang, sehingga tidak menimbulkan masalah pada tahap coding dan testing
  3. Sintaks dan semantik bahasa pemrograman yang baik haruslah konsisten dan tidak bermakna ganda
  4. Bahasa programmer yang baik haruslah berkemampuan untuk mendukung berbagai tipe data(integer, real, pointer,dsb) dan terstruktur dalam array, record ataupun object
  5. Bahasa pemrograman yang baik haruslah dapat mendukung berbagai jenis model file seperti sequential, random access, index, multiple index dan lain sebagainya.
  6. Bahasa pemrograman yang baik haruslah dapat dipakai pada berbagai tipe mesin komputer yang berbeda, jadi bersifat machine independent.
  7. Bahasa pemrograman yang baik haruslah efisien.
  8. Bahasa pemrograman tersebut harus mudah dipelajari maupun diajarkan.
  9. Bahasa pemrograman tersebut harus memiliki jangkauan luas pada berbagai aplikasi pemrograman sehingga dapat disebut bahasa yang serbaguna.

Tidak ada komentar:

Posting Komentar