Minggu, 28 Februari 2016

Tugas Struktur Data



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.
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.
c.       Implementation ( Implementasi )
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.
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 .

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.

0 komentar:

Posting Komentar