1.Berikan pengertian Algoritma,
Struktur Data, dan Bahasa Perograman. Bagaimana hubungan ketiganya ?
Ø ALGORITMA
Algoritma adalah Satu prosedur yakni
masukannya suatu instan masukan yang mungkin dan mentransformasikan menjadi
keluar yang dikehendaki.
Ø STRUKTUR DATA
Data
adalah Bahan yang digunakan dalam
perhitungan atau operasi untuk menghasilkan informasi yang berguna, sedangkan
Struktur adalah Struktur adalah
pengaturan atau hubungan.
Maka,
Struktur Data adalah Cara penyimpanan, penyusunan dan pengaturan data di
dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara
efisien.
Struktur Data + Algoritma akan menjadi Program.
Ø BAHASA PEMROGRAMAN
Bahasa Pemrograman adalah bahasa computer
yang digunakan dengan cara merancang atau membuat program sesuai dengan
struktur dan metode yang dimiliki oleh bahasa program itu sendiri.
HUBUNGAN
ANTARA ALGORITMA, STRUKTUR DATA DAN BAHASA PEMROGRAMAN
Dengan
pemilihan struktur data yang baik, maka problem yang kompleks dapat
diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi
penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih
kecil, dan waktu eksekusi yang lebih cepat.
2. Jelaskan generasi Bahasa Pemrograman
!
Sejauh
ini bahasa pemrograman dikelompokkan menjadi lima generasi. Setiap generasi
bahasa pemrograman memiliki karakteristik tersendiri. Semakin maju generasinya
maka orientasi bahasa pemrograman ini akan semakin dekat ke manusia.
Ø Bahasa
Pemrograman Generasi I
Bahasa
pemrograman generasi pertama berorientasi pada mesin. Program disusun dengan
menggunakan bahasa mesin. Tentu saja program generasi ini sangat sulit untuk
dipahami oleh orang awam dan sangat membosankan bagi pemrogram. Pemrogram harus
benar-benar menguasai operasi komputer secara teknis. Namun bahasa generasi ini
memberikan eksekusi program yang sangat cepat. Selain itu, bahasa mesin sangat
bergantung pada mesin (machine dependent), artinya, bahasa mesin antara satu
mesin dengan mesin lainnya akan berbeda.
Ø Bahasa
Pemrograman Generasi II
Bahasa
pemrograman generasi kedua menggunakan bahasa rakitan (assembly). Sebagai
pengganti kode-kode biner, digunakanlah kependekan dari kata-kata. Misalkan
“MOV” untuk menyatakan “MOVE” dan JNZ yang berarti “jump non-zero”. Setiap
instruksi dalam bahasa rakitan sebenarnya identik dengan satu instruksi dalam bahasa
mesin. Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin. Bahasa
ini sedikit lebih mudah dipahami daripada bahasa mesin mengingat perintah dalam
bentuk kata-kata yang dipendekkan lebih mudah daripada mengingat deretan angka
biner. Berikut adalah contoh instruksi yang ditulis dalam bahasa rakitan akan
menjadi seperti berikut:Tampak bahwa penggunaan notasi seperti MOV AH, 02 jauh
lebih mudah diingat atau dipahami daripada penulisan instruksi dalam bahasa
mesin: B402 atau 1011 0100 0000 0010.
Ø Bahasa
Pemrograman Generasi III
Bahasa
pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa
prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar
komputer melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata
yang biasa dipakai manusia, seperti WRITE untuk menampilkan sesuatu di layar
dan READ untuk membaca data dari keyboard.
Bahasa
generasi ketiga seringkali disebut sebagai high level language disebabkan
bahasa ini menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh
bahasa pemrograman yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL,
C, BASIC, COBOL, FORTRAN, dan PASCAL.
Ø Bahasa Pemrograman Generasi IV
Bahasa
pemrograman generasi keempat dirancang untuk mengurangi waktu pemrograman dalam
membuat program sehingga diharapkan produktifitas pemrogram jadi meningkat dan
program dapat dibuat dalam waktu yang lebih singkat. Alhasil, bahasa
pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh
pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan
pemrogram profesional. Sebagai contoh pemrogram dapat membuat program dengan
Microsoft Access di lingkungan PC dengan mudah.
Bahasa
pemrograman generasi keempat biasa disebut sebagai high level language atau
bahasa berorientasi pada masalah (problem oriented language) karena
memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode
dibandingkan pada bahasa prosedural. Bahasa pemrograman generasi keempat
menggunakan pendekatan non-prosedural. Untuk mendapatkan suatu hasil, seorang
pemakai tidak perlu memberitahukan secara detail tentang bagaimana
mendapatkannya.
Ø Bahasa
Pemrograman Generasi V
Bahasa
pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang
ditujukan untuk menangani kecerdasan buatan (artificial intelligence).
Kecerdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara
komputer meniru kecerdasan manusia. Berbagai aplikasi kecerdasan manusia adalah
sebagai berikut:
·
Pemrosesan bahasa alami (natural language
processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia
melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
·
Pengedalian
robotika dan sensor mata.
·
Aplikasi
sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu
sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang
pakar.
Dengan
menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah dengan
cara percakapan seperti berikut:
“Tampilkan
semua nama mahasiswa yang IPK-nya di atas 3,0 dan urutkan berdasarkan IP secara
descending”
PROLOG
dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk menangani
kecerdasan buatan.
3.Menurut anda apakah setiap problem
solving selalu memerlukan bahasa pemrograman ? Jelaskan !
Menurut saya Tidak Selalu. Namun
pemecahan masalah menggunakan metode Problem Solving akan sangat membantu
mengatasi dan memecahkan masalah. Karena Problem Solving merupakan pemecahan
suatu masalah yang menghasilkan suatu solusi atas permasalahan yang dihadapi
dengan terlebih dahulu mengidentifikasi permasalahan berdasarkan data dan
informasi yang akurat melalui suatu proses intelektual dan professional.
Problem Solving dapat dilakukan dengan 8
tahapan, yaitu :
Ø Mengidentifikasi
Masalah
Ø Mendefinisikan
Masalah
Ø Mengorganisir
Informasi
Ø Membentuk suatu Strategi
Ø Mengalokasikan Sumber
Ø Membuat
Keputusan
Ø Pemantauan
Kemajuan (Monitoring)
Ø Mengevaluasi
4. Bagaimana siklus hidup perangkat
lunak, dan Bahasa Pemrograman berada pada tahapan yang mana ?
Tahap Pengembangan Software ( Siklus
Hidup Software ) :
a.
Requirements Analysis (Analisa
Kebutuhan )
Tahap ini menganalisa masalah dan kebutuhan yang harus diselesaikan dengan sistem komputer yang akan dibuat. Tahap ini berakhir dengan pembuatan laporan kelayakan yang mengidentifikasi kebutuhan sistem yang baru dan merekomendasikan apakah kebutuhan atau masalah tersebut dapat diselesaikan dengsn sistem komputer yang ada.
Tahap ini menganalisa masalah dan kebutuhan yang harus diselesaikan dengan sistem komputer yang akan dibuat. Tahap ini berakhir dengan pembuatan laporan kelayakan yang mengidentifikasi kebutuhan sistem yang baru dan merekomendasikan apakah kebutuhan atau masalah tersebut dapat diselesaikan dengsn sistem komputer yang ada.
b.
System and Software Design (
Prencanaan Sistem dan Software )
Tahap ini melakukan rancangan design sistem. Tahap ini memberikan rincian kinerja program dan interaksi antara user dengan program tersebut.
Tahap ini melakukan rancangan design sistem. Tahap ini memberikan rincian kinerja program dan interaksi antara user dengan program tersebut.
c.
Implementation ( Implementasi )
Tahap ini adalah spesifikasi design yang telah dibuat untuk diterjemahkan de dalam program / instruksi yang ditulis dalam bahasa pemrograman.
Tahap ini adalah spesifikasi design yang telah dibuat untuk diterjemahkan de dalam program / instruksi yang ditulis dalam bahasa pemrograman.
d.
System Testing ( Pengujian Sistem )
Tahap ini semua program digabungkan dan diuji sebagai satu sistem yang lengkap untuk menjamin sumua berkerja dan memenuhi kebutuhan penanganan masalah yang dihadapi.
Tahap ini semua program digabungkan dan diuji sebagai satu sistem yang lengkap untuk menjamin sumua berkerja dan memenuhi kebutuhan penanganan masalah yang dihadapi.
e.
Operation and Maintenance (
Pengoperasian dan Pemeliharaan )
Tahap ini merupakan pengaplikasian program yang telah dibuat untuk digunakan secara utuh dan masalah baru yang muncul sebagai bahan masukan untuk memperbaiki sistem program yang baru .
Tahap ini merupakan pengaplikasian program yang telah dibuat untuk digunakan secara utuh dan masalah baru yang muncul sebagai bahan masukan untuk memperbaiki sistem program yang baru .
Bahasa
Pemrograman berada pada tahapan yang ke-3, yaitu Implementation
5. Apa perbedaan Compiler dan
Interpreter ?
Compiler adalah Program
sistem yang digunakan sebagai alat bantu dalam pemrogaman.
Interpreter adalah Perangkat
lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu
menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi
yang diminta oleh programmer tersebut.
Perbedaan antara Compiler dengan Interpreter :
Ø Jika hendak menjalankan
program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau
interpreter butuh kode sumber.
Ø Jika dengan kompiler,
maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap
terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan
kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
Ø JIka compiler
membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library
demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter
tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam
library.
Ø Interpreter cocok untuk
membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka
compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka
harus dilakukan proses linking / penggabungan kembali semua objek dengan
library yang diperlukan.
Ø Pada kompiler bisa
dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang
dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi
untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak
bisa dioptimasikan.