Komputasi dan Pemograman
Nama : Ferawati Mardjun
Nim : 411422007
Prodi/Kelas : Pendidikan Matematika/A
Mata Kuliah : Komputasi dan pemograman
Dosen Pengampuh : Agusyarif Rezka Nuha, S.Pd., M.Si
SOAL!
- Tuliskan Sejarah dan Perkembangan Komputer Beserta Perkembangan Algoritma.
- Apa yang dimaksud dengan algoritma?
- Apa yang dimaksud dengan program?
- Sebutkan dan jelaskan dua macam kelompok besar program komputer.
- Apa yang dimaksud dengan bahasa pemrograman dan programmer?
- Sebutkan dan jelaskan bahasa pemrograman berdasarkan fungsi kerja pada mesin komputer.
- Sebutkan dan jelaskan tiga konsep penyelesaian masalah dengan program komputer.
- Sebutkan dan jelaskan tiga alasan menggunakan algoritma?
- Sebutkan manfaat dari menggunakan algoritma.
Jawaban
1. Sejarah perkembangan komputer Beserta perkembangan algoritma
- Sejarah dan perkembangan komputer
Komputer memiliki sejarah yang sangat signifikan sejak ditemukan pada abad ke-19 hingga saat ini. Berikut adalah beberapa poin penting dalam sejarah dan perkembangan komputer:
1) Abad ke-19 hingga awal abad ke-20
- Charles Babbage mengembangkan mesin analitik pertama pada tahun 1837, yang dianggap sebagai cikal bakal komputer modern.
- Pada tahun 1930-an, komputer mekanik seperti Mark I dan Z3 dikembangkan oleh Howard Aiken dan Konradz Zuse.
2) Perang dunia ke II
- Perkemangan pesat komputer terjadi selama perang dunia II untuk keperluan perhitungan militer.
- ENIAC (Electronic Numerical Integrator and Computer), yang dioperasikan pada tahun 1945, merupakan komputer elektronik pertama yang dapat diprogram.
3) Generasi komputer
- Komputer diklasifikasikan menjadi generasi pertama hingga kelima berdasarkan teknologi yang digunakan.
- Generasi Pertama: Periode antara tahun 1940 hingga 1955 adalah saat bahasa mesin dikembangkan untuk penggunaan komputer. Penggunaannya melibatkan tabung vakum untuk sirkuit dan drum magnet sebagai tujuan memori. Mesin-mesin ini kompleks, besar, dan mahal. Mereka umumnya bergantung pada sistem operasi batch dan kartu punch. Sebagai perangkat input dan output, pita magnetik dan pita kertas digunakan. Beberapa contoh dari generasi ini adalah ENIAC, UNIVAC-1, EDVAC, dan lain-lain.
- Generasi kedua: Periode antara tahun 1957 hingga 1963 disebut sebagai “komputer generasi kedua”. Pada generasi ini, bahasa rakitan dan bahasa pemrograman seperti COBOL dan FORTRAN digunakan. Transistor menggantikan tabung vakum, yang membuat komputer menjadi lebih kecil, lebih cepat, dan lebih efisien dalam penggunaan energi. Selain itu, peralihan dari bahasa biner ke bahasa rakitan juga terjadi. Contoh komputer generasi kedua antara lain IBM 1620, IBM 7094, CDC 1604, CDC 3600, dan sebagainya.
- Generasi ketiga: Periode antara tahun 1964 hingga 1971 ditandai oleh perkembangan sirkuit terpadu (Integrated Circuit/IC). IC tunggal terdiri dari banyak transistor, meningkatkan daya komputer sambil menurunkan biaya produksi. Komputer generasi ini lebih cepat, lebih kecil, lebih andal, dan lebih terjangkau dibandingkan pendahulunya. Bahasa pemrograman tingkat tinggi seperti FORTRAN-II hingga IV, COBOL, dan PASCAL PL/1 digunakan. Beberapa contoh komputer generasi ini adalah seri IBM-360, seri Honeywell-6000, dan IBM-370/168.
- Generasi keempat: Penemuan mikroprosesor menjadi ciri utama dari komputer generasi keempat. Periode antara tahun 1971 hingga 1980 didominasi oleh komputer generasi ini. Bahasa pemrograman seperti C, C++, dan Java digunakan pada generasi ini. Contoh komputer generasi keempat termasuk STAR 1000, PDP 11, CRAY-1, CRAY-X-MP, dan Apple II. Pada saat ini, komputer mulai diproduksi untuk digunakan di rumah.
- Generasi kelima: Generasi komputer ini telah digunakan sejak tahun 1980 dan masih digunakan hingga saat ini. Ini adalah era modern dan masa depan komputer. Salah satu aspek penting dari generasi ini adalah kecerdasan buatan. Penggunaan pemrosesan paralel dan teknologi superkonduktor membuka jalan bagi kemajuan di masa depan. Komputer generasi kelima menggunakan teknologi ULSI (Ultra Large Scale Integration) yang sangat canggih. Bahasa pemrograman yang umum digunakan pada generasi ini antara lain C, C++, Java, .Net, dan lainnya. Beberapa contohnya adalah komputer dari IBM, Pentium, desktop, laptop, notebook, ultrabook, dan sejenisnya.
- Perkembangan sirkuit terpadu (IC) pada tahun 1960-an mengawali era komputer generasi ketiga.
4) Era personal computer (PC)
- Perkembangan mikroprosesor pada tahun 1970-an membawa revolusi komputer pribadi.
- Apple II dan IBM PC adalah beberapa contoh komputer pribadi awal yang populer.
5) Internet dan Era digital
- Internet mengubah cara komputer terhubung dan berkomunikasi, membuka era digital.
- Komputer menjadi lebih kecil, lebih cepat, dan lebih terjangkau.
6) Mobile computing
- Kemunculan ponsel pintar dan tablet mengubah cara kita berinteraksi dengan komputer dan internet.
7) Kecerdasan buatan (AI)
- Pengembangan AI dan mesin pembelajaran mendalam (deep learning) telah membawa komputer ke tingkat kemampuan yang baru.
8) Komputasi kuantum
- Penelitian dalam komputasi kuantum semakin berkembang, dengan potensi mengubah cara kita memecahkan masalah kompleks
- Sejarah perkembangan algoritma
Sejarah perkembangan algoritma sangat panjang dan bermula jauh sebelum era komputer modern. Berikut adalah beberapa titik penting dalam sejarah perkembangannya:
- Yunani kuno : Matematikawan seperti Euclid dan Archimedes mengembangkan algoritma untum menyelesaikan masalah matematika seperti perhitungan geometri dan pengukuran.
- Abad pertengahan: Algoritma dan aturan matematikawan berkembang melalui kontribusi ilmuwan muslim seperti Al-Khawarizmi, yang memberi nama pada istilah “algoritma” berdasarkan karyanya dalam matematika.
- Abad ke-17: John Napier menciptakan batang penghitung yang menjadi unsur dasar untuk perkembangan mesin penghitung mekanis.
- Abad ke-19: Charles Babbage mengembangkan mesin analitik, yang dianggap sebagai prototipe komputer modern, dengan algoritma yang diprogram dalam kartu berlubang.
- Abad ke-20: Perkembangan komputer elektronik membawa revolusi dalam algoritma. Grace Hopper menciptakan bahasa pemograman COBOL, sementara Alan Turing memberikan kontribusi besar terhadap teori komputasi dan algoritma.
- Era modern: Perkembangan dalam pemograman komputer terus berlanjut, dengan munculnya berbagai bahasa pemograman, algoritma pencarian, algoritma kecerdasan buatan, dan algoritma kriptografi.
- Abad ke-21: Algoritma semakin penting dalam kehidupan sehari-hari, dari mesin pencari web hingga aplikasi kecerdasan buatan yang canggih.
- Perkembangan algoritma
Perkembangan algoritma terus berlanjut seiring dengan kemajuan teknologi dan kebutuhan komputasi yang semakin kompleks. Beberapa tren dan perkembangan terkini dalam dunia algoritma termasuk.
- Algoritma Pembelajaran Mesin (Machine Learning Algorithms): Perkembangan dalam algoritma pembelajaran mesin telah menghasilkan kemajuan besar dalam bidang kecerdasan buatan. Algoritma seperti jaringan saraf tiruan (neural networks) mendominasi aplikasi seperti pengenalan wajah, pemrosesan bahasa alami, dan prediksi.
- Algoritma Big Data: Dengan jumlah data yang terus meningkat, algoritma pemrosesan dan analisis data yang cepat dan efisien menjadi sangat penting. Algoritma ini membantu perusahaan dan peneliti untuk menggali wawasan dari volume data besar.
- Algoritma Kriptografi: Perkembangan algoritma kriptografi sangat penting untuk menjaga keamanan data dan komunikasi. Algoritma baru yang lebih kuat dan tahan terhadap serangan terus dikembangkan.
- Algoritma Optimisasi: Algoritma optimisasi digunakan dalam berbagai bidang, termasuk manajemen rantai pasokan, logistik, dan perencanaan produksi. Perkembangan di sini membantu meningkatkan efisiensi operasional.
- Algoritma Pengolahan Citra dan Suara: Dengan semakin berkembangnya aplikasi pengolahan citra dan suara, algoritma untuk pengenalan gambar, pengenalan suara, dan analisis citra medis semakin canggih.
- Algoritma untuk Keamanan Siber: Dalam menghadapi ancaman siber yang semakin kompleks, algoritma keamanan siber terus berkembang untuk mendeteksi dan melindungi sistem dari serangan.
- Algoritma Quantum: Pengembangan komputer kuantum telah membawa munculnya algoritma kuantum yang memiliki potensi untuk mengatasi masalah yang sulit dipecahkan oleh komputer klasik.
2. Algoritma adalah urutan langkah-langkah yang sistematis dan terorganisir untuk menyelesaikan masalah atau menjalankan tugas tertentu. Algoritma digunakan dalam komputasi untuk menggambarkan cara menjalankan perhitungan atau tugas tertentu, dan mereka merupakan dasar dari pemrograman komputer. Algoritma biasanya berfungsi sebagai panduan atau resep yang mendetail tentang bagaimana melakukan sesuatu, seperti pengolahan data, pencarian informasi, atau pengambilan keputusan.
Algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah (Patel & Thakkar dalam khairul dkk, 2018). Algoritma sangat diperlukan untuk mengolah data yang ada di komputer. Dalam sistem komputer pengertian algoritma ialah logika yang dibuat dengan memakai software oleh para pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma.
3. Program adalah serangkaian instruksi atau perintah yang ditulis dalam bahasa pemrograman komputer untuk menginstruksikan komputer dalam melakukan tugas atau operasi tertentu. Program komputer dapat mencakup berbagai jenis perangkat lunak, mulai dari program aplikasi yang digunakan untuk tugas-tugas seperti pengolahan kata, peramban web, atau permainan komputer, hingga program sistem yang mengontrol operasi dasar komputer seperti sistem operasi. Program-program ini dieksekusi oleh komputer sehingga dapat menghasilkan output yang diinginkan atau melakukan tugas yang telah ditetapkan.
4. Dua kelompok besar program komputer adalah:
a. Perangkat Lunak Sistem (System Software)
- Sistem Operasi (Operating System): Sistem operasi (operating system) Ini adalah perangkat lunak yang mengontrol dan mengelola sumber daya perangkat keras komputer, seperti prosesor, memori, perangkat input/output, dan file. Sistem operasi memungkinkan pengguna untuk berinteraksi dengan komputer dan menjalankan aplikasi.
- Driver Perangkat Keras (Hardware Drivers): Program ini memungkinkan sistem operasi berkomunikasi dengan perangkat keras komputer, seperti printer, kartu grafis, dan perangkat penyimpanan eksternal.
b. Perangkat Lunak Aplikasi (Application Software)
- Aplikasi Produktivitas: Aplikasi produktivitas Ini termasuk perangkat lunak seperti pengolah kata (contohnya Microsoft Word), spreadsheet (seperti Microsoft Excel), dan program manajemen proyek (seperti Microsoft Project) yang digunakan untuk tugas-tugas sehari-hari di kantor atau rumah.
- Aplikasi Kreatif: Aplikasi kreatif Termasuk perangkat lunak untuk desain grafis (seperti Adobe Photoshop), penyunting video (seperti Adobe Premiere Pro), dan pembuatan musik (seperti Ableton Live), yang digunakan untuk kreativitas dan produksi konten.
Perangkat lunak sistem mendukung operasi dasar komputer, sementara perangkat lunak aplikasi dirancang untuk memenuhi kebutuhan spesifik pengguna, seperti pekerjaan produktif atau hobi kreatif.
5. Bahasa pemrograman adalah bahasa yang digunakan oleh programmer untuk menulis instruksi-instruksi yang akan dieksekusi oleh komputer. Bahasa pemrograman ini digunakan untuk mengembangkan perangkat lunak, aplikasi, dan sistem yang berbagai macam fungsi, mulai dari permainan video hingga aplikasi perbankan. Seorang programmer adalah seseorang yang memiliki pengetahuan dan keterampilan dalam menggunakan bahasa pemrograman untuk membuat perangkat lunak atau program komputer.
Tugas seorang programmer termasuk merancang, mengkode, menguji, dan memelihara perangkat lunak agar berfungsi sesuai dengan kebutuhan yang diinginkan. Programer juga bertanggung jawab untuk memecahkan masalah dan meningkatkan efisiensi program yang mereka buat.
6. Bahasa pemrograman dapat dibagi berdasarkan fungsi kerjanya pada mesin komputer menjadi beberapa kategori utama:
- Bahasa Pemrograman Tingkat Rendah (Low-Level Programming Languages): Bahasa ini sangat dekat dengan bahasa mesin dan arsitektur perangkat keras komputer. Contohnya adalah bahasa Assembly. Mereka memungkinkan programmer untuk mengendalikan perangkat keras secara langsung, tetapi biasanya sulit dimengerti dan tidak portabel antarplatform.
- Bahasa Pemrograman Tingkat Menengah (Mid-Level Programming Languages): Bahasa seperti C dan C++ termasuk dalam kategori ini. Mereka memberikan tingkat abstraksi yang lebih tinggi daripada bahasa tingkat rendah, tetapi masih memberikan kontrol tinggi atas perangkat keras. Mereka sering digunakan untuk mengembangkan perangkat lunak sistem dan aplikasi yang memerlukan kontrol yang ketat terhadap sumber daya.
- Bahasa Pemrograman Tingkat Tinggi (High-Level Programming Languages): Bahasa seperti Python, Java, C#, dan Ruby adalah contoh bahasa pemrograman tingkat tinggi. Mereka menawarkan abstraksi yang tinggi dari perangkat keras dan biasanya lebih mudah dipahami oleh manusia. Mereka digunakan untuk pengembangan aplikasi perangkat lunak, pengembangan web, kecerdasan buatan, dan banyak lagi.
- Bahasa Pemrograman Fungsional: Contoh bahasa dalam kategori ini adalah Haskell dan Lisp. Mereka berfokus pada fungsi dan transformasi data, dengan pendekatan yang berbeda dari bahasa-bahasa imperatif yang berpusat pada perintah.
- Bahasa Pemrograman Logika: Prolog adalah contoh utama bahasa pemrograman logika. Mereka digunakan untuk pemodelan dan penalaran logika.
- Bahasa Pemrograman Skrip (Scripting Languages): Bahasa seperti JavaScript, Perl, dan Ruby sering digunakan untuk mengotomatisasi tugas-tugas dalam skrip, pengembangan web, dan administrasi sistem.
Setiap bahasa memiliki kegunaan dan karakteristiknya sendiri, tergantung pada proyek yang ingin Anda kerjakan dan level kontrol serta abstraksi yang Anda butuhkan.
7. Tiga konsep penyelesaian masalah dengan program komputer
- Algoritma: Algoritma adalah langkah-langkah yang terstruktur dan terurut untuk menyelesaikan suatu masalah. Ini adalah resep atau panduan yang digunakan oleh komputer untuk mengatasi masalah tertentu. Algoritma harus jelas, logis, dan dapat dijalankan oleh komputer. Misalnya, algoritma pencarian biner digunakan untuk mencari elemen dalam daftar yang diurutkan dengan efisien.
- Struktur Data: Struktur data adalah cara data disusun dan disimpan dalam komputer. Pemilihan struktur data yang tepat dapat memengaruhi efisiensi dan kemudahan penyelesaian masalah. Misalnya, untuk menyimpan data yang perlu diakses secara acak, kita dapat menggunakan struktur data seperti array atau daftar terhubung.
- Pemrograman Berorientasi Objek (OOP): OOP adalah paradigma pemrograman di mana program dibangun menggunakan objek yang mewakili entitas di dunia nyata. Setiap objek memiliki atribut dan metode yang berhubungan dengannya. OOP membantu dalam memecah masalah menjadi bagian-bagian yang lebih kecil dan mudah dikelola. Contohnya, dalam pengembangan perangkat lunak, kita bisa memiliki objek seperti "Pengguna" dengan atribut seperti "nama" dan "alamat", serta metode untuk mengelola data pengguna ini.
8. Tiga alasan menggunakan algoritma
- Pemecahan Masalah : Algoritma adalah cara sistematis untuk memecahkan masalah. Mereka membantu dalam menguraikan masalah yang kompleks menjadi serangkaian langkah langkah yang lebih sederhana, yang dapat diimplementasikan oleh komputer atau manusia. Dengan memiliki algoritma yang efisien, kita dapat mencari solusi untuk berbagai masalah, seperti perutean dalam jaringan komunikasi atau pengoptimalan rantai pasokan.
- Automatisasi: Algoritma memungkinkan otomatisasi tugas-tugas yang berulang dan kompleks. Ketika algoritma diimplementasikan dalam perangkat lunak atau sistem komputer, mereka dapat melakukan pekerjaan tanpa intervensi manusia yang berulang kali. Contohnya adalah algoritma dalam mesin pencari web yang membantu mengindeks dan mencari informasi di internet secara efisien.
- Efisiensi: Algoritma yang dirancang dengan baik dapat meningkatkan efisiensi penggunaan sumber daya komputasi, seperti waktu dan memori. Algoritma yang efisien dapat menghemat waktu pemrosesan dan sumber daya komputasi yang berarti, yang sangat penting dalam komputasi tingkat tinggi, pemodelan data, dan berbagai aplikasi lainnya. Contoh algoritma efisien termasuk algoritma pengurutan cepat (seperti Quicksort) atau algoritma pencarian biner.
Dengan menggunakan algoritma yang sesuai, kita dapat mencapai solusi yang lebih baik dan lebih cepat untuk berbagai masalah komputasi dan mengoptimalkan penggunaan sumber daya komputasi.
9. manfaat dari menggunakan algoritma
- Peningkatan Efisiensi: Algoritma dapat membantu dalam menyelesaikan tugas-tugas dengan cara yang lebih efisien, menghemat waktu dan sumber daya.
- Pengambilan Keputusan yang Lebih Baik: Algoritma dapat digunakan dalam analisis data untuk mendukung pengambilan keputusan yang lebih baik dan informasi yang lebih akurat.
- Automatisasi: Algoritma digunakan dalam pengembangan perangkat lunak dan sistem otomatisasi untuk menjalankan tugas-tugas secara otomatis tanpa campur tangan manusia.
- Pengoptimalan: Algoritma dapat digunakan untuk mengoptimalkan berbagai masalah, seperti perencanaan rute, alokasi sumber daya, dan lainnya.
- Prediksi: Algoritma dapat digunakan untuk membuat prediksi berdasarkan data historis, seperti dalam analisis tren dan peramalan.
- Pengamanan: Algoritma digunakan dalam keamanan komputer untuk mengenkripsi data dan melindungi informasi sensitif.
- Pemecahan Masalah: Algoritma membantu dalam pemecahan masalah kompleks dengan menyusun langkah-langkah sistematis.
- Pengembangan Teknologi: Algoritma adalah dasar untuk mengembangkan berbagai teknologi baru, termasuk kecerdasan buatan, komputasi kuantum, dan lainnya.
- Replikasi Prosedur: Algoritma memungkinkan prosedur atau metode untuk direplikasi dengan konsistensi, yang penting dalam ilmu pengetahuan dan industri.
- Peningkatan Produktivitas: Dengan menggunakan algoritma, banyak tugas dapat diotomatisasi, meningkatkan produktivitas dan kualitas hasil.
Manfaat dari penggunaan algoritma sangat bervariasi tergantung pada konteks dan aplikasinya, tetapi secara umum, algoritma membantu mengatasi banyak tantangan dalam berbagai bidang.
Kategori
- Masih Kosong
Blogroll
- Masih Kosong