Sejarah Perkembangan, Definisi Algoritma dan Struktur Program Dalam Bahasa C

  

Sejarah Perkembangan, Definisi Algoritma dan Struktur

Program Dalam Bahasa C

  Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard.

  Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN. Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.

  Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakancfro nt. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C. Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.

  Bahasa C adalah salah satu bahasa pemrograman yang populer di dunia dan mempunyai kemampuan lebih dari bahasa pemrograman yang lain. Banyak sekali aplikasi- aplikasi yang ditulis dalam bahasa C, atau paling tidak inti utama programnya ditulis dalam bahasa C. Bahkan, Software Development Kit untuk Windows ditulis dalam bahasa C. Bahasa C merupakan bahasa pemrograman yang sifatnya portable, yaitu dengan sedikit atau tanpa perubahan, suatu program yang ditulis dengan bahasa C pada suatu komputer dapat dijalankan pada komputer lain.

  

Bahasa Pemrograman

  C++ adalah salah satu dari

  berbagai banyak bahasa

  pemprograman yang ada di

  dunia komputer, khususnya dalam bab Programing.

  Bahasa Pemrograman C++ ini

  dibuat oleh Bjarne Stroustrup pada tahun 1980 yang usut punya usut ternyata ini adalah

  Bahasa pengembangan Bahasa C yang lahir lebih

  dahulu pada tahun 1970-an yang dibuat oleh Dennis Ritchie di Bahasa itu diturunkan dari bahasa sebelumnya yang usut punya usut lagi yaitu BCL

  

(Bunga Citra Lestari) bukan artis indonesia itu lhoch ya. Bahasa BCL dirancang sebagai bahasa

pemprograman yang dijalankan pada sisDan pada perkembangannya, versi ANSI

Bahasa pemrograman C menjadi versi dominan.

  Ada beberapa perbedaan antara bahasa pemrograman C dan C++ ini. Bahasa

  

pemrograman C merupakan bahasa pemrograman Prosedural, dimana usut punya usut

  penyelesaian suatu masalahnya dilakukan dengan cara membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil. Selain itu, Ternyata C++ memiliki sifat Pemrograman berorientasi objek, Karena, untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class, 1.

   Standarisasi

  Pada tahun 1998, C++ Standar

  Year C++ Standard Informal name

  Komite (ISO/IEC

   2011 ISO/IEC 14882:

  JTC1/SC22/WG21 Working

   2007 ISO/IEC TR

  Group)mengeluarkan Standar

   2003 ISO/IEC 14882: C++03

  Internasional ISO/IEC 14882:1998

   1998 ISO/IEC 14882: C++98

  yang digunakan selama beberapa tahun. Pada tahun 2003 dirilis versi yang telah dikoreksi, ISO/IEC 14882:2003. Pada tahun 2005, Laporan Teknis yang disebut "Laporan Teknis Perpustakaan 1" (sering dikenal sebagai TR1),dirilis. Revisi terbaru dari standar C++ adalah C+11 (sebelumnya dikenal C++0x) telah disetujui oleh ISO/IEC pada tanggal 12 Agustus 2011. Telah diterbitkan sebagai 14882:11.

2. Contoh Program C++

  Contoh program sederhana C++ untuk hello world dengan menggunaka

  pat dilihat di bawah ini : #include <iostream.b> int main() { cout <<"hello world"<<endl; return 0; }

  Keterangan a.

  Baris pertama :

  #include <iostream.h>

  Sebagai bagian dari proses kompilari c++ menjalankan program yang dinamakan preprosesor. Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang b.

  Baris kedua :

  int main ()

  Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata Void menandakan fungsi main tidak bertipe.

  c.

  Baris ketiga :

  { Kurung kurawal buka menandakan awal program.

  d.

  Baris keempat :

  std::cout << "Hello world\n";

  Cout adalah sebuah object darrt C++ yang digunakan untuk mencetak string ke piranti output standart, yang biasanya adalah layar komputer, Compiler menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode yang

  \n

  telah ditulis untuk mendapatkan hasil executable, Tanda adalah format modifier yang digunakan untuk berganti baris setelah menampilkan string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan dituliskan pada baris bawahnya.

  e.

  Baris kelima:

  } Kurung kurawal tutup menandakan akhir program.

3. Kata yang dipesan a.

  Kelompok pertama C++ mempunyai 32 buah kata yang dipesan (reserved words), Kata kunci kelompok pertama merupakan turunan daaranya:. auto const double float int short struct unsigned break continue else for long signed switch void case default enum goto register sizeof typedef volatile char do extern if return static union while b.

  Kelompok kedua Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++. asm dynamic_cast namespace reinterpret_cast try bool explicit new static_cast typeid catch false operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected true wchar_t

  Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.

  1. include <stdio.h> int maksimum (int,int); void tulis (int); main() int nilai 1,nilai 2,nilai maks; printf (*\n ketikkan dua bilangan bulat:); scanf("%d%d",& nilai 1,nilai 2); nilai maks=maksimum (nilai 1,nilai 2); tulis(nilai maks); returns 0; int maksimum(int x1,int x2) if (x1>x2) return x1; else return x2; void tulis(int x) printf("\n hasilnya adalah :%d",x); 4.

   Tipe data dasar

  Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer, Besar dan tipe davariabel di dalam standar program C++ dispesifikasikan sebagai berikut.

  Nama Keterangan Ukuran Jangkauan

  char Abjad/karakter atau untuk bilangan bulat kecil 1 byte signed: -128 to 127 unsigned: 0 to 255 short int (short)

  Bilangan bulat dengan jangkauan pendek 2 byte signed: -32768 to 32767 unsigned: 0 to 65535 int Bilangan bulat 4 byte signed: -2147483648 to

  2147483647 unsigned: 0 to 4294967295 long int (long)

  Integer dengan jangkauan panjang 4 byte signed: -2147483648 to 2147483647 bool Boolean, dapat bernilai benar atau i byte true or false salah (true or false) float Angka dengan titik mengambang 4 byte 3.4e +/- 38 (7 digit)

  (bilangan cacah) double Bilangan cacah dengan ketelitian 8 byte 1.7e +/- 308 (15 digits) ganda long double Bilangan cacah dengan ketelitian 8 byte 1.7e +/- 308 (15 digits) ganda panjang wchar_t Karakter lebar, biasa dipakai untuk 2 byte 1 karakter lebar Unicode karakter 5.

   Struktur Bahasa C++ Contoh 1 :

  Hasil : // my first program in C++ Hello World! #include <iostream.h int main () { cout << “Hello World!”; return 0; }

  Sisi kiri merupakan source code, yang dapat diberi namahiworld.cpp dan sisi kanan adalah hasilnya setelah di-kompile dan di-eksekusi. Program diatas merupakan salah satu program paling sederhana dalam C++, tetapi dalam program tersebut mengandung komponen dasar yang selalu ada pada setiap pemrograman C+

  • . Jika dilihat satu persatu a.

   // my first program in C++

  Baris ini adalah komentar. semua baris yang diawali dengan dua garis miring (//) akan dianggap sebagai komentar dan tidak akan berpengaruh terhadap program. Dapat digunakan oleh programmer untuk menyertakan penjelasan singkat atau observasi yang terkait dengan program tersebut.

  b. #include <iostream.h>

  Kalimat yang diawali dengan tanda (#) adalah are preprocessor directive. Bukan merupakan baris kode yang dieksekusi, tetapi indikasi untuk kompiler. Dalam kasus ini kalimat#include <iostream.h> memberitahukan preprocessor kompiler untuk menyertakan header file standardiostrea m. File spesifik ini juga termasuk library deklarasi standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan digunakan nanti dalam program.

  c. int main ()

  Baris ini mencocokan pada awal dari deklarasi fungsima in. fungsimain merupakan titik awal dimana seluruh program C++ akan mulai dieksekusi. Diletakan diawal, ditengah atau diakhir program, isi dari fungsi main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsimain. fungsi diikuti oleh sepasang tanda kurung() dimana, dapat berisi argumen didalamnya. Isi dari fungsimain selanjutnya akan mengikuti,berupa deklarasi formal dan dituliskan diantara kurung kurawal ({}), seperti dalam contoh.

  d. cout << “Hello World”;

  Intruksi ini merupakan hal yang paling penting dalam program contoh.co ut merupakan standard output stream dalam C++ (biasanya monitor).cout dideklarasikan dalam header file iostream.h, sehingga agar dapat digunakan maka file ini harus disertakan. Perhatikan setiap kalimat diakhiri dengan tanda semicolon (;). Karakter ini menandakan akhir dari instruksi dan harus disertakan pada setiap akhir instruksi pada program C++ manapun.

  e. return 0;

  Intruksireturn menyebabkan fungsima in( ) berakhir dan mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus ini0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program. Tidak semua baris pada program ini melakukan aksi. Ada baris yang hanya berisi komentar (diawali //), baris yang berisi instruksi untuk preprocessor kompiler (Yang diawali #),kemudian baris yang merupakan inisialisasi sebuah fungsi (dalam kasus ini, fungsi main) dan baris yang berisi instruksi (seperti,cout <<), baris yang terakhir ini disertakan dalam blok yang dibatasi oleh kurung kurawal ({}) dari fungsimain Struktur program dapat dituliskan dalam bentuk yang lain agar lebih mudah dibaca, contoh : int main () { cout << ” Hello World “; return 0; } Atau dapat juga dituliskan : int main () { cout <

  < ” Hello World “; return 0; } Dalam satu baris dan memiliki arti yang sama dengan program-program sebelumnya. pada C++ pembatas antar instruksi ditandai dengan semicolon (;) pada setiap akhir instruksi.

  Contoh 2 :

  Hasil : // my second program in C++ Hello World! I’m a C++ program #include <iostream.h> int main () { cout << “Hello World! “; cout << “I’m a C++ program”; return 0; }

  Struktur Program Dalam Bahasa C

  1.Pre Processor Adalah bagian-bagian kode pada

  program yang dijalankan pertama kali dan melakukan proses tertentu. Contoh : #include #define

  2. Main Function Adalah fungsi di dalam bahasa C

  yang pertama kali dijalankan pada waktu program di eksekusi. Program bisa dijalankan jika ada main function. Dalam satu program maximal jumlahnya 1 main function. Contoh : void main (void)

3. Function Adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan

  menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasan pemograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal,Delphi) Contoh : void segitiga (void) //ini adalah fungsi untuk membuat segitiga dalam pemograman

  bahasa C++Keuntungan Fungsi :

  1. Dapat melakukan pendekatan top-down dan divide-and-conquer: 2. Top-down: penelusuran program mudah.

  3. Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.

  4. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami.

  5. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.

  6. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.

  7. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan

8. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.

  9. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.

  10. Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang

  • – ulang. Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.

  11. Mempermudah dokumentasi.

  12. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain.

   Sifat-sifat fungsi : 1.

  Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in.

  2. Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out.

  3. Memiliki Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri.

DEFINISI DAN PENGENALAN ALGORTIMA 1.

   Definisi

  Definisi algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun secara sistematis dan logis. Kata logis (logika) merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar atau salah.

  2. Algoritma Dalam Kehidupan

  Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah- langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.

  3. Bahasa Pemrograman

  Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, dll. Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen.

  4. Flowchart

  Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.

  Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut : Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap.

  Untuk itu kita harus membuat flowchart seperti ini :

5. Pseudo Code

  Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. Perhatikan kode dibawah ini : 1.

  Mulai 2. Masukkan sebuah angka 3. Masukkan sebuah angka dan tampilkan 4. Ambil angka yang sebelumnya dan tampilkan 5. Selesai

  Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk “angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua. Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut : 1.

  Start 2. Masukkan A 3. Masukkan B, Tampilkan B 4. Tampilkan A 5. End

  Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2 1.

  Start 2. Masukkan A dan B 3. C = A + B 4. Tampilkan C 5. End 6.

  Komentar Komentar adalah bagian dari program yang diabaikan oleh kompiler. Tidak melaksanakan aksi apapun. Mereka berguna untuk memungkinkan para programmer untuk memasukan catatan atau deskripsi tambahan mengenai program tersebut. C++ memiliki dua cara untuk menuliskan komentar : // Komentar baris /* sama. Komentar Blok, akan mengabaikan apapun yang berada diantara tanda /* dan */