BAHASA KOMPUTER Komunikasi antara manusia dengan komputer (HUMAN COMPUTER INTERACTION – HCI) Bahasa Sebagai Media Komunikasi • Manusia dapat melakukan tugas dari manusia lain dengan perantara bahasa. • Hewan dapat diberi tugas oleh manusia juga menggunakan bahasa. • Komputer, alat elektronik, robot pun dapat beroperasi karena menggunakan bahasa Permasalahannya adalah…. • Bahasa manusia cenderung menggunakan suara (bicara), walau ada juga bahasa isyarat. • Bahasa hewan cenderung menggunakan isyarat / sandi / sinyal. • Komputer, alat elektronika, dan robot, jelas menggunakan sinyal listrik yang disandikan. Logika Boolean • Pada dasarnya, komputer dan alat elektronika digital hanya dapat memahami dua kondisi dalam logika Boolean, yaitu : TRUE atau FALSE. • Misalnya TRUE direpresentasikan oleh sinyal 0.5 volt s.d 5 volt, sementara kondisi FALSE direpresentasikan oleh sinyal 0 volt. • Hal pada point dua di atas diterapkan dalam komponen elektronika yang sering disebut dengan CHIP Logika Boolean • Dalam Matematika, logika boolean disandikan dengan angka biner (binary digit) yaitu angka 0 sebagai FALSE dan 1 sebagai TRUE, dan dari sinilah nantinya istilah bit digunakan. • Kombinasi dari TRUE dan FALSE yang berbeda-beda ini akan membentuk suatu sandi / kode tersendiri yang digunakan oleh komputer untuk melakukan operasi yang bersesuaian, misalnya: – menambahkan bit-bit yang ada di register / memory – untuk memindahkan bit-bit yang ada di suatu register ke register yang lain – melompat / jump ke lokasi memory yang berbeda, dan masih banyak yang lainnya. Pengelompokan Bahasa Komputer • Berdasarkan Level – Bahasa Mesin (Level 0) – Assembly (Level 1) – Bahasa tingkat tinggi (Level 2…3…) • Berdasarkan Kegunaan – Keperluan matematis FORTRAN – Keperluan bisnis COBOL – Pengembangan software C++ – Rapid Aplication Development Delphi, VB Bahasa Mesin (Level 0) • Seperti yang telah dipaparkan di atas, bahwa mesin komputer menggunakan logika boolean yang diterapkan dalam bentuk CHIP • Sederetan kombinasi status TRUE-FALSE akan membentuk suatu instruksi yang akan dikerjakan oleh komputer. • Deretan kombinasi ini telah ditentukan oleh pembuat perangkat, khususnya prosesor. Assembly (Level 1) • Manusia memiliki kecenderungan untuk mendapatkan kemudahan, dan karena kombinasi TRUE-FALSE yang direpresentasikan dengan angka biner jelas tidak mudah kecuali bagi pakar maka dibuatlah pengkodean kombinasi angka biner tersebut ke sebentuk atau beberapa kata yang disebut mnemonic • Misalnya ADD untuk menambahkan data suatu register dengan data lain, MOV untuk memindahkan data di suatu register / memory ke register / memory lain • Masih ada banyak mnemonic yang lain: – SUB – COMP -- JNZ -- MUL -- DIV -- dll Bahasa Tingkat Tinggi (Level 2) • Dengan mnemonic ternyata masih terdapat kerumitan bagi manusia karena harus memahami konsep cara kerja prosesor, memory dan perangkat yang lain • Dibuatlah bahasa pemrograman yang lebih ke arah bahasa manusia sehingga mudah dipahami oleh manusia • Ada banyak bahasa pemrograman tingkat tinggi yang digunakan, misal BASIC, COBOL, C, PASCAL, PROLOG dan lain-lain sesuai dengan fungsinya Bahasa Tingkat Tinggi (Level 2) Contoh: • PASCAL program Contoh1; uses crt; var jml, x : integer; begin jml := 0; x := 5; while jml < 50 do begin jml := jml + x; x := x + 5 end; write(‘Nilai akhir jml = ‘, jml); end. Perkembangan Bahasa Pemrograman Tingkat Tinggi • Bahasa pemrograman tingkat tinggi terus berkembang, dari yang tidak terstruktur berkembang menjadi bahasa terstruktur, lalu berkembang lagi dengan adanya kecerdasan buatan (AI) dan Pemrograman Berorientasi Objek (OOP) serta Structured Query Language (SQL) sehingga diharapkan akan memudahkan manusia dalam berinteraksi dengan komputer • Berikut adalah gambaran umum bahasa komputer yang digunakan manusia untuk berinteraksi dengan komputer Bahasa Tingkat Tinggi PASCAL BASIC Delphi Bahasa Assembly C, C++ Bahasa Mesin (10011001) VB MOV, ADD, MUL SQL Dan lain-lain Kompilasi dan Interpretasi • Pada dasarnya semua instruksi yang dituliskan dalam bahasa pemrograman tingkat tinggi akan dikompilasi / diinterpretasi oleh komputer ke dalam Assembly dan akhirnya terbentuklah instruksi-instruksi mesin yang akan diproses oleh komputer • Satu instruksi bahasa tingkat tinggi akan bersesuaian dengan beberapa instruksi assembly, dan satu instruksi assembly akan bersesuaian dengan beberapa instruksi mesin • Semakin mudah bahasa komputer dipahami oleh komputer akan menyebabkan semakin banyak instruksi mesin yang dikerjakan oleh komputer. OOP dan SQL • OOP menerapkan keadaan dunia nyata, yaitu segala sesuatu adalah objek yang memliki properti/sifat dan behavior/tingkah laku. • SQL bahasa terstruktur yang digunakan untuk melakukan query data (menyimpan, mengubah, menghapus, menampilkan data) OOP • Dalam dunia nyata terdiri banyak objek, misal : manusia, kendaraan, pohon, dll • Tiap objek memiliki properti masing-masing, misal : mobil jenis sedan, merek Toyota, berwarna merah, keluaran tahun 1994 • Properti dari suatu objek dapat berupa suatu objek pula. • Tiap objek juga memiliki banyak metode, misal:mobil berjalan, mundur, mengerem, belok kanan • Metode yang dikenakan kepada suatu objek dapat mengubah keadaan suatu properti milik objek tersebut misal Penerapan OOP pada komputer • Suatu window aplikasi atau sebuah form adalah suatu objek. • Form tersebut memiliki properti berupa warna misalnya coklat, caption (judul window) misalnya Microsoft Word, properti berupa objek lain misal beberapa tombol • Form tersebut juga memiliki metode misal saat diklik tombol ‘X’ pada pojok kanan atas akan menyebabkan window/form tersebut ditutup. Contoh SQL • INSERT INTO tbl_Mahasiswa VALUES (‘Koko’,’Pria’,19,’Jl. Kampus No 1’,’Purwokerto’) • SELECT Nama FROM tbl_Mahasiswa WHERE Kota = ‘Tegal’ Mungkinkah suatu saat bahasa dan sensor yang dimiliki manusia dapat digunakan dan dipahami oleh komputer??