6 Tips Membuat Foto Bokeh Dahsyat Dengan Kamera DSLR

Belajar Fotografi sudah mengulas secara dasar mengenai apa itu foto bokeh dan bagaimana cara menghasilkannya. Sekedar mengulang secara singkat, bokeh pada intinya adalah ukuran kualitas blur yang membuat obyek terpisah dari background-nya. Mata kita senang saat melihat foto dengan backgorund yang kabur secara lembut, creamy dan cantik. Salah satu pertanyaan yang paling sering dikirim pembaca adalah, kok bokeh saya masih kurang bagus sih? apa yang salah?
Ada enam faktor utama yang sangat mempengaruhi kualitas foto bokeh kita, penuhi keenamnya maka anda akan mendapatkan bokeh dengan kualitas jempol.
1. Gunakan aperture besar.

Bokeh berasal dari lensa bukan dari kamera. Oleh karena itu, hal terpenting yang harus dilakukan adalah setting aperture lensa anda pada bukaan yang besar (terbesar yang diijinkan situasi pemotretan – aperture maksimal). Anda bisa melakukannya dengan menggunakan mode Aperture Priority dan mengubah fkedalam nilai terkecil (putar ring aperture berlawanan arah jarum jam).
Dalam settingan ini secara praktis kita menurunkan depth of field menjadishallow/dangkal.
2. Kurangi jarak antara kamera dengan obyek foto.

Semakin dekat kita berdiri dari obyek foto, semakin blur background-nya. Semakin dekat obyek foto, fokus lensa juga semakin dekat dan depth of field akan makin menyempit. Cobalah lakukan ini: acungkan jari telunjuk anda didekat gelas yang jauhnya kira-kira 50 cm didepan anda, fokuskan mata anda pada telunjuk, sekarang gerakkan telunjuk tadi mendekat mata anda. Makin dekat telunjuk dengan mata, gelas dibelakangnya akan makin kabur bukan?
3. Jauhkan jarak antara obyek dan background-nya.


Saat anda memotret teman dan ingin menghasilkan bokeh yang bagus, maka semakin jauh teman tadi dari background dibelakangnya, semakin bagus bokeh yang anda dapatkan. Lihatlah foto dibawah ini, daun yang paling dekat kamera masih terlihat tajam. Tapi semakin menjauh dari kamera, semakin kabur. Sementara daun dengan warna hijau dibelakang sana terlihat kabur sekali.
4. Gunakan focal length terpanjang.

Saat anda memakai lensa zoom, gunakan focal length terpanjang untuk makin memisahkan obyek utama dengan background-nya. Sebagai contoh: saat anda menggunakan lensa maut 70–200 mm, set focal length di posisi 200mm untuk menghasilkan bokeh yang bagus.
Kalau di tas anda tersimpan lensa 300mm, lensa 18–200mm, lensa 14–24mm, pilihlah lensa terpanjang (300mm) kalau tujuan anda menghasilkamn foto bokeh yang maut.
5. Pilih lensa dengan kualitas optik terbaik yang mampu anda beli.

Kualitas bokeh juga sangat dipengaruhi oleh kualitas optik lensa yang kita pakai. Katakanlah anda memilik dua lensa yang focal length maksimalnya sama, contoh: lensa 18–20mm/f5.6 dan lensa 70–200mm/f2.8, karena kualitas optik lensa 70–200mm (biasanya) jauh lebih superior dibandingkan lensa 18–200mm (sehingga harganya juga berlipat-lipat lebih mahal). Maka gunakan lensa 70–200mm tadi, dan sebisa mungkin pakailah di aperture f/2.8. Pastikan anda membaca review sebelum anda membeli lensa.
6. Gunakan lensa prime



Karena makin besar aperture makin bagus pula bokehnya, jika anda memiliki lensa prime, pakailah. Lensa prime atau prime lens atau fixed lens, adalah lensa yang memiliki focal length tunggal alias lensa yang tidak bisa di-zoom. Lensa prime biasanya menghasilkan foto bokeh yang sangat bagus karena memilki bukaan aperture yang sangat besar, tipikal lensa prme adalah 50mm f/1.4, 85mm f/1.4 atau varian murahnya 50mm f/1.8 dan 85mm f/1.8. Nah selamat menghasilkan foto dengan bokeh yang dahsyat.

Algoritma dan Flowchart

Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1.  Algoritma adalah inti dari ilmu komputer
2.  Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3.  Algoritma adalah blueprint dari program
4.  Sebaiknya disusun sebelum membuat program
5.  Kriteria suatu algoritma:
·         Ada input dan output
·         Efektifitas dan efisien
·         Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana B
2.  Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:

Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1.  Tuangkan larutan dari bejana A ke dalam bejana C.
2.  Tuangkan larutan dari bejana B ke dalam bejana A.
3.  Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1.  Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3.  Algortima memiliki nol atau lebih masukan.
4.  Algoritma memiliki nol atau lebih keluaran.
5.  Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

Memrogram dan Bahasa Pemrograman:
1.  Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2.  Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

Notasi Algoritma:
1.  Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2.  Notasi algoritma dapat berupa:
·         Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai >= 60 maka
            Keterangan = lulus
                  Tetapi jika salah
                  Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.



2.  Merealisasikan dengan langkah-langkah sebagai berikut:


Contoh Algoritma:
1.  Mengirim surat kepada teman:
·         Tulis surat pada secarik kertas surat
·         Ambil sampul surat
·         Masukkan surat ke dalam sampul
·         Tutup sampul surat dengan perekat
·         Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
·         Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
·         Tempel prangko pada sampul
·         Bawa sampul ke kantor pos untuk diposkan
2.  Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
·         Masukkan sebuah bilangan sembarang
·         Bagi bilangan tersebut dengan 2
·         Hitung sisa hasil bagi pada langkah 2
·         Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
·         Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil


Flowchart
1.  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2.  Merupakan cara penyajian dari suatu algoritma
3.  Ada 2 macam flowchart:
·         System flowchart:
                       Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
·         Program flowchart:
                       Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.



Contoh program Flowchart

Simbol-simbol Flowchart
1.  Flow Direction Symbols (simbol penghubung alur)
2.  Processing Symbols (simbol proses)
3.  Input-Output Symbols (simbol input-output)




Tabel Simbol-simbol Flowchart


Pembuatan Flowchart
1.  Tidak ada kaidah yang baku
2.  Flowchart = gambaran hasil analisa suatu masalah
3.  Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4.  Secara garis besar ada 3 bagian utama:
·         Input
·         Proses
·         Output
5.  Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.  Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7.  Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.


Pseudocode:
1.  Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama          : String
Nilai            : Integer
Keterangan  : String
      Deskripsi:
            Read (nama, nilai)
            if nilai >= 60 then
            Keterangan = 'lulus'
            else
            Keterangan = 'tidak lulus'
            write (nama, keterangan)

Aturan Penulisan Teks Algoritma
1.  Judul Algoritma
          Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2.  Deklarasi
          Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3.  Deskripsi
          Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1.  Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
          {
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
          }      (ini spesifikasi algoritma)
2.  Deklarasi
const phi = 3.14 {nilai konstanta phi}
R          : real {jari-jari lingkaran}
Luas     : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3.       Deskripsi
Read (R)
Luas     = phi * R * R
Keliling       = 2 * phi * R



Write (luas, keliling)

Pascal (bahasa pemrograman)


Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Kelebihan

Kelebihan dari bahasa pemrograman Pascal adalah:

Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).
Tipe Data

Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah

Tipe Data
Deskripsi (range variabel)
Byte
angka dari 0 sampai 255
Integer
angka dari -32768 to 32767
Real
semua nilai pecahan dari 1E-38 to 1E+38
Boolean
nilai TRUE atau FALSE
Char
semua karakter dari tabel ASCII
String
semua huruf, spasi, frasa
Hello World

Contoh program Hello World menggunakan bahasa pascal adalah sebagai berikut:


Program HelloWorld;
begin
   writeln('Hello world');



end.

Python (bahasa pemrograman)


Python adalah bahasa pemrograman interpretatif multiguna[10] dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode.[11]Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas,[12] dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi.
Saat ini kode python dapat dijalankan di berbagai platform sistem operasi, beberapa diantaranya dalah:
Linux/Unix
Windows
Mac OS X
Java Virtual Machine
OS/2
Amiga
Palm
Symbian (untuk produk-produk Nokia)
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL)
Sejarah

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah keBeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan Guido pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.
Fitur

Beberapa fitur yang dimiliki Python adalah:

memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
memiliki tata bahasa yang jernih dan mudah dipelajari.
memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
berorientasi obyek.
memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.
memiliki banyak faslitas pendukung sehingga mudah dalam pengoprasiannya.
Masukan / Keluaran

Contoh masukan :

 nama = raw_input("Masukkan nama Anda: ")
Contoh keluaran :
 print "Halo", nama, ":)"
Halo Dunia



  print ("Halo dunia!")

Apa Itu Pemrograman ?


Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.
Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (run time), atau memori.
Sejarah Pemrograman
Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi, yang dilacak siklus Metonik masih digunakan di bulan-ke-surya kalender, dan yang konsisten untuk menghitung tanggal olimpiade. Al-Jazari dibangun Automata diprogram pada tahun 1206. Salah satu sistem yang digunakan dalam perangkat ini adalah penggunaan pasak dan Cams ditempatkan ke drum kayu di lokasi tertentu, yang secara berurutan akan memicu tuas yang pada gilirannya dioperasikan instrumen perkusi. Output dari perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian karton kartu dengan menekan lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti menenun kain. Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun 1830 untuk mengendalikan Analytical Engine. Program komputer pertama ditulis untuk Analytical Engine oleh matematikawan Ada Lovelace untuk menghitung urutan Bilangan Bernoulli.  Sintesis perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan instruksi dengan cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan, menyebabkan perkembangan modern pemrograman komputer. Pengembangan pemrograman komputer dipercepat melalui Revolusi Industri. Pada akhir 1880-an, Herman Hollerith menemukan rekaman data pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin dibaca dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di kartu menekan ..."  Untuk memproses kartu menekan ini, pertama kali dikenal sebagai "kartu Hollerith" dia menciptakan tabulator, dan mesin keypunch. Ketiga penemuannya dasar dari industri pengolahan informasi modern. Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang kemudian menjadi inti dari IBM). Penambahan panel kontrol (plugboard) ke 1906 Tipe I Tabulator memungkinkannya untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai mesin panel kontrol diprogram, disebut catatan unit peralatan, untuk melakukan pengolahan data tugas.
Data dan instruksi dapat disimpan pada kartu punched eksternal, yang disimpan dalam rangka dan disusun dalam deck. Penemuan arsitektur von Neumann memungkinkan program komputer untuk disimpan dalam memori komputer. Program awal harus susah payah dibuat dengan menggunakan instruksi (operasi dasar) dari mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan menggunakan instruksi yang berbeda (bahasa mesin) untuk melakukan tugas yang sama. Kemudian, perakitan bahasa tersebut dikembangkan yang memungkinkan programmer menentukan setiap instruksi dalam format teks, singkatan memasukkan kode untuk setiap operasi, bukan menetapkan sebuah nomor dan alamat dalam bentuk simbolik (misalnya, ADD X, JUMLAH). Memasuki sebuah program dalam bahasa assembly biasanya lebih nyaman, lebih cepat, dan kurang rentan terhadap kesalahan manusia daripada menggunakan bahasa mesin, tetapi karena bahasa assembly adalah sedikit lebih dari satu notasi yang berbeda untuk bahasa mesin, setiap dua mesin dengan instruksi yang berbeda set juga memiliki perakitan yang berbeda bahasa. Pada tahun 1954, FORTRAN diciptakan, melainkan tingkat pertama bahasa pemrograman tinggi untuk memiliki implementasi fungsional, dibandingkan dengan hanya desain di atas kertas (Sebuah bahasa tingkat tinggi adalah, dalam istilah yang sangat umum,. bahasa pemrograman yang memungkinkan programmer untuk menulis program dalam istilah yang lebih abstrak dari instruksi bahasa assembly, yaitu pada tingkat abstraksi "lebih tinggi" daripada bahasa assembly.) Ini memungkinkan programmer untuk menentukan perhitungan dengan memasukkan formula secara langsung (misalnya Y = X * 2 + 5 * X + 9). Program teks, atau sumber, diubah menjadi instruksi mesin menggunakan program khusus yang disebut kompilator, yang diterjemahkan program FORTRAN ke dalam bahasa mesin. Bahkan, nama FORTRAN adalah singkatan dari "Formula Translation". Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu punched atau pita kertas. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat penyimpanan data dan terminal komputer menjadi cukup murah bahwa program dapat dibuat dengan mengetikkan langsung ke dalam komputer. Teks editor tersebut dikembangkan yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah dibandingkan dengan kartu berlubang. (Biasanya, kesalahan dalam meninju kartu berarti bahwa kartu harus dibuang dan yang baru menekan untuk menggantikannya.) Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang kekuatan prosesor. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari hardware. Meskipun bahasa tingkat tinggi biasanya dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat penggunaan bahasa ini jauh lebih praktis daripada di masa lalu. Bahasa ini semakin disarikan biasanya lebih mudah untuk belajar dan memungkinkan programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan kode sumber kurang. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah kontrol perangkat keras diperlukan atau di mana kecepatan pemrosesan maksimum adalah penting.



Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di sebagian besar negara maju. Beberapa bentuk pemrograman telah lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara lain, biasanya dengan upah rendah), membuat keputusan karir pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah kurang berkembang. Tidak jelas seberapa jauh kecenderungan ini akan berlanjut dan seberapa dalam dampak akan programmer upah dan kesempatan.