• Cara Meng-Upgrade Linux Ubuntu 17.10 ke 18.04

    Sistem operasi adalah bagian dari komputer yang digunakan untuk mengontrol hardware dan berfungsi untuk menjalankan software / fitur fitur dalam komputer yang sangat penting dan harus di update.

  • Apa Itu Html dan Sejarah Html

    Html adalah singkatan dari HyperText Markup Language dan html merupakan salah satu bahasa yang paling sering digunakan untuk membuat halaman web pada sebuah website. Dengan bahasa ini kita dapat membuat halaman web sesuai dengan apa yang kita harapkan dengan cara mengetikan sekumpulan kode kode / sintak sintak standar pada html.

  • Cara Membuat Animasi Larva Dengan Blender

    Bagaimana cara membuat animasi larva dengan aplikasi Blender

  • Cara Menginstall Shutter di LINUX Beserta Cara Menggunakannya

    cairo dock adalah aplikasi atau software yang digunakan untuk menambah dock/panel

  • Cara Membuat Logo di Inkscape

    Logo adalah suatu gambar yangdengan arti tertentu, biasanya digunakan untuk melambangkan suatu kepemilikan atau ciri khas perusahaan, organisasi, produk, lembaga atau sebagai pengganti nama aslinya agar mudah untuk di ingat.

Jenis Compiler dan Tahap kompilasinya


Asalamualaikum Wr. Wb.
A. Pendahuluan
Pada hari sebelumnya sudah mengetahui tentang Apa itu Compiler, nah pada kali ini saya akan menyampaikan jenis - jenis compiler dan tahap kompilasi-nya.
1. Latar Belakang
Membahas tenatang jenis-jenis kompiler dan bagaimana tahap kompilasinya
2. Alat
Laptop
3. Waktu
15- 20 menit
4. Tujuan
Untuk mengetahui beberapa jenis kompiler dan bagaimana tahap kompilasinya
B. Isi
1. Pembahasan


Compiler adalah alat untuk mengolah dan membuka suatu file bertipe .c, .cpp.
Berikut ini adalah beberapa jenis compiler yang saya ketahui :

GCC
GCC atau GNU Compiler Collection adalah kumpulan compiler yang dibuat dalam proyek GNU. Awalnya GCC hanya ditujukan sebagai compiler untuk bahasa C (GNU C Compiler), tapi lama kelamaan berkembang menjadi banyak compiler untuk berbagai bahasa pemrograman seperti untuk C itu sendiri (gcc) dan juga untuk C++ Kumpulan compiler ini merupakan compiler standard yang terdapat pada sistem GNU dan merupakan paket minimal pada hampir semua distribusi Linux meski dapat ditemukan juga pada sistem-sistem operasi berbasis UNIX.

Min GW
MinGW atau Minimalist GNU for Windows adalah paket program pemrograman berbasis GNU yang dapat dijalankan di dalam sistem operasi Windows. Di dalam paket ini sudah meliputi program GCC sendiri. Di dalam persiapan pelatnas ini, peserta diminta untuk membiasakan diri menggunakan lingkungan pemrograman dan kompilasi berbasis command line.

DevC++
DevC++ atau DevCpp adalah sebuah pengembangan terintegrasi yang digunakan untuk mengembangkan aplikasi dalam bahasa C/C++. DevC++ ini berjalan di atas sistem operasi Windows dan menggunakan MinGW untuk compiler C/C++nya. Meski demikian DevCpp dikembangkan dalam bahasa Delphi. Aplikasi ini adalah pilihan paling baik untuk mengembangkan aplikasi dalam bahasa C/C++ di atas sistem operasi Windows.

Tahap Kompilasi:

Pertama source code (program yang ditulis) dibaca kememori computer).
Source code tersebut diubah menjadi objek code (bahasa Assembly).
Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.

2. Kesimpulan
Ada beberapa jenis compiler dan cara menggunakan-nya pun berbeda beda
C. Penutup
Saya kira cukup untuk pembahasan kali ini, bila ada kesalahan atau kekurangan saya mohon maaf.

Wasalamualaikum Wr. Wb.
D. Referensi

- http://www.infomugi.com/2013/04/pengertian-compiler-interpreter.html
Share:

Cara fMenyatukan Dua Vlan yang berbeda di Packet Tracer |

  1. Pendahuluan
    1. Latar Belakang

    2. Pokok Bahasan

    3. Tujuan

    4. Alat

    5. Waktu

  2. Isi
    1. Pembahasan

    2. Kesimpulan

  3. Penutup

  4. Referensi





Router>
Router>en
Router#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 192.168.100.1 255.255.255.0
Router(config-if)#no sh

Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router(config-if)#ex
Router(config)#int f0/0
Router(config-if)#int f0/0.10
Router(config-subif)#
%LINK-5-CHANGED: Interface FastEthernet0/0.10, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.10, changed state to up

Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip add 192.168.10.1 255.255.255.0
Router(config-subif)#no shutdown
Router(config-subif)#exit
Router(config)#int f0/0
Router(config-if)#int f0/0.20
Router(config-subif)#
%LINK-5-CHANGED: Interface FastEthernet0/0.20, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.20, changed state to up

Router(config-subif)#ip add 192.168.20.1 255.255.255.0

% Configuring IP routing on a LAN subinterface is only allowed if that
subinterface is already configured as part of an IEEE 802.10, IEEE 802.1Q,
or ISL vLAN.

Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip add 192.168.20.1 255.255.255.0
Router(config-subif)#no shutdown
Router(config-subif)#exit
Router(config)#


Switch>
Switch>ena
Switch#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)#int vl 10
Switch(config-if)#ip add 192.168.10.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#ex
Switch(config)#int vl 20
Switch(config-if)#ip add 192.168.20.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#ex
Switch(config)#int f0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
% Access VLAN does not exist. Creating vlan 10
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan10, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up

Switch(config-if)#ex
Switch(config)#int f0/4
Switch(config-if)#sw mo access
Switch(config-if)#sw access vlan 20
% Access VLAN does not exist. Creating vlan 20
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan20, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up

Switch(config-if)#int f0/2
Switch(config-if)#int r f0/1-2
Switch(config-if-range)#sw mo t
Switch(config-if-range)#sw mo trunk

Switch(config-if-range)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up

Switch(config-if-range)#
Switch(config-if-range)#ex
Switch(config)#vtp do
Switch(config)#vtp domain 1
Changing VTP domain name from NULL to 1
Switch(config)#vt
Switch(config)#vtp m
Switch(config)#vtp mode s
Switch(config)#vtp mode server
Device mode already VTP SERVER.
Switch(config)#ex
Switch#
%SYS-5-CONFIG_I: Configured from console by console

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

Switch#
Switch#conf
Switch#configure
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#ip d
Switch(config)#de
Switch(config)#def
Switch(config)#defa
Switch(config)#defau
Switch(config)#defaul
Switch(config)#ip defaul
Switch(config)#ip default-gateway 192.168.100.1
Switch(config)#ex
Switch#

Share:









Dynamic Trunking Protocol (DTP) adalah protokol jaringan berpemilik yang dikembangkan oleh Cisco Systems untuk tujuan menegosiasikan trunking pada tautan antara dua sakelar sadar VLAN, dan untuk menegosiasikan jenis enkapsulasi trunking yang akan digunakan. Ini berfungsi pada Layer 2 dari model OSI. Batang VLAN yang dibentuk menggunakan DTP dapat memanfaatkan protokol trunking IEEE 802.1Q atau Cisco ISL. DTP tidak boleh dikacaukan dengan VTP, karena mereka melayani tujuan yang berbeda. VTP mengomunikasikan informasi keberadaan VLAN di antara sakelar. Bantuan DTP dengan pembentukan port trunk. Tidak ada protokol yang mentransmisikan frame data yang dibawa oleh trunk.
Share:

Apa itu SVG dalam Desain

A. PENGERTIAN
SVG adalah singkatan dari Scalable Vector Graphics dan merupakan format file
baru untuk menampilkan grafik dalam pengembangan web yang berbasis XML
(eXtensible Markup Language) sebagai dasar untuk membentuk gambar vektor dua dimensi. SVG adalah format gambar yang dikembangkan oleh Word Wide Web Consortium (W3C) sejak tahun 1999. Sebuah gambar dengan format SVG disimpan dalam bentuk file XML. SVG dapat dicari, di-index, ditulis dengan bahasa pemograman dan dikompres. Karena berbasis XML, SVG dapat dibuat dan disunting dengan aplikasi teks apa saja.(Misal Sublime Text, Text Editor.)


B. KEUNTUNGAN
Keuntungan penggunaan SVG dibanding format gambar yang lain:
  • File dengan format SVG dapat dibaca dan modifikasi dengan menggunakan
    hampir semua tool/text.
  • Gambar dalam format SVG bersifat scalable/diresizing.
  • Gambar dalam format SVG dapat dicetak dengan kualitas yang tinggi dan
    sama baiknya pada berbagai resolusi.
  • File format SVG dapat bekerja dengan Teknologi Java.
  • Gambar dalam format SVG bersifat zoomable yang artinya setiap bagian dari gambar dapat di perbesar dan di perkecil tanpa mengalami penurunan
    kwalitas. Hal ini berbeda dengan gambar Bitmap.
  • File format SVG merupakan “open standard”.

  • File berformat SVG berukuran lebih kecil dan dapat dikompresi dibanding dengan format gambar JPEG dan GIF.
  • Text dalam SVG “selectable” dan “searchable” (sangat berguna dalam peta).

  • File format SVG merupakan murni XML.


C. LATAR BELAKANG
Karena disetiap format file gambar memiliki keuntungan dan kerugiannyanya, jadi pengguna harus memahami keuntungan dan kekurangan format file gambar.

D. MAKSUD & TUJUAN 
Ingin memahami keuntungan format file SVG

E. KESIMPULAN
Bahwa file SVG memiliki kualitas yang tinggi di banding dengan format file lainnya.

F. REFERENSI


Share:

Cara konfigurasi DHCP Server dengan pc server | Cisco Training Day ?


Asalamualaikum Wr. Wb.

  1. Pendahuluan

    1. Latar Belakang
      Menjelaskan Tentang cara membuat DHCP Server dengan menggunakan PC Server
    2. Pokok Bahasan
      Cara membuat DHCP Server dengan menggunakan PC Server
    3. Tujuan
      Agar mengetahui tentang bagimana cara membuat DHCP Server dengan menggunakan PC Server
    4. Alat
      Laptop
      Packet Tracer
    5. Waktu
      10 - 15 menit

  2. Isi
    1. Pembahasan

    2. Dhcp server adalah Pemberian IP secara Otomatis.

      Kali ini saya akan menjelaskan bagaimana cara membuat DHCP Server dengan PC Server.

      Petama kita buat topologi dulu seperti gambar di bawah ini.




      Buka PC server, dan isi ip address beserta default gateway-nya


      Setelah itu close kemudian pilih Services, dan pilih DHCP


      Aktifkan Service DHCP nya, lalu isi ip address, default gateway dan subnet mask-nya, kemudian pilih save.


      Setelah menyeting menyeting server, Sekarang kita beralih ke pc. Masuk ke dekstop dan pilih ip configure, setelah itu pilih DHCP


      Jika berhasil maka akan muncul tulisan DHCP request successful seperti diatas ini.

    3. Kesimpulan
      telah bisa membuat DHCP server dengan PC Server pada Cisco Packet Tracer.
  3. Penutup
    Saya kira cukup sekian untuk kali ini. Maaf jika ada salah kata.


    Wasalamualaikum Wr. Wb.
  4. Referensi

  5. http://komunologi.blogspot.com/2015/10/membuat-ip-dhcp-server-dengan-cisco.html
Share:

Jenis Dan Fungsi Header dalam bahasa C dan C++


File header yaitu file yang berisi deklarasi fungsi dan definisi konstanta. Beberapa file-judulsudah disediakan di C. File-file ini mempunyai ciri bereksistensi .h. file-file header ini biasanya dipanggilmenggunakan fungsi include. Fungsi include sendiri merupakan salah satu jenis pengarah praprosesoryang dipakai untuk membaca file-file header itu sendiri.Berikut ini adalah macam - macam file header yang umum digunakan dalam C++ :
<iostream.h> (input output stream)
File header yang digunakan untuk melakukan penginputan dan pencetakan, diperlukan padaprogram yang melibatkan objek coutPerintah yang digunakan adalah :
cin : untuk peginputan
cout : untuk pencetakan2.
<stdio.h>  (standart input output)
File header yang merupakan singkatan dari "standard input / output header", adalah headeryang berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untukberbagai standard input dan output operasi .Perintah yang digunakan adalah
scanf : untuk penginputan
printf : untuk pencetakan3.
<conio.h> (console input output)
file header yang digunakan untuk membuat teks antarmuka pengguna. Diperlukan bilamelibatkan clrscr( ),yaitu perintah untuk membersihkan layar.perintah yang digunakan adalah
clrscr( ) : untuk menghapus layar
getch( ) : untuk menahan tampilan output
<assert.h>  Berisi menegaskan makro, digunakan untuk membantu mendeteksi kesalahan logis dan jenis lain dari bug di versi debug dari sebuah program.
<ctype.h>  Berisi fungsi yang digunakan untuk mengklasifikasikan jenis karakter dengan mereka atau untuk mengkonversi antara atas dan huruf kecil dengan cara yang independen dari yang digunakan set karakter(biasanya ASCII atau salah satu ekstensi, meskipun implementasi memanfaatkan EBCDIC juga dikenal).
<errno.h>  Untuk pengujian kode kesalahan dilaporkan oleh fungsi perpustakaan.
<float.h>  Berisi konstanta didefinisikan menentukan implementasi khusus properti dari floating-point perpustakaan, seperti perbedaan minimum antara dua yang berbeda floating-point ( _EPSILON ), jumlah maksimum digit akurasi ( _DIG ) dan kisaran angka yang dapat diwakili (_MIN , _MAX ).
<setjmp.h>  Mendeklarasikan macro setjmp dan longjmp , yang digunakan untuk non-lokal keluar.
<signal.h>  Untuk mengendalikan berbagai kondisi yang luar biasa.
<stdarg.h>  Untuk mengakses berbagai jumlah argumen yang dilewatkan ke fungsi.
<stdbool.h>  Untuk tipe data boolean.
<stdint.h>  Untuk mendefinisikan berbagai tipe data integer.
<stddef.h>  Untuk mendefinisikan jenis yang berguna dan macro.
<stdio.h>  yang merupakan singkatan dari “standard input / output header”, adalah header yang berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untuk berbagai standard input dan output operasi
<stdlib.h>  Untuk melakukan berbagai operasi, termasuk konversi,pseudo-acak nomor , alokasi memori, kontrol proses, lingkungan, sinyal, pencarian, dan sortasi.
<string.h>  Untuk memanipulasi beberapa jenis string.
<tgmath.h>  Untuk tipe-generik fungsi matematika.
<time.h>  Untuk mengkonversi antara waktu berbagai format tanggal.
<wchar.h>  Untuk memanipulasi sungai lebar dan beberapa jenis string menggunakan karakter lebar – kunci untuk mendukung berbagai bahasa.
<wctype.h>  Untuk mengklasifikasi karakter lebar
<complex.h>  adalah file header yang mendefinisikan fungsi untuk aritmatika kompleks
<fenv.h>  adalah file header yang mengandung berbagai fungsi dan macro untuk memanipulasi lingkungan floating-point
<inttypes.h>  file header berfungsi mendefinisikan beberapa macro untuk digunakan dengan fungsi printf dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.
<iso646.h>  adalah header yang mendefinisikan beberapa macro yang memungkinkan programmer untuk menggunakan C bitwise bahasa dan operator logika, yang, tanpa file header, tidak bisa cepat atau mudah diketik pada beberapa keyboard non-QWERTY internasional dan.
<limits.h>  adalah file header dari perpustakaan standar bahasa pemrograman C yang mencakup definisi karakteristik dari jenis variabel umum
<locale.h>  adalah pemrograman bahasa C file header, digunakan untuk tujuan lokalisasi
<math.h>  berisi prototype fungsi untuk pustaka matematika
<string.h>  berisi prototype fungsi untuk pemrosesan string


Apa Itu File Header ?

File header merupakan suatu file library dengan ekstensi h (*.h), yaitu file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program. Dalam bahasa C, file header standar untuk proses input/output adalah <stdio.h>. 

Kita memerlukan file header <stdio.h> hampir di setiap kode program yang kita buat dalam bahasa C.  Apabila kita menggunakan file header yang telah disediakan oleh kompilator, maka kita harus menuliskannya di dalam tanda ‘<’ dan ‘>’ (misalnya <stdio.h>). Namun, apabila kita menggunakan file header yang kita buat sendiri, maka file tersebut ditulis di antara tanda ‘"’ (misalnya FianHeader.h").

Perbedaan antara kode file header tersebut terletak pada saat pencarian file tersebut. Apabila kita menggunakan tanda <>, maka file header tersebut akan dianggap berada pada direktori default yang telah ditentukan oleh kompilator. Sedangkan apabila kita menggunakan tanda "", maka file header dapat kita tentukan sendiri lokasinya.


File header yang akan kita gunakan harus kita daftarkan dengan menggunakan directive #include. Apa itu Directive #include? Directive #include adalah suatu syntax untuk memberitahu kepada kompilator bahwa program yang kita buat akan menggunakan file-file yang didaftarkan.

Berikut ini contoh penggunaan directive #include.

#include<stdio.h>
#include <stdlib.h>

#include "FianHeader.h"Jangan lupa, setiap kita menggunakan suatu fungsi tertentu dalam program yang ingin kita buat, maka kita juga harus mendaftarkan file header-nya dengan menggunakan directive #include. Sebagai contoh, kita akan menggunakan fungsi getch() dalam program, maka kita harus mendaftarkan file header <conio.h>.

Berikut macam-macam file header beserta fungsinya :

·         Stdio.h
Merupakan singkatan dari "standar input/output header", adalah header yang berisi definisi makro, konstanta, dan deklarasi fungsi dari dua jenis yang digunakan untuk berbagai standar input output operasi.

·         conio.h
File header yang digunakan untuk membuat teks antarmuka pengguna.
·         assert.h
File header yang mendefinisikan makro menegaskan c processor.

·         complex.h
File header yang mendefinisikan fungsi untuk aritmatika kompleks.

·         ctype.h
File header untuk deklarasi yang berfungsi mengklasifikasi karakter.

·         errno.h
File header yang berfungsi melaporkan kondisi kesalahan melalui kode kesalahan.

·         fenv.h
File header yang mengandung berbagai fungsi dan makro untuk memanipulasi lingkungan floating point.

·         float.h
File header yang berfungsi memperluas ke berbagai limit dan parameter dari jenis floating point standar.

·         Inttypes.h
File header yang berfungsi mendefinisakan beberapa makro untuk digunakan dengan fungsi printf,dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.

·         iso646.h
File header yang mendefinisikan beberapa makro yang memungkinkan programmer untuk menggunakan c bitwise bahasa dan operator logika yang tanpa file header tidak bisa cepat atau mudah di ketik pada beberapa keyboard non-qwerty internasional.

·         limits.h
File header dari perpustakaan standar bahasa pemrograman c yang mencakup definisi karakteristik dari jenis variabel umum.

·         locale.h
File header, digunakan untuk tujuan lokalisasi.

·         math.h
Berisi prototype fungsi untuk pustaka matematika.

·         string.h

Berisi prototype fungsi untuk pemrosesan string.


Referensi

https://www.fianpanic.com/2017/07/rangkuman-macam-macam-file-header-h.html
http://sasuchiko.blogspot.com/2016/02/macam-macam-file-header-pada-bahasa-c.html

Share:

Sejarah dan perkenbangan bahasa c dan c++

Pemrograman sudah ada semenjak adanya komputer pertama diciptakan. Tapi pada awalnya programmer bekerja dengan bahasa komputer yang sangat sulit untuk di pahami oleh manusia, bahasa itu adalah bahasa mesin.
Karena sangat sulit untuk bekerja dengan bahasa mesin, maka dari itu dibuatlah bahasa Assembly yang merupakan bahasa rakitan, kumpulan dari singkatan kode-kode.
Bahasa tingkat rendah Assembly pun masih sulit untuk manusia, maka manusia menciptakan bahasa pemrograman tingkat tinggi yang mudah untuk dipahami oleh manusia. Waktu ke waktu semakin banyak pengembang yang berusaha untuk mengembangkan bahasa pemrograman, banyak bahasa tingkat tinggi yang bermunculan dengan fasilitas yang mereka tawarkan, salah satunya adalah C++.

Sejarah Bahasa Pemrograman C

Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970, yang juga merupakan bahasa yang diturunkan oleh bahasa sebelumnya, yaitu BCL.
Bahasa C pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman yang tergolong di antara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star dan lain-lain.
Baca Selengkapnya : Sejarah Bahasa Pemrograman C

Sejarah Bahasa Pemrograman C++

Bahasa C++ lahir pada tahun 1980, yang dibuat oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas, bahasa tersebut disebut “C dengan kelas” (C with Class).
Pada tahun 1983-1984, C dengan kelas disempurnakan dengan menambahkan fasilitas overloading operator, yang mulanya disebut “a better C” kemudian berganti nama pada tahun 1983 menjadi C++. Simbol ++merupakan operator penaikan pada C, digunakan untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.
Borland International merilis kompiler Borland C++ dan Turbo C++. Kedua kompiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International beberapa perusahaan lain juga merilis kompiler C++, seperti Topspeed C++ dan Zortech C++.
Awal mula Bjarne Stroustrup membuat membuat C++ adalah ketika Bjarne Stroustrup melakukan pekerjaan untuk gelar Ph.D. tesis pada salah satu bahasa pemrograman dan Stroustrup memiliki kesempatan untuk bekerja dengan bahasa tersebut yang disebut Simula,
Simula merupakan bahasa untuk simulasi. The Simula 67 bahasa yang merupakan varian bekerja dengan Stroustrup. bahasa tersebut dianggap sebagai bahasa pertama untuk mendukung paradigma pemrograman berorientasi obyek. Stroustrup menyadari bahwa paradigma ini sangat berguna untuk pengembangan perangkat lunak, dengan kelebihan bahasa Simula tersebut tetapi bahasa Simula memiliki kekurangan yaitu, bahasa Simula terlalu lambat untuk penggunaan praktis.
Tak Lama kemudian, ia memulai untuk mengerjakan bahasa pemrograman berdasarkan ide yang telah ia dapatkan. Stroustrup mengerjakan C++ dengan nama awalnya yaitu C With Class. yang dimaksudkan untuk menjadi superset dari bahasa C, dengan menambahkan pemrograman berorientasi obyek ke dalam bahasa C.
Alasan Kenapa Stroustrup lebih memilih untuk mengembangkan C adalah, karena bahasa pemrograman C merupakan bahasa pemrograman yang sangat popular karena kecepatan, kinerja yang bagus, memungkinkan untuk melakukan pengkodean bahasa tingkat rendah dan lain sebagainya.
Kompiler Pertama C with class disebut Cfront, yang berasal dari kompiler C disebut CPRE. CFront adalah program yang dirancang untuk menerjemahkan C dengan Kelas ke C. hal menarik yang patut untuk diketahui adalah bahwa Cfront sebagian besar ditulis dalam C with Class, membuatnya menjadi kompiler self hosting(Kompiler yang dapat mengkompilasi diri sendiri).
Cfront kemudian ditinggalkan pada tahun 1993 setelah dianggap sulit untuk mengintegrasikan fitur baru ke dalamnya. Meskipun demikian, Cfront membuat dampak besar pada implementasi kompiler masa depan dan pada sistem operasi Unix.
Pada tahun 1985, Stroustrup membuat buku referensi berjudul The C ++ Programming Language diterbitkan. Pada tahun yang sama, C ++ dilaksanakan sebagai produk komersial. Bahasa ini belum secara resmi distandarkan. Bahasa ini diperbarui lagi pada tahun 1989 dan menambahkan fasilitas Protected member, Static member, serta Inheritance.
Pada tahun 1990, buku The Annotated C ++ Reference dirilis. Pada tahun yang sama Borland dan Turbo C ++ kompiler dirilis sebagai produk komersial. Turbo C ++ menambahkan banyak library tambahan yang akan memiliki dampak yang besar terhadap pengembangan C ++. Meskipun rilis stabil terakhir Turbo C ++ pada tahun 2006, tapi kompiler tersebut sampai saat ini masih banyak digunakan.
Pada tahun 1998, panitia standar C ++ menerbitkan Standar Internasional pertama untuk C ++ ISO / IEC 14882: 1998. Pada tahun 2003, panitia mendapati beberapa masalah yang dilaporkan dengan C++ Standar mereka pada tahun 1998, karena itu bahasa diperbaharui yang merupakan revisi masalah sebelumnya dan dijuluki C ++ 03.
Pada tahun 2005, panitia Standarisasi C ++ merilis laporan teknis yang dijuluki TR1, merinci berbagai fitur mereka berencana untuk menambah C ++ standar terbaru. Standar baru itu secara informal dijuluki C ++ 0x seperti yang diharapkan akan dirilis sebelum akhir dekade pertama. Namun, ironisnya, standar baru tidak dirilis sampai pertengahan 2011.
Pada pertengahan 2011, C ++ 11 selesai dan merupakan C++ standar baru. The Library Project Meningkat, membuat dampak yang besar terhadap standar baru, dan beberapa modul baru berasal langsung dari Boost perpustakaan. Beberapa fitur baru termasuk dukungan ekspresi regular merupakan sebuah perpustakaan pengacakan komprehensif, perpustakaan threading standar , fungsi baru untuk pengulangan, Foreach Loop, kata kunci AutoClass New Container, dukungan yang lebih baik untuk daftar inisialisasi Array, dan Variadic Template.

C++ Standardization

TahunC++ StandarNama Informal
1998ISO/IEC 14882:1998C++98
2003ISO/IEC 14882:2003C++03
2011ISO/IEC 14882:2011C++11, C++0x
2014ISO/IEC 14882:2014C++14, C++1y
2017ISO/IEC 14882:2017C++17, C++1z
2020Akan DitentukanC++20







Kisah dimulai dari sistem operasi UNIX, yang mana inilah tujuan awal dari pengembangan bahasa C.

Sekitar tahun 1960, Massachusetts Institute of Technology, Bell Labs, dan General Electric bekerjasama mengembangkan sebuah sistem operasi untuk komputer GE-645 mainframe. Pada era tersebut sebuah komputer bisa sebesar satu ruangan.

Sistem operasi ini dinamakan Multics (Multiplexed Information and Computer Services). Kemunculan Multics membawa banyak inovasi, namun bahasa pemrograman yang dipakai cukup kompleks.

Tidak ingin membuang banyak waktu dengan pengembangan Multics, peneliti dari Bell Labs lambat laun meninggalkan project tersebut, diantaranya adalah Ken Thompson, Dennis Ritchie, M. D. McIlroy, dan J. F. Ossanna.

Bell Labs sendiri merupakan sebuah laboratorium multi disiplin ilmu yang berlokasi di Murray Hill, New Jersey, Amerika Serikat. Saat itu Bell Labs berada di bawah perusahaan AT&T Corporation (sekarang Bell Labs sudah berada di bawah Nokia: www.bell-labs.com)

Peneliti di Bell Labs mencoba mengembangkan ulang sistem operasi yang lebih sederhana dibandingkan Multics. Sistem operasi ini diberi nama Unics (Uniplexed Information and Computing Service), yang kemudian berubah nama menjadi UNIX.
Bell Labs - Sumber: wikipedia.org

Bell Labs – Sumber: wikipedia.org
Bahasa C untuk Mengembangkan UNIX

Pada awalnya, sistem operasi UNIX dibuat menggunakan bahasa assembly. Sistem operasi ini pertama kali diimplementasikan ke dalam komputer PDP-7 dan berikutnya ke dalam PDP-11 oleh Dennis Ritchie and Ken Thompson.

Agar lebih sederhana, pengembangan UNIX kemudian diubah menggunakan bahasa pemrograman B, yakni sebuah bahasa yang dibuat oleh Ken Thompson. Akan tetapi bahasa B memiliki keterbatasan sehingga beberapa fitur di PDP-11 tidak bisa diprogram. Oleh karena itu dikembangkanlah bahasa pemrograman C. Nama bahasa C dipilih sebagai huruf abjad selanjutnya setelah B.
Ken Thompson (kiri) with Dennis Ritchie (kanan)

Ken Thompson (kiri) with Dennis Ritchie (kanan) – Sumber: wikipedia.org

Bahasa pemrograman C ini dikembangkan antara tahun 1969 – 1972 oleh Dennis Ritchie. Yang kemudian dipakai untuk menulis ulang sistem operasi UNIX. Selain untuk mengembangkan UNIX, bahasa C juga dirilis sebagai bahasa pemrograman umum.

Pada tahun 1978, Brian Kernighan dan Dennis Ritchie merilis buku “The C Programming Language”, yang juga sering disebut sebagai “K&R” (singkatan dari nama penulisnya: Kernighan dan Ritchie). Buku “The C Programming Language” menjadi standar untuk buku programming modern, dan masih sering dijadikan bahan referensi bahasa C di kalangan akademisi.
Perkembangan UNIX dan Bahasa C

Sistem Operasi UNIX yang dibuat oleh Bell Labs ternyata cukup populer. Pada era tersebut sebuah komputer berharga sangat mahal dan berukuran besar (butuh satu ruangan khusus). Oleh karena itu komputer UNIX hanya terdapat di kantor pemerintah dan beberapa Universitas besar di Amerika Serikat.

Masuknya UNIX ke Universitas inilah yang turut mempopulerkan penggunaan bahasa pemrograman C. Mau tidak mau mahasiswa yang ingin mengembangkan aplikasi UNIX juga harus menguasai bahasa pemrograman C. Ini pula yang menjadi alasan berkurangnya penggunaan bahasa pemrograman Pascal (yang juga cukup populer pada saat itu).

Perkembangan UNIX tidak berhenti sampai disini. Pada tahun 1983, Richard Stallman membuat sebuah project open source: GNU (singkatan dari GNU’s Not Unix). Project ini ingin membuat sebuah sistem operasi gratis yang mirip seperti UNIX dan bisa diinstall di komputer pribadi, tidak hanya di komputer-komputer besar.

Pada tahun 1991, Linus Torvalds merilis kernel (otak pemrosesan sebuah sistem operasi) yang dinamakan Linux. Linux juga dirilis dengan lisensi GNU, yang mana boleh digunakan, dipelajari, dimodifikasi dan disebarkan oleh siapa saja. Linux sendiri terinspirasi dari UNIX dan juga dikembangkan menggunakan bahasa pemrograman C.

Apple juga tidak ketinggalan menggunakan UNIX. Pada tahun 1997 – 2001, sistem operasi MacOS dikembangkan ulang dari NeXTSTEP, sebuah sistem Unix. MacOS kemudian dijadikan sebagai basis untuk seluruh sistem operasi Apple, mulai dari sistem operasi MacOS untuk Komputer dan Laptop, sistem operasi iOS untuk smartphone, serta sistem operasi watchOS dan tvOS .

Sistem operasi Android juga tidak lepas dari UNIX. Android sendiri menggunakan kernel Linux yang telah di modifikasi.

Seluruh sistem operasi ini menjadi keluarga yang dikenal sebagai UNIX-like, dan hampir semuanya ditulis menggunakan bahasa pemrograman C.
Penggunaan Bahasa Pemrograman C

Melihat banyaknya implementasi dari bahasa C dalam sistem UNIX dan “keluarganya” (UNIX-like), maka otomatis jika anda ingin mempelajari “daleman” dari berbagai sistem operasi seperti UNIX, Linux, MacOS hingga Android, akan butuh bahasa pemrograman C.

Berbagai compiler bahasa pemrograman juga dikembangkan menggunakan bahasa C. Sebagai contoh, compiler untuk bahasa pemrograman PHP dibuat menggunakan bahasa C. Aplikasi MySQL juga dibuat dari bahasa C. Apabila anda ingin berkontribusi sebagai pengembang dari aplikasi MySQL, PHP, dan sebagian besar project open-source, mayoritas juga menggunakan bahasa C.

Tapi bukan berarti jika kita ingin membuat aplikasi di UNIX, Linux, MacOS dan Android, harus menggunakan bahasa C. Bahasa C baru perlu untuk memodifikasi sistem tersebut.

Bahasa C adalah sebuah bahasa pemrograman yang sangat powerful. Hampir semua aplikasi bisa dibuat menggunakan bahasa pemrograman C. Bahkan, jika anda ingin membuat sebuah bahasa pemrograman baru, bahasa C merupakan pilihan yang pas untuk mengembangkannya.
Bahasa PHP dikembangkan dari C

Bahasa PHP dikembangkan dari C – sumber: wikipedia.org
Versi Bahasa Pemrograman C

Seperti layaknya berbagai aplikasi komputer, bahasa C juga memiliki beberapa versi atau tahap pengembangan. Versi bahasa C ini dikenal sebagai ANSI C.

ANSI adalah singkatan dari American National Standards Institute. Sebuah badan standarisasi yang berkantor pusat di Amerika Serikat. Kalau di Indonesia, bisa disamakan dengan SNI (Standar Nasional Indonesia). Selain ANSI, badan standarisasi lain yang cukup terkenal adalah ISO, IEEE dan W3C.

Standarisasi diperlukan agar terdapat “patokan” baku dari sebuah bahasa C. Karena bisa saja sebuah perusahaan mengembangkan bahasa C kemudian menambah beberapa fitur yang belum tentu tersedia di aplikasi lain.

Terdapat beberapa versi ANSI C yang ditandai dengan tahun saat standar tersebut dirilis:

    C89: Standar bahasa C pertama yang dirilis oleh ANSI pada tahun 1989. Versi ini dikenal sebagai C89.
    C99: Pada tahun 1999, ANSI menambahkan beberapa fitur baru ke dalam bahasa C, seperti inline functions, beberapa tipe data baru dan flexible array-members. Versi ini dikenal sebagai C99.
    C11: Sesuai dengan namanya, standar C11 diperbaharui pada tahun 2011. Terdapat penambahan fitur-fitur baru, seperti macros, atomic operations, dan anonymous structures yang tidak terdapat di C99.
    C18: Standar ini dirilis pada bulan Juni 2018. Tidak ada penambahan fitur baru jika dibandingkan C11, namun berisi perbaikan bug dan error yang ada di standar C18.

ANSI C18 merupakan versi paling baru, namun karena masih sangat baru (hanya beda beberapa bulan sejak update artikel ini di Agustus 2018), akan butuh waktu agar semua compiler C mendukungnya. Karena itu jika anda mencari compiler C, boleh memilih yang menggunakan standar C11 sambil menunggu update ke C18.v

Referensi

https://www.duniailkom.com/tutorial-belajar-c-sejarah-bahasa-pemrograman-c/
https://www.belajarcpp.com/tutorial/cpp/sejarah-cpp/

Share:

Translate

Folowers

Popular Posts

Recent Posts

Pages