Senin, 31 Mei 2021

Ruang Lingkup Informatika

B. Ruang Lingkup Informatika Computational thinking menggunakan abstraksi dan dekomposisi pada saat merancang sebuah sistem besar yang kompleks atau pun memecahkan tugas besar yang kompleks. CT mulai diintegrasikan ke dalam semua mata pelajaran, bahkan di beberapa negara untuk membantu serta mempercepat pengintegrasian dan penetrasi ke arah computational thinking dengan memasukan Computer Science (ICT) sebagai sebuah mata pelajaran wajib dalam kurikulum nasional. Karakteristik berpikir komputasi (CT) dalam merumuskan masalah dengan menguraikan masalah tersebut ke segmen yang lebih kecil dan lebih mudah dikelola. Strategi ini memberi peluang pada siswa untuk mengubah masalah yang kompleks menjadi beberapa prosedur yang bukan hanya lebih mudah untuk dilaksanakan, tetapi juga menyediakan cara efisien dalam berpikir kreatif. Gambar Bentuk pemodelan Computational thinking 1. Program Komputer dan Model Komputasi Problem Based Learning (PBL) merupakan elemen penting dari science, technology, engineering, dan Matematika (STEM) yang digunakan pada mayoritas pendidikan di Indonesia, bahkan sudah berkembang menjadi STEAM di mana huruf “A” mewakili “Arts” (seni). Hal ini menjadi pilihan representasi yang sesuai untuk masalah mau pun aspek pemodelan yang relevan dari masalah untuk membuatnya menjadi mudah dikerjakan. Dalam pendidikan STEM, berpikir komputasi (CT) didefinisikan sebagai seperangkat keterampilan kognitif yang memberi peluang pada pendidik mengidentifikasi pola, memecahkan masalah selain kompleks menjadi langkah-langkah kecil, mengatur dan membuat serangkaian langkah untuk memberikan solusi, serta membangun representasi data melalui simulasi. Mengasosiasi Lakukan analisa tentang model komputasi pada program komputer! Manakah model komputasi yang menurut kalian penggunaannya paling efektif? Diskusikan dengan teman sebangku kalian, kemudian buatlah laporan diskusi! Kumpulkan hasilnya pada guru untuk dinilai! a. Metodologi Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat perbedaan mendasar untuk setiap tugas yang ada, misalnya pendekatan dengan teknik pemodelan Object-Oriented Analysis and Design (OOAD) dan Model-Driven Architecture (MDA). Adapun sebuah notasi yang digunakan untuk kedua OOAD dan MDA yaitu UML (The Unified Modeling Language) dan teknik sejenis yang digunakan untuk desain database dapat menggunakan Entity-Relationship Modeling (ER Modeling). Dalam hal ini, pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional bahasa, dan logika bahasa. b. Model komputasi Hal mendasar yang perlu dipahami adalah satuan nilai-nilai dan operasi yang berhubungan dengan setiap model komputasi memiliki satu set operasi yang digunakan untuk menggambarkan komputasi. Secara mendasar, model komputasi dikategorikan sebagai berikut. 1) Model imperatif Model imperatif sebagai pendekatan paling tepat untuk pemodelan perangkat keras yang mengeksekusi program. Model jenis ini termasuk jenis model berubah dan perubahan yang terjadi dinyatakan sebagai bagian dari lingkungan. Model imperatif terdiri dari satu set nilai yang mencakup kondisi/keadaan dan operasi dalam memodifikasi pernyataan. Definisi pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Termasuk di dalamnya tata urutan tugas komputasi dalam sebuah pernyataan. 2) Model fungsional Suatu program pada dasarnya berupa sekumpulan definisi fungsi sedangkan suatu komputasi adalah aplikasi fungsi. Model jenis ini sebagai bentuk metode dasar dari sebagian besar metode penyelesaian masalah. Model fungsional terdiri dari satu set nilai-nilai yang mencakup fungsi-fungsi, operasi aplikasi fungsi, dan komposisi fungsi. Dalam hal ini, fungsi (function) dapat mengambil fungsi lain yang berperan sebagai argumentasi dan mengembalikan fungsi tersebut sebagai hasil (higher-order function). 3) Model logika Model jenis ini bisa diterjemahkan sebagai proses perumusan yang berhubungan dengan relational database dan expert system. Dalam hal ini, program terdiri dari definisi hubungan dan bukti komputasi yang digunakan dalam bentuk suatu urutan kesimpulan. Dalam perencanaan, model logika menyajikan rerangka dan proses untuk perencanaan yang menjembatani gap antara kondisi saat ini dengan kondisi yang diinginkan. Model logika terdiri dari satu set nilai￾nilai yang mencakup definisi hubungan dan kesimpulan logis. Model logika dalam evaluasi digunakan untuk menjelaskan, menelusuri, serta mengawasi operasi, proses, dan fungsi evaluasi. Model logika dapat membantu dalam menentukan kapan dan bagaimana evaluasi dijalankan sehingga sumber daya dapat dikatakan telah efektif dan efisien penggunaannya. Dalam hal ini, model logika dapat digunakan dalam perencanaan, manajemen program, evaluasi, dan komunikasi. c. Pemrograman Guna melakukan prosedur pemrograman memerlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan berbagai pengetahuan lain. Pemrograman dinyatakan sebagai seni menggunakan satu atau lebih algoritma yang saling berhubungan satu sama lain menggunakan suatu bahasa komputer tertentu sehingga menjadi aplikasi komputer yang relevan. Secara mendasar, pemrograman termasuk sebagau sebuah proses menulis, menguji dan memperbaiki (debug), serta memelihara kode yang membangun suatu program komputer. Adapun pemrogram komputer (programmer) adalah orang-orang yang menulis perangkat lunak komputer, di mana pekerjaan mereka meliputi coding, kompilasi, dokumentasi, integrasi, pemeliharaan, persyaratan analisis, software arsitektur, software pengujian, spesifikasi, dan debugging. 1) Komponen pemrograman Beberapa komponen mendasar yang selalu muncul di hampir setiap bahasa pemrograman adalah sebagai berikut. No. Komponen Keterangan 1. Pengulangan Melakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi. 2. Output Menampilkan data pada layar atau pun mengirim data ke file atau perangkat lain. 3. Berhitung Melakukan operasi aritmatika dasar seperti penjumlahan, perkalian, pertambahan, dan pengurangan. 4. Eksekusi bersyarat Memeriksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan. 5. Input Mengambil data dari keyboard, file, atau beberapa perangkat lain. 2) Konsep dasar pemrograman Program dapat didefinisikan sebagai kumpulan instruksi tertulis yang dibuat oleh programmer atau pun menjadi bagian executable dari suatu software (perangkat lunak). Hal ini tentu saja berbeda dengan definisi pemrograman sebagai proses mengimplementasikan urutan langkah dalam menyelesaikan suatu masalah menggunakan bahasa pemrograman tertentu. Secara umum bahasa pemrograman dikategorikan sebagai berikut. a) Object Oriented Language, seperti Visual dBase, Visual FoxPro, Delphi, dan Visual C. b) High Level Language, seperti Pascal dan Basic. c) Middle Level Language, seperti pada bahasa C. d) Low Level Language, seperti pada bahasa Assembly. Low Level Language dikategorikan sebagai berikut. (1) Tipe pemrograman dikategorikan menjadi 7 jenis sebagai berikut. (a) Pemrograman fungsional Pemrograman jenis ini menjadi salah satu bahasa pemrograman yang memberlakukan proses komputasi sebagai evaluasi fungsi matematika. Misalnya LISP, Scheme, ML, dan Haskell. (b) Pemrograman berorientasi Obyek misalnya C++, SmallTalks, dan Java. (c) Pemrograman procedural Procedural merupakan tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas yang metode penyelesaiannya dilakukan langkah demi langkah secara eksak. Bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C bisa juga dinamakan sebagai bahasa procedural. (d) Pemrograman even-driven Merupakan sebuah program yang menggunakan konsep OOP di mana pemrograman dapat dimulai dari obyek yang diinginkan tanpa harus terurut, misalnya program Visual Basic, Visual C++, dan Delphi. (e) Pemrograman visual Merupakan suatu program yang programnya menggunakan ekspresi visual seperti grafik, gambar, dan ikon tertentu. (f) Pemrograman terstruktur Pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur misalnya Pascal, Cobol, RPG, ADA, dan C. (g) Pemrograman modular Pemrograman modular dapat didefinisikan sebagai program yang dipecah-pecah ke dalam modul, di mana setiap modul menunjukkan fungsi dan tugasnya. Dengan begitu masalah akan menjadi lebih sederhana dan program dapat lebih mudah disusun dan dipahami. (2) Kriteria bahasa pemrograman Kriteria untuk penilaian suatu bahasa pemrograman antara lain biaya penggunaan, kemudahan untuk verifikasi program, kewajaran untuk aplikasi, lingkungan pemrograman, mendukung abstraksi, orthogonality, dan portabilitas program. Dalam hal ini, objek data adalah pengelompokkan satu atau lebih potongan data di dalam virtual komputer pada saat run-time. Objek data yang muncul selama program dieksekusi merupakan objek data buatan programmer yang secara eksplisit membuat dan memanipulasi melalui deklarasi dan statement di dalam program misalnya variable, konstanta, array, file, dan seterusnya. Beberapa elemen tipe data memiliki syarat-syarat sebagai berikut. (a) Attribute untuk membedakan objek-objek data dari tipe tersebut misalnya nama objek data. (b) Nilai yang dipengaruhi oleh hardware computer yang melandasinya. (c) Operasi yang digunakan secara matematika Tipe data merupakan suatu kelas objek data dengan kumpulan operasi untuk membentuk dan memanipulasinya. Tipe data dibagi menjadi beberapa bagian sebagai berikut. (a) Tipe data abstrak Tipe data jenis ini dinyatakan sebagai suatu fasilitas dari bahasa pemrograman yang menampung aspirasi para programmer. (b) Tipe data dasar Tipe data dasar sebagai jenis tipe data primitive tidak terstruktur yang didefinisikan oleh bahasa pemrograman. Beberapa tipe data dasar sebagai berikut. (1) Tipe data numerik yang terdiri atas enumerasi, boolean, character, dan internationalization. (2) Tipe data terstruktur yang dapat dikategorikan menjadi vector, array, recordlist, character string, pointer, objek data programmer-constructed, serta himpunan. 3) Persyaratan Kualitas Berbagai bentuk pendekatan pengembangan perangkat lunak harus memenuhi beberapa sifat mendasar (property). Beberapa properti yang paling relevan adalah sebagai berikut. a) Kegunaan (ergonomi) sebuah program Kemudahan dalam menggunakan program pada tujuan tertentu yang dalam beberapa kasus bahkan terjadi tanpa diduga. Rata-rata melibatkan tekstual, grafis, maupun elemen￾elemen piranti keras untuk meningkatkan kejelasan, intuitif, kekompakan, dan kelengkapan program antarmuka pengguna. b) Efisiensi/kinerja Jumlah sumber daya sistem program yang mengonsumsi waktu proses, ruang memori, perangkat bawaan seperti disk, bandwidth jaringan bahkan sampai batas tertentu interaksi dari pemakai. Termasuk di dalamnya pembersihan file-file sementara dan tidak adanya kebocoran memori. c) Reliabilitas Hal ini tergantung pada kebenaran konseptual algoritma dan pemrograman dalam meminimalisasi kesalahan seperti kesalahan dalam manajemen sumber daya misalnya buffer overflows dan kondisi tertentu sehingga kesalahan logika seperti pembagian dengan nol. d) Modifikasi Kemudahan sebuah program yang dapat dimodifikasi dalam rangka membuat perbaikan atau penyesuaian, memperbaiki bug dan lubang keamanan, atau menyesuaikan dengan lingkungan baru. e) Portabilitas Kisaran perangkat keras komputer dan platform sistem operasi dengan kode sumber dari program dapat dikompilasi/ditafsirkan dan dijalankan (run). Hal ini tergantung pada perbedaan-perbedaan dalam fasilitas pemrograman yang disediakan oleh platform berbeda, termasuk di dalamnya hardware dan sistem operasi sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, ketersediaan platform compiler tertentu dan library sebagai mekanisme memanggil function untuk bahasa dari source code. 4) Kompleksitas algoritma Bidang akademik dan praktik teknik pemrograman komputer berkaitan dengan menemukan dan menerapkan algoritma paling efisien untuk suatu masalah. Untuk tujuan tersebut, maka algoritma dapat diklasifikasikan berdasarkan notasi Big O (n) dengan tujuan mengungkapkan penggunaan sumber daya, misalnya waktu eksekusi atau pemakaian memori, maupun ukuran sebuah input. Seorang programmer yang akrab dengan berbagai jenis algoritma beserta kompleksitasnya akan menggunakan pengetahuan tertentu dalam memilih algoritma paling cocok dengan keadaan yang diinginkan. 5) Mengukur pemakaian bahasa pemrograman Sangat sulit untuk menentukan bahasa pemrograman modern paling populer. Beberapa bahasa sangat populer untuk jenis aplikasi tertentu seperti COBOL yang banyak digunakan di data center perusahaan maupun mainframe besar, FORTRAN dalam aplikasi teknik, bahasa scripting dalam pengembangan web, dan C dalam aplikasi embedded. Adapun metode yang digunakan untuk mengukur popularitas bahasa pemrograman di antaranya menghitung jumlah iklan lowongan kerja yang menyebutkan bahasa tertentu, jumlah buku pelatihan pada bahasa yang bersangkutan, hingga perkiraan jumlah baris kode yang ditulis dalam bahasa tersebut. 2. Perbaikan Model Komputasi Dengan computational thinking, maka seseorang dapat mengembangkan proses berpikir yang melibatkan proses formulasi sebuah permasalahan beserta solusinya. Adapun tugas debugging sangat penting dalam proses pengembangan perangkat lunak, karena program yang salah memiliki konsekuensi signifikan bagi user. Beberapa bahasa pemrograman yang lebih rentan terhadap beberapa jenis kesalahan. Penyebabnya adalah tidak adanya spesifikasi kompiler dalam melakukan pengecekan sebanyak bahasa lainnya. Penggunaan perangkat analisis static membantu mendeteksi berbagai kemungkinan masalah yang ada, salah satunya penggunaan debug IDE pada Microsoft Visual Studio, NetBeans, dan Eclipse. Standalone debugger seperti gdb jarang disediakan dalam lingkungan visual, karena pada umumnya menggunakan baris perintah. Gambar seorang programmer sedang bekerja Mengomunikasikan Buatlah makalah tentang pengalaman berpikir komputasional, kemudian presentasikan di depan kelas! Mintalah tanggapan dari teman dan gurumu! 3. Pengalaman Berpikir Komputasional Komputasi modern memiliki karakteristik tertentu, di antaranya komputer terhubung ke jaringan luas dengan kapasitas bandwidth beragam, komputer maupun jaringan tidak terdedikasi di mana bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas, serta komputer penyedia sumber daya bersifat heterogenous yang berarti terbagi menjadi berbagai jenis perangkat keras, sistem operasi, dan aplikasi yang terpasang. Pengalaman berpikir komputasional lebih mengacu pada penerapan komputasi secara realistis, di antaranya sebagai berikut. a. Penerapan komputasi modern pada website mataharimall.com Mataharimall.com adalah situs belanja online No. #1 dan terbesar di Indonesia. MatahariMall memberikan fasilitas pelayanan yang terbaik untuk mendukung kalian belanja online dengan aman, nyaman dan terpercaya. Mataharimall.com menawarkan beragam kemudahan untuk bertransaksi, seperti transfer antarbank, kartu kredit dengan cicilan 0%, O2O (Online-to-Offline), COD (Cash On Delivery), dan metode lainnya. Mataharimall.com menyediakan ratusan ribu pilihan produk dengan harga terbaik dari segala kebutuhan, mulai dari fashion wanita, fashion pria, produk kecantikan, smartphone, elektronik, hobi, makanan dan minuman, dan lainnya. Mataharimall.com menawarkan 24 jam non-stop discount dan puluhan promo menarik setiap harinya. Dengan begini, belanja online murah bisa jadi pilihan menarik yang sayang jika kalian lewatkan. b. Penerapan komputasi modern pada perusahaan EIGER Salah satu website yang mengaplikasikan komputasi modern adalah website dari perusahaan EIGER (http://eigeradventure.com ). Kita pasti sudah tidak asing dengan merk ini, EIGER sendiri adalah merk dari alat perlengkapan outdoor. Di website ini kita bisa melihat sedikit tentang perusahaan EIGER, produk-produk yang dijual dan berbagai kegiatan yang dilakukan EIGER. Website EIGER sudah termasuk ke dalam penerapan komputasi modern yang terdapat pada layanan pemesanan online. User/customer dapat memesan produk secara virtual/online tanpa harus datang langsung ke toko tersebut. Sistem layanan pada website perusahaan ini telah mengandung unsur-unsur yang merupakan penerapan dari komputasi modern. 1) Tampilan halaman utama Pada halaman utama ditampilkan tentang kegiatan yang dilakukan EIGER, produk terbaru serta harganya dan akses ke menu lainnya. 2) Tampilan login Untuk dapat melakukan pemesanan kita harus membuat akun terlebih dahulu, dengan cara register dan jika sudah kita dapat Login dan melakukan pemesanan. 3) Tampilan list produk Di bagian ini menampilkan produk-produk yang dijual oleh EIGER, jika kita memilih salah satu produknya maka akan muncul pilihan untuk pembelian, atau memasukkan barang ke wishlist, dan jika di kilik pilihan quick buy maka akan tampil menu jumlah barang dan add to bag. 4) Tampilan order Setelah kita memastikan jenis barang yang dibeli kita akan diminta memasukkan data diri dan alamat lengkap serta metode pembayaran dan kode pemesanan barang. 5) Tampilan menu user Pada bagian ini ditampilkan barang yang sudah kita pesan dan status pengiriman barang, jika pembayaran sudah dilakukan maka barang akan seegra di proses dan dikirim ke alamat yang tertera. 6) Tampilan track your order Pada menu ini kita dapat melihat di mana pesanan kita sudah di proses, apakah sudah di kirim atau masih dalam pemrosesan. 7) Tampilan our store Di sini akan ditampilkan peta dunia serta marker yang menunjukkan di mana saja outlet EIGER Store berada, di sini juga diberikan alamat dari Store tersebut.

Tidak ada komentar:

Posting Komentar