Showing posts with label Algoritma dan Pemrograman. Show all posts
Showing posts with label Algoritma dan Pemrograman. Show all posts

Membuat Program Sederhana Dengan C++ (Hello World)

Berikut ini adalah contoh program sederhana ("hello world") dengan menggunakan C++. Tutorial ini ditujukan kepada semua orang yang masih awam dan baru memulai berlajar menggunakan bahasa pemrograman C++. Sebelum memulai program ini pastikan compiler dari C++ sudah terinstal di komputer anda. Dalam percobaan ini saya menggunakan compiler dari Borland, yaitu Borland C++ Versi 5.02

Untuk langkah pertama bukallah program C++ dengan mengklik tombol Start->All Program->Borland C++ 5.02->Borland C++ yang sudah terinstal di komputer Anda. Setelah itu akan ditampilkan area kerja C++. Untuk penjelasan dari interface/tampilan Borland C++ ini tidak saya sertakan, karena hampir sama dengan program-program yang lainnya.

Sekarang kita mulai untuk program yang pertama. Pada program pertama ini kita akan membuat progrm yang sangat sederhana, yaitu menampilkan pesan "Hello World.." di layar. Pada area kerja anda ketikkanlah program di bawah ini.

Kelebihan dan Kekurangan C/C++

Kelebihan Bahasa C/C++
  • Bahasa C++ tersedia hampir di semua jenis computer.
  • Kode bahasa C/C++ sifatnya adalah portable dan fleksibel untuk semua jenis komputer.
  • Proses executable program bahasa C/C++ lebih cepat
  • Dukungan pustaka yang banyak.
  • C adalah bahasa yang terstruktur.
  • C++ Sudah mendukung OOP (Object Oriented Programming).

Kekurangan Bahasa C/C++
  • Banyaknya Operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
  • Bagi pemula pada umumnya akan kesulitan menggunakan pointer dan penerapan konsep OOP.




Sejarah C++

C++ adalah pengembangan dari bahasa C, yang merupakan pengembangan dari dua bahasa bahasa pemograman generasi sebelumnya, yaitu BCPL dan B. BCPL dibuat pada tahun 1967 oleh Martin Richards sebagai bahasa untuk menulis sistem operasi dan compiler. Ken Thompson membuat banyak fitur pada bahasa B yang dibuatnya dan menggunakan B untuk membuat versi awal dari sistem operasi UNIX di Bell Loboratories pada tahun 1970 pada komputer DEC PDP-7.

Bahasa C dikembangkan dari bahasa B oleh Dennis Ritchie di Bell Laboratories dan pada awalnya diimplemntasi pada komputer DEC PDP-11 pada tahun 1972. C menggunakan banyak konsep penting dari BCPL dan B sekaligus ada tambahan jenis-jenis data dan fitur lainnya. C kemudian dikenal sebagai bahasa pengembang sistem operasi UNIX. Pada masa sekarang, kebanyakan sistem operasi ditulis dengan menggunakan C dan/atau C++. C tersedia untuk hampir semua komputer.

Pada akhir dekade 1970 an, C telah berkembang dengan menjadi sesuatu yang sekarang disebut “C tradisional”, “C klasik”, atau “C Kernighan dan Ritchie”.

C++ adalah penambahan dari C, dikembangkan oleh Bjarne Stroustup pada awal dekade 1980 an di Bell Laboratories. C++ memberikan tambahan fitur yang meningkatkan kekuatan bahasa C, dan yang lebih penting lagi, kemampuan untuk pemograman berbasis object (Object Oriented Programming).




Apakah Itu Algoritma?

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

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.

Sejarah istilah "algoritma"

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.


Jenis-jenis Algoritma

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.

  1. 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.
  2. 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.
  3. 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.