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 nilainilai 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 elemenelemen 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.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar