SEJARAH PERKEMBANGAN MEKANIKA KLASIK DAN MEKANIKA MODERN


Mekanika merupakan cabang ilmu fisika tertua yang berhubungan dengan materi (benda), yaitu ilmu yang mempelajari  gerak benda, baik benda diam (statistika) maupun benda yang bergerak (kinematika dan dinamika). Dalam perkembangannya mekanika dibagi menjadi 2, yaitu mekanika klasik dan mekanika modern.

A.Perkembangan Mekanika Klasik
Perkembangan mekanika klasik didasarkan pada perkembangan sejarah fisika, yaitu :
I.      Periode Pertama (Pra Sains – 1550 M)
a.    Aristoteles (384 – 332 SM)
Aristoteles merupakan seorang filosof dan ilmuwan terbesar dalam masa lampau. Dia mempelopori penyelidikan ihwal logika, memperkaya hampir tiap cabang falsafah dan memberi sumbangsih yang besar terhadap ilmu pengetahuan.
Aristoteles merupakan orang pertama di periode ini yang mengemukakan cabang mekanika yang berurusan dengan hubungan timbal balik antara gerak dan gaya yaitu bidang dinamika. Ia mengemukakan suatu argumen tentang sifat bawaan dari berbagai benda yang memberikan alasan untuk berbagai sifat tersebut  dalam daya intrinsik khusus  dari benda itu sendiri. Aristoteles membedakan dua jenis gerak yaitu gerak alamiah dan gerak paksa. Menurutnya tiap unsur memiliki “tempat alamiah” di alam semesta ini seperti di pusat bumi yang dikelilingi oleh udara, air dan api. Dengan cara serupa tiap unsur memiliki suatu gerak alamiah untuk bergerak ke arah tempat alamiahnya jika ia tidak berada di sana. Umumnya, bumi dan air memiliki sifat berat, yaitu cenderung bergerak ke bawah, sementara udara dan api memiliki sifat levitasi, yaitu cenderung bergerak ke atas. Salah satu kekurangan dinamika Aristoteles adalah bahwa kecepatan sebuah benda akan menjadi tak hingga jika tidak ada resistansi terhadap geraknya. Sukar sekali bagi penganut Aristoteles (aristotelian) untuk membayangkan gerak tanpa resistansi. Memang kenyataan bahwa gerak seperti itu akan menjadi cepat secara tak terhingga jika tak ada gesekan dengannya seperti benda yang bergerak di ruang kosong. Teori Aristoteles bahwa gerak paksa (gerak yang s=disebabkan oleh gaya luar yang dikenakan dan boleh ke sembarang arah) membutuhkan suatu gaya yang bekerja secara kontiniu ternyata bisa disangkal dengan memandang gerak proyektil. Aristoteles mencontohkan pada sebuah anak panah yang ditembakkan  dari sebuah busur akan tetap bergerak untuk beberapa jarak meskipun jelas-jelas tidak selamanya didorong, busur entah bagaimana memberi suatu daya gerak kepada udara, yang kemudian mempertahankan anak panah tetap bergerak. Penjelasan ini sangat tidak meyakinkan, dan masalah gerak peluru terus berlanjt hingga membuat kesal para Aristotelian selama berabad-abad.
b.    Archimedes (287 – 212 SM)
Cabang lain mekanika adalah Statistika. Statistika meruakan studi benda-benda diam karena kombinasi berbagai gaya. Perintis bidang ini adalah Archimedes. Archimedes juga merupakan pendiri ilmu hidrostatistika, yaitu studi tentang keseimbangan gaya-gaya yang mereka kenakan pada benda-benda tegar.  Dalam bukunya yag berjudul “benda-benda merapung”, ia menyatakan suatu prinsip terkenal yaitu “benda-benda yang lebih berat dari cairan bila ditempatkan dalam cairan akan turun ke dasar cairan tersebut. Bila benda tersebut ditimbang beratnya dalam cairan tersebut akan lebih ringan dari berat yang sebenarnya, seberat zat cair yang dipisahkannya.
Sumbangsih lain dari Archimedes yaitu prinsip-prinsip fisika dan matematika diaplikasikan Archimedes seperti pompa ulir, untuk mengangkat air dari tempat yang lebih rendah maupun untuk tujuan perang. Memang tidak dapat dihindari bahwa suatu penemuan biasanya  akan dipicu oleh suatu kebutuhan mendesak. Cermin pembakar, derek (crane) untuk melontarkan panah dan batu atau menenggelamkan kapal adalah penguasaan fisika Archimedes yang dapat dikatakan luar biasa pada zamannya. Kontribusi penghitungan p (pi) dari Archimedes dapat disebut sebagai awal bagi para pengikut untuk meniru metode yang dipakai untuk menghitung luas lingkaran. Terus memperbanyak jumlah segi enam untuk menghitung besaran p (pi) mengilhami para matematikawan berikutnya bahwa adanya suatu ketidakhinggaan seperti paradoks Zeno, dimana hal ini mendorong penemuan kalkulus. Archimedes adalah seorang yang mendasarkan penemuannya dengan eksperimen sehingga ia dijuluki Bapak IPA Eksperimental.
c.    Eratoshenes (273 – 192 SM)
Erastohenes melakukan perhitungan diameter bumi pada tahun 230 SM. Dia menengarai bahwa kota Syene di Mesir terletak di equator, dimana matahari bersinar vertikal tepat di atas sumur pada hari pertama musim panas. Erastohenes mengamati fenomena ini tidak dari rumahnya, dia menyimpulkan bahwa matahari tidak akan pernah mencapai zenith di atas rumahnya di Alexandria yang berjarak 7o dari Syene. Jarak Alexandria dan Syene adalah 7/360 atau 1/50 dari lingkaran bumi yang dianggap lingkaran penuh adalah 360o. Jarak antara Syene sampai Alexandria  +/- 5000 stade. Dengan dasar itu disebut prakiraan bahwa diameter bumi berkisar 50x5000 stade = 25.000 stade = 42.000 Km. Pengukuran tentang diameter bumi diketahui adalah 40.000 km. Ternyata, astronomer jaman kuno juga tidak kalah cerdasnya degan deiasi kurnag dari 5%
II.    Periode Kedua (Awal Sains 1550 M – 1800 M)
a.   Galileo (1564 M – 1642 M)
Aristoteles mengajarkan, benda yang lebih berat jatuh lebih cepat ketimbang benda yang lebih enteng, dan generasi-generasi kaum cerdik pintar menelan pendapat ini. Tetapi, Galileo mencoba memutuskan benar tidaknya, dan lewat senrentetan eksperimen dia menyimpulkan bahwa Aristoteles keliru. Yang benar adalah, baik benda berat maupun enteng jatuh pada kecepatan yang sama kecuali sampai batas berkurang kecepatannya akibat pergeseran udara. Galileo melakukan eksperimen ini dimenara Pisa. Pada satu sisi benda ringan akan menghambat benda berat dan benda berat akan mempercecpat benda ringan, dan karena itu kombinasi tersebut akan bergerak pada suatu laju pertengahan. Di lain pihak benda-benda yang dipadu bahkan akan membentuk benda yang lebih berat yang karena itu harus bergerak lebih cepat daripada yang pertama atau salah satunya. Mengetahui hal ini, Galileo mengambil langkah-langkah lebih lanjut. Dengan hati-hati dia mengukur jarak jatuhnya benda pada saat yang ditentukan dan mendapat bukti bahwa jarak yang dilalui oleh benda yang jatuh berbanding seimbang dengan jumlah detik kwadrat jatuhnya benda. Penemuan ini (yang berarti penyeragaman kecepatan) memiliki arti penting tersendiri. Bahkan lebih penting lagi Galileo berkemampuan menghimpun hasil penemuannya dengan formula matematik.
Sumbangan besar Galileo lainnya adalah mengenai kelembaman (inersia). Seblumnya, orang percaya bahwa benda bergerak dengan sendirinya cenderung menjadi makin pelan dan sepenuhnya berhenti kalau saja tidak ada tenaga yang menambah kekuatan agar terus bergerak. Tetapi percobaan-percobaan Galileo membuktikan bahwa anggapan itu keliru. Bilamana kekuatan melambat seperti misalnya pergeseran, dapat dihilangkan, benda bergerak cenderung tetap bergerak tanpa batas. Anaisis Galileo mencapai resolusi akhir masalah gerak peluru. Galileo menganggap bahwa sebuah benda yang menggelinding ke bawah pada suatu bidang miring adalah dipercepat seragam yaitu kecepatan bertambah dengan besar yang sama dalam tiap interval waktu yang kecil. Dia kemudian menunjukkan bahwa asumsi ini dapat diuji dengan mengukur jarak yang dilalui dari pada mencoba mengukur kecepatan secara langsung.
b.   Descartes (1596 M – 1661 M)
Descartes telah memunculka hukum Gerak Descartes berdasarkan pada perhitungan simetris dan suatu gagasan bahwa sesuatu harus ditinjau dari proses tumbukan. Sayangnya, gagasan Descartes memiliki kekurangan seperti gagasan Aristoteles yaitu masalah diskontinuitas. Descartes menerima prinsil Galileo bahwa benda-benda cenderung untuk bergerak dalam garis lurus, dia beranggapan bahwa tidak pernah ada sembarang ruang kosong ke dalam dimana sebuah benda dapat bergerak. Maka konsekuensinya adalah satu-satunya gerak yang mungkin adalah rotasi dari suatu kumpulan partikel.
Pengaruh besar lain dari konsepsi Descartes adalah tentang fisik alam semesta. Dia yakin, seluruh alam kecuali Tuhan dan jiwa manusia bekerja secara mekanis dan karena itu semua peristwa alami dapat dijelaskan secara dan dari sebab-musabab mekanis. Atas dasra ini, dia menolak anggapan-anggapan astrologi, magis, dan lain-lain ketahayulan. Berarti dia pun menolak semua penjelasan kejadian secara teologis. Dari pandangan Descartes, semua makhluk hidup pada hakekatnya merupakan mesin ruwet dan tubuh manusia pun tunduk pada hukum mekanis biasa. Pendapat ni sejak saat itu menjadi salah satu ide fundamental bagi fisiologi modern. Descartes menyukai suatu alam dengan suatu mekanisme mesin jam yang besar sekali, yaitu alam yang mekanistik yang diciptakan oleh Tuhan dengan suatu pasokan materi dan gerak yang tetap. Agar mesin dunia tidak “berhenti akhirnya”, dia berasumsi bahwa kapanpun dua partikel bertumbukan, daya dorong atau momentum total mereka harus tetap tak berubah. Descartes mendefenisikan momentum sebagai perkalian massa dan kecepatan, mv. Ini tidak epenuhnya benar, kecuali kecepatan diperlakukan sebagai sebuah vektor yaitu suatu besaran yang memiilki arah tertentu di dalam ruang sehingga kecepatan-kecepatan yang sama dalam arah berlawanan akan saling menghilangkan.
c.   Torricelli (1608 M – 1647 M)
Pada tahun 1643, Toricelli membuat eksperimen sederhana yang dinamakan Toricelli Experiment yaitu ia menggunakan sebuah tabung kaca kuat dengan panjang kira-kira 1 m dan salah satu ujungnya tertutup. Dengan menggunakan sarung menghadap ke atas. Dengan menggunakan corong, ia menuangkan raksa dari botol ke dalam tabung sampai penuh. Kemudian ia menutup ujung terbuka tabung dengan jempolnya dan segera membaliknya. Dengan cepat ia melepaskan jempolnya dari ujung tabung dan menaruh tabung vertikal dalam sebuah bejana berisi raksa. Ia mengamati permukaan raksa dalam tabung dan berhenti ketika tinggi kolom raksa dalam tabung 76 cm di atas permukaan raksa dalam bejana. Ruang vakum terperangkap di atas kolam raksa.
d.   Otto von Guericke (1602 M – 1686 M)
Pada 1650, Guecirke menemukan pompa udara. Geuricke menerapkan barometer ke ramalan cuaca untuk meteorologi. Kemudian bidang kajiannya dipusatkan pada listrik, tetapi sangat sedikit hasilnya. Ia menemukan generator elektrostatik yang pertama “Elektrisiermaschine”.
e.   Blaise Pascal (1623 M – 1662 M)
Dalam bidang fisika, khususnya mekanika, Pascal melakukan percobaan dengan cara mengukur beda tinggi barometer di dasar dan di puncak gunung. Dari keterangan-keterangannya itu dia mengemukakan prinsip hidrostatik yang kita kenal dengan Hukum Pascal, yaitu “Jika suatu zat cair dikenakan tekanan, maka tekanan itu akan merambat ke segala arah sama besar dengan tidak bertambah atau berkurang ekuatannya”.
f.    Isaac Newton (1642 M – 1727 M)
Penemuan-penemuan Newton yang terpenting adalah di bidang mekanika, pengetahuan sekitar bergeraknya susuatu benda didasarkan pada tiga hukum fundamental. Hukum pertama adalah hukum inersia Galileo. Galileo melukiskan gerak sesuatu objek apabila tidak dipengaruhi oleh kekuatan luar. Tentu saja pada dasarnya semua objek dipengaruhi oleh kekuatan luar dan persoalan yang paling penting adalah bagaimana objek bergerak dalam keadaan itu. Masalah ini dipecahkan oleh Newton dalam hukum geraknya yang kedua dan termasyhur dan dapat dianggap sebagai hukum fisika klasik yang paling utama. Hukum kedua menetapkan bahwa percepatan objek adalah sama dengan gaya netto dibagi massa benda (a=F/m). Hukum kedua Newton memiliki bentuk sama seperti hukum dinamika Aristoteles (v=kF/R), dengan dua perbedaan penting, yang satuadalah bahwa gaya menghasilkan percepatan dari pada kecepatan sehingga dalam ketidakhadiran gaya kecepatan tetap konstan, perbedaan yang lain adalah bahwa hambatan terhadap gerak disebabkan oleh massa benda itu sendiri terhadap medium di mana ia bergerak. Terhadap kedua hukum itu Newton menambah hukum ketiganya yang termasyur tentang gerak (menegaskan bahwa pada tiap aksi terdapat reaksi yang sama dengan yang bertentangan) serta yang paling termasyur penemuannya tentang kaidah ilmiah hukum gaya berat universal.
Newton juga membedakan antara massa dan berat. Massa adalah sifat intrinsik suatu benda yang mengukur resistansinya terhadap percepatan, sedangkan berat adalah sesungguhnya suatu gaya, yaitu gaya berat yang bekerja pada sebuah benda. Jadi berat W sebuah benda adalah W=mag, dimana ag adalah percepatan gravitasi.Keempat perangkat hukum ini , jika digabungkan akan membentuk suatu kesatuan sistem yang berlaku buat seluruh makro sistem mekanika, mulai dari ayunan pendulum hingga gerak planet-planet dalam orbitnya menglilingi matahari. Newton tidak Cuma menetapkan hukum-hukum mekanika, tetapi juga menggunakan alat kalkulus matematik dan menunjukkan bahwa rmus-rumus fundamental ini dapat dipergunkakan bagi pemecahan masalah fisika.
Diantara banyak prestasi Newton, penemuan terbesarnya ialah “Hukum Gravitasi”. Pada penemuan ini, Newton menggunakan dengan baik penemuan penting sebelumnya tentang pergerakan angkasa yang dibuat oleh Kepler dan lainnya. Gerak sebuah planet mengelilingi matahari adalah suatu kombinasi gerak garis lurus yang ia harus miliki jika tak ada gaya yang bekerja kepadanya dan percepatannya karena gaya gravitasi matahari.
III.   Periode Ketiga ( (Fisika Klasik 1800 M – 1890 (1900) M)
a.    Daniel Bernoulli (1700 M – 1780 M)
Prinsip Bernoulli adalah sebuah istilah dalam mekanika fluida yang menyatakan bahwa pada suatu aliran fluida peningkatan pada kecepatan fluida akan menimbulkan penurunan tekanan pada aliran tersebut. Prinsip ini merupakan penyederhanaan dari Persamaan Bernoulli yang menyatakan bahwa jumlah energi pada suatu titik di dalam suatu aliran tertutup sama besarnya dengan jumlah energi di titik lain pada jalur aliran yang sama.
b.    Leonard Euler (1707 M – 1783 M)
Euler khusus ahli mendemonstrasikan bagaimana hukum-hukum umum mekanika yang telah dirumuskan oleh Isaac Newton, dapat digunakan dalam jenis situasi fisika tertentu yang terjadi berulang kali. Misalnya, dengan menggunakan hukum Newton dalam hal gerak cairan, Euler sanggup mengembangkan persamaan hidrodinamika. Juga melalui analisa yang cermat tentang kemungkinan gerak dari barang yang kekar dan dengan penggunaan prinsip-prinsip Newton. Euler berkemampuan mengembangkan sejumlah pendapat yan sepenuhnya menentukan  gerak dari barang kekar. Dalam praktek tentu saja objek benda tidak selamanya mesti kekar, karena itu Euler juga membuat sumbangan penting tentang teori elastisitas yang menjabarkan bagaimana benda padat dapat berubah bentuk lewat penggunaan tenaga luar.
Pengetahuan modern dan teknologi akan jauh tertinggal tanpa adanya formula Euler, rumus-rumusnya dan metodenya.
c.    Hamilton
Jika ditinjau gerak partikel yang terkendala pada suatu permukaan bidang, maka diperlukan adanya gaya tertentu yakni gaya konstrain yang berperan mempertahankan kontak antara partikel dengan permukaan bidang. Namun tak selamanya gaya konstrain yang bereaksi terhadap partikel dapat diketahui. Pendekatan Newtonian memerlukan informasi gaya total yang bereaksi pada partikel.Gaya total ini merupakan keseluruhan gaya yang bereaksi pada partikel termasuk gaya konstrain.Oleh karena itu, jika dalam kondisi khusus terdapat gaya yang tak dapat diketahui, maka pendekatan Newtonian tidak berlaku, sehingga diperlukan pendekatan baru dengan meninjau kuantitas fisis lain yang merupakan karakteristik partikel, misalnya energi totalnya. Pendekatan ini dilakukan dengan menggunakan Prinsip Hamilton. Prinsip Hamilton mengakatan dari seluruh lintasan yang mungkin bagi sistem dinamis untuk berpindah dari satu titik ke titik lain dalam interval waktu spesifik (konsisten dengan sembarang konstrain), lintasan nyata yang diikuti sistem dinamis adalah lintasan yang meminimumkan integral waktu selisih antara energi kinetik dengan energi potensial.
d.    Joseph-Louis Lagrange (1736 M – 1813 M)
Persamaan gerak partikel yang dinyatakan oleh persamaan Lagrange dapat diperoleh dengan meninjau energi kinetik dan energi potential partikel tanpa perlu meninjau gaya yang bereaksi pada partikel. Energi kinetik partikel dalam koordinat kartesian adalah fungsi dari percepatan, energi potensial partikel yang bergerak dalam medan gaya konservatif adalah fungsi dari posisi. Persamaan Lagrange merupakan persamaan gerak partikel sebagai fungsi dari koordinat umum, dan mungkin waktu berpengaruh dalam persamaan ini karena Persamaan transformasi yang menghubungkan dengan koordinat kartesian dan koordinat umum mengandung fungsi waktu. Pada dasarnya persamaan Lagrange ekuivalen dengan persamaan gerak Newton jika koordinat yang digunakan adalah koordinat kartesian.

B. Perkembangan Mekanika Modern
1.    Mekanika Kuantum
1)    Pada tahun 1900, Max Planck memperkenalkan ide bahwa energi dapat dibagi-bagi menjadi beberapa paket atau kuanta. Ide ini secara khusus digunakan untuk menjelaskan sebaran intensitas radiasi yang dipancarkan oleh bendah hitam
2)    Pada tahun 1905, Albert Einstein menjelaskan efek fotoelektrik dengan menyimpulkan bahwa energi cahaya datang dalam bentuk kuanta yang disebut foton.
3)    Pada tahun 1913, Niels Bohr menjelaskan garis spektrum dari atom hidrogen dengan penggunaan kuantisasi.
4)    Pada tahun 1924, Louis de Broglie memberikan teorinya tentang gelombang benda.
Teori-teori di atas, meskipun sukses, tetapi sangat fenomenologikal. Tidak ada penjelaskan jelas untuk kuantisasi. Mereka dikenal teori kuantum lama.
5)    Mekanika kuantum modern lahir pada tahun 1925, ketika Werner Karl Heisenberg mengembangkan mekanika matriks dan Erwin Schrodinger menemukan mekanika gelombang dan persamaan Schrodinger. Schrodinger beberapa kali menunjukkan bahwa kedua pendekatan tersebut sama. Pada tahun 1927, Heinseberg merumuskan prinsip ketidakpastiannya dan interpretasi Kopenhagen terbentuk dalam waktu yang hampir bersamaan.
6)    Tahun 1927, Paul Dirac menggabungkan mekanika kuantum dengan relativitas khusus. Dia juga menggunakan teori operator, termasuk nota bra-ket yang berpengaruh.
7)    Pada tahun 1932, Neumann Janos merumuskan dasar matematika yang kuat untuk mekanika kuantum sebagai teori operator.
8)    Bidang kimia kuantum dibuka oleh Walter Heitler dan Fritz London yang mempublikasikan penelitian ikatan kovalen dari molekul hidrogen pada tahun 1927. Kimia kuantum beberapa kali dikembangkan oleh pekerja dalam jumlah besar, termasuk kimiawan Amerika, Linus Pauling.
9)    Berawal pada 1927, percobaan dimulai untuk menggunakan mekanika kuantum ke dalam bidang di luar partikel satuan yang menghasilkan teori medan kuantum. Pekerja awal dalam bidang ini termasuk Dirac, Wolfgang Pauli, Victor Weisskopf dan Pascaul Jordan. Bidang riset area ini dikembangkan dalam formulasi elektrodinamika kuantum oleh Richard Feynman, Freeman Dyson, Julian Schwinger dan Tomonaga pada tahun 1940-an. Elektrodinamika kuantum adalah teori kuantum elektron, proton dan medan elektromagnetik dan berlaku sebagai contoh untuk teori kuantum berikutnya.
10) Teori Kromodinamika Kuantum diformulasikan pada awan 1960an. Teori yang kita kenal sekarang ini diformulasikan oleh Polizter, Gross dan Wilzcek pada tahun 1975. Pengembangan awal oleh Schwinger, Peter Higgs, Goldstone dan lain-lain..Sheldon Lee Glashow, Steven Wienberg, dan Abdus Salam menunjukkan secara independen bagaimana gaya nuklir lemah dan elektrodinamika kuantum dapat digabungkan menjadi satu gaya lemah elektro.
2.    Relativitas Umum
Relativitas umum diperkenalkan oleh Albert Einstein pada tahun 1916. Teori ini merupakan penjelasan gravitasi termutakhir dalam fisika modern. Ia menyatukan teori Einstein sebelumnya dengan hukum gravitasi Newton.

BAHASA C


Bahasa pemrograman berkembang sangat pesat dewasa ini. Hal ini terbukti dari semakin banyaknya bahasa pemrograman hadir seiring perkembangan teknologi informasi. Bahasa pemrograman dibuat dengan tujuan membantu manusia dalam membuat program menggunakan editor tertentu. Untuk dapat dijalankan di komputer tertentu, kode program harus dikomplikasi atau diinterpretasi terlebih dahulu. Kini bahasa pemrograman tidak hanya dibuat untuk satu platform saja, melainkan bisa antar platform, yaitu platform desktop, web dan mobile. Bahkan kini bahasa pemrograman juga dapat dijalakan pada mesin komputer dan sistem operasi yang berbeda (Rahmat, 2010).
Sebelum melangkah lebih jauh, perlu diketahui terlebih dahulu sejarah perkembangan bahasa pemrograman ditinjau dari generasinya:
1.      Bahasa Pemrograman Generasi Kesatu (Bahasa Mesin)
Bahasa pemrograman generasi kesatu merupakan bahasa pemrograman yang sangat dasar dan kuno. Kini bahasa pemrograman ini sudah hampir tidak lagi digunakan oleh para programmer karena sangat sulit untuk menggunakannya. Bahasa generasi pertama ini sering disebut dengan istilah bahasa mesin (machine code) yang berarti bahasa biner: kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer berarsitektur tertentu. Kumpulan kode dalam bahasa mesin itu dapat digabungkan, disebut sebagai microcode.
Kelebihan : Eksekusi cepat
Kelemahan : Sulit dipelajari manusia
2.      Bahasa Pemrograman Generasi Kedua (Bahasa Assembly)
Bahasa pemrograman generasi kedua ini juga sudah mulai ditinggalkan oleh para programmer yang tidak langsung berhubungan dengan perangkat keras. Bahasa pemrograman ini dikenal dengan istilah bahasa assembly (assembly language) dan banyak digunakan pada pemrograman perangkat keras seperti robotika. Pada dasarnya bahasa ini merupakan bahasa mesin yang disimbolkan dengan bahasa Inggris sederhana sehingga memudahkan programmer. Beberapa operator, misalnya MUL untuk perkalian, SUB untuk perkurangan, ADD untuk penjumlahan, DIV untuk pembagian, dan lain – lain. Dengan menggunakan bahasa ini, programmer dapat membuat standar yang cukup baku untuk arsitektur komputer yang beraneka ragam sehingga dapat dibuat instruksi-instruksi bahasa assembly yang generik untuk semua arsitektur komputer.
Kelebihan : Eksekusi cepat, lebih mudah dipelajari dibanding bahasa mesin, file kecil.
Kelemahan : Sulit dipelajari, program sangat panjang.
3.      Bahasa Pemrograman Generasi Ketiga
Bahasa pemrograman generasi ketiga sampai saat ini masih sering digunakan oleh para programmer untuk membuat berbagai aplikasi aras tinggi maupun rendah. Bahasa pemrograman ini dibuat dengan maksud untuk mengatasi kelemahan bahasa assembly, sehingga ditulis dengan bahasa yang dapat dimengerti oleh manusia, yaitu bahasa Inggris. Pada bahasa pemrograman generasi ini mulai dikenal istilah sintaks (syntax). Bahasa pemrograman ini menyediakan banyak kemudahan dalam pembuatan program, seperti variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur, dan lain-lain. Contoh bahasa pemrograman generasi ketiga ini adalah C, Basic, Fortan, dan Pascal.
Kelebihan : Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek.
Kelemahan : Eksekusi lambat.
4.      Bahasa Pemrograman Generasi Keempat
Bahasa pemrograman generasi keempat dibuat untuk menyelesaikan berbagai persoalan pemrograman yang kompleks dan spesifik. Bahasa pemrograman ini dikenal sebagai specific problem oriented. Bahasa pemrograman generasi ini ada yang bersifat visual, memiliki tool builder yang canggih, dapat berkomunikasi dengan peralatan lain yang spesifik, misalnya basis data. Contoh bahasa pemrograman generasi ini adalah SQL, HTML, Visual Basic, Delphi dan Fox Pro.
Ada beberapa jenis bahasa pemrograman generasi keempat ini, yaitu:
a.       Report Generators, yaitu bahasa pemrograman yang dipakai untuk membuat laporan tercetak atau dalam bentuk kode HTML maupun file PDF, dengan format yang dapat diatur sesuai kebutuhan. Contoh : Oracle Reports dan Crystal Reports.
b.      Forms Generators, yaitu bahasa yang dipakai untuk membuat antarmuka (form) yang dipakai untuk komunikasi antara manusia dan komputer. Bahasa pemrograman ini sering disebut bahasa pemrograman antar muka (GUI Creator). Contoh : Visual Basic, Form Builder, Visual Foxpro, Borland Delphi dan Visual Studio.NET.
c.       Computer Aided Software Engineering (CASE), yaitu bahasa yang dibuat dengan mendefenisikan suatu spesifikasi di atas layar (semacam diagram) dan menspesifikasikan suatu proses tertentu. Contoh : Relational Rose, Oracle Designer, Poseidon dan sebagainya.
d.      Database Query Language, yaitu bahasa yang dipakai untuk berkomunikasi dengan mesin database, yang berupa pendefenisian data (DDL), manipulasi data (DML), kontrol data (DCL), dan sebagainya. Contoh : SQL, Oracle SQL*Plus, Progress 4GL dan sebagainya.
Kelebihan : Berorientasi pada masalah secara langsung.
Kelemahan : Sangat spesifik sehingga hanya bisa berfungsi untuk suatu hal tertentu saja.
5.      Bahasa Pemrograman Generasi Kelima
Bahasa pemrograman ini berbasis pada pemecahan masalah dengan batasan-batasan (constraints) yang diberikan pada sebuah program, tidak menggunakan algoritma tertentu. Bahasa pemrograman ini dipakai agar komputer dapat menyelesaikan suatu masalah berdasarkan constraint yang diberikan. Pemrograman cukup mendefenisikan masalah yang akan diselesaikan beserta kondisinya tanpa perlu memikirkan cara mengimplementasikan program atau algoritma pemecahannya. Bahasa program ini pada umunya digunakan pada penelitian kecerdasan buatan. Pada tahun 1990 bahasa pemrograman generasi kelima ini diprediksi akan menjadi bahasa pemrograman masa depan, bahkan ada yang memprediksi bahwa bahasa pemrograman ini akan menyingkirkan bahasa-bahasa pemrograman lain, terutama untuk pengembangan sistem, kecuali bahasa pemrograman aras rendah. Contoh : Prolog, OPSS, dan sebagainya.
Kelebihan : Sangat sesuai untuk pemecahan masalah sistem cerdas.
Kekurangan : Membutuhkan pengetahuan lebih untuk membuat program dengan bahasa level ini (Rahmat, 2010).
Bahasa C merupakan bahasa pemrograman tingkat menengah. Pada tahun 1972 bahasa C pertama kali dirancang oleh Dennis M. Ritchie di Bell Laboratories. Pada tahun 1978 Dennis dan Brian W. Kernighan mempublikasikan bahasa C melalui The C Programming Language sehingga bahasa C dikenal banyak orang. Pada tahun 1989 akhirnya bahasa C distandarisasi ANSI (American National Standard Institute) sehingga menjadi bahasa pemrograman standar hingga saat ini. Kompilernya dapat dibuat pada beberapa platform berbeda (Rahmat, 2010).
Bahasa C disebut sebagai bahasa pemrograman terstruktur, fungsional karena strukturnya menggunakan fungsi–fungsi sebagai program bagian (subroutine/module). Fungsi selain fungsi utama disebut subroutine/module dan ditulis setelah fungsi utama (main) atau diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file pustaka dan akan dipakai pada suatu program, maka nama file header-nya harus dilibatkan dalam program menggunakan preprocessor derictive #include. Suatu program C minimal harus memiliki fungsi main(). Tanpa fungsi itu maka program C tidak akan dapat dieksekusi, walau dapat dikomplikasi (Rahmat, 2010).
Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca (Sangdedi, 2009).

Tipe Data
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Tabel 1. Tipe data dasar (Sangdedi, 2009)
No
Tipe Data
Ukuran
Range (Jangkauan)
Format
Keterangan
1
char
1 byte
128 s/d 127
%c
Karakter/string
2
int
2 byte
32768 s/d 32767
%i , %d
Integer/bilangan bulat
3
float
4 byte
3.4E-38 s/d 3.4E+38
%f
Float/pecahan
4
double
8 byte
1.7E-308 s/d 1.7+308
%lf
Pecahan presisi ganda
5
void
0 byte
-
-
Tidak bertipe

Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program
berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14; 4.50005; ‘A’; ‘Bahasa C’. Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain :
\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\v : tabulasi vertical
\0 : nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring

Variable
Variabel adalah suatu nama yang menyatakan tempat dalam memori komputer yang digunakan untuk menyimpan suatu nilai dan nilainya dapat diubah sewaktu-waktu ketika program sedang dieksekusi (Kadir, 2005).

Deklarasi Variable
Pendeklarasian variabel digunakan untuk memesan lokasi dalam memori komputer dan menentukan tipe dari data yang dapat disimpan dalam variabel. Bentuk pendeklarasiannya adalah sebagai berikut:
            tipe_data nama variabel;
Tabel 2. Contoh deklarasi Variabel (Kadir, 2005)
Deklarasi
Keterangan
Int n;
Variabel n bertipe int (untuk menyimpan bilangan bulat)
Char ch;
Variabel ch bertipe char (dipakai untuk menyimpan sebuah karakter)
Long int jum_penduduk;
Variabel jum_penduduk bertipe long int (dipakai untuk menyimpan bilangan bulat dengan nilai mencapai sekitar 2 milyar)
Double jarak;
Variabel jarak bertipe double (dipakai untuk menyimpan sebuah bilangan real dengan kepresisian tinggi
Jika ada beberapa variabel dengan tipe yang sama, pendeklarasian dapat dilakukan dengan menggunakan sebuah pernyataan (Kadir, 2005).
Di dalam melakukan pemrograman tentu saja programmer akan melakukan input dan output program. Input berarti programmer memasukkan data ke dalam program atau melakukan inisialisasi, sedangkan output berarti program akan menghasilkan keluaran berupa data yang ditampilkan ke layar, tercetak di printer, keluar di speaker, dan keluaran lainnya. Suatu program yang dibuat pasti menghasilkan ouput. Di dalam bahasa C sudah terdapat fungsi-fungsi bawaan (standard function) yang berkaitan dan mengatur input dan output sehingga programmer hanya perlu menggunakan saja (Rahmat, 2010).
Dalam input tak terformat, programmer tidak bisa memasukkan data dengan bentuk tertentu, misalnya dalam bentuk desimal dengan ketelitian 2 angka di belakang koma. Input tak berformat pada bahas C merupakan struktur input yang paling sederhana dan mudah dilakukan. Pemasukan data dilakukan dengan menggunakan fungsi-fungsi pustaka dari file header stdio.h, yaitu
1.      scanf()
Jika kita ingin memasukkan data dari keyboard, kita dapat menggunakan fungsi scanf ini. Data selanjutnya akan didefenisikan sebagai data variabel. Jika fungsi scanf ini digunakan untuk membaca data dengan tipe array, karakter yang selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan membaca data sampai ditemukan blank. Dengan demikian nilai setelah blank dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut. Fungsi scanf lebih cocok digunakan untuk data-data numerik. Fungi scanf jika digunakan maka harus disertai operator penanda alamat & didepan nama variabel yang digunakan untuk menyimpan data tersebut. Jika tidak mempergunakan operator alamat & ini maka ketika data diinputkan akan muncul pesan error Segmentation fault. Sedangkan untuk data string tidak perlu menggunakan operator ini. Tetapi jika digunakan tidak menjadi masalah. Fungsi scanf biasanya digunakan bersama-sama dengan fungsi printf (Maing, 2008).
2.      gets()
Jika kita menggunakan fungsi scanf untuk membaca data yang bertipe string, maka data tersebut hanya akan dibaca sampai ditemukan spasi. Misalnya nama “naufal rasendriya” hanya kata “naufal” yang akan dibaca oleh program, sedangkan kata “resendriya” tidak terbaca karena sebelum kata tersebut program telah menemukan spasi yang mengakibatkan data ke varibel yang menyimpan nama dianggap selesai (Maing, 2008).
Penulisan data pula dapat dilakukan dengan  menggunakan fungsi-fungsi pustaka dari file header conio.h, yaitu getche(), getchar() dan getch(). Dalam struktur input terformat, programmer dapat memasukkan data ke dalam program dalam bentuk tertentu yang telah didefenisikan oleh bahasa C. Dengan menggunakan bentuk ini, maka programmer dapat memasukkan data yang lebih baik, rapi dan tertib. Struktur input terformat sedikit lebih kompleks dibanding struktur input tidak terformat. Memasukkan data terformat berarti data yang diterima akan diatur bentuk dan lebarnya dengan kode-kode format menggunakan fungsi scanf(). Fungsi scanf() menggunakan pengiriman nilai secara acuan, yang dalam bahasa C dilakukan dengan pointer. Oleh karena itu variabel-variabel yang dipakai harus berupa variabel pointer  yaitu diawali dengan “&” (Rahmat, 2010).