Senin, 31 Mei 2021
Prosedur Standar dalam Menyelesaikan Persoalan Komputasi
Prosedur Penyelesaian Masalah Komputasi Teknik
Cara menilai kemampuan : perubahan pada diri yang dinilai. Muhasabah adalah evaluasi / koreksi / instropeksi pada diri sendiri agar dapat melakukan lebih baik ke depan. Frekuensi pribadi atau natural adalah frekuensi di mana sistem berosilasi ketika sistem itu terganggu. Frekuensi yang dapat ditangkap sinyalnya adalah frekuensi sebesar mendekati 10 Hz, sehingga betapa kaku/rigid suatu benda ketika terjadi resonansi dengan frekuensi tersebut maka benda tersebut akan disintegrate (hancur). Tidak pernah suatu benda mampu mencapai frekuensi 1 Hz. Dimana 1 Hz adalah satu putaran per detik. Frekuensi eksitasi merupakan frekuensi putar. Resonansi adalah akibat yang dihasilkan pada sebuah benda apabila frekuensi pribadi sama dengan frekuensi eksitasi.
Metode Urutan Berpikir Dalam Komputasi Teknik : DATA => INFORMASI => PENGETAHUAN => ILMU => HIKMAH (WISDOM) (kebaikan)
Referensi dasar dari Komputasi Teknik adalah Kitab Suci, dimana Kitab Suci adalah kumpulan dari hikmah. Yang dapat merasakan perubahan diri kita adalah kita sendiri, perubahan itulah yang kita evaluasi tentang keterampilan konsep, menganalisa masalah, pemodelan, simulasi dll, apakah perubahan tersebut menjadi lebih paham dan mengubah sikap menjadi lebih baik ataukah menjadi menurun.
Radikal adalah proses berpikir secara kompleks sampai ke akar – akarnya, sampai pada esensi, hakikat atau substansi yang dipikirkan.
Prosedur Pemecahan Masalah Dengan Komputasi Teknik :
Tugas-2b.jpg
Masalah dalam teknik ada 2 macam, yaitu : - Terstruktur adalah sudah ada standar dan langkah – langkah (prosedur) penyelesaian - Tidak terstruktur adalah tidak ada standar penyelesaiannya sehingga menggunakan cara analisis.
Analisis adalah suatu usaha pemikiran untuk menyelesaikan langkah – langkah penyelesaian, hasil dari analisis adalah berupa prosedur menyelesaikan masalah. Pemodelan adalah model matematik yang siap dihitung komputer berupa matriks atau perhitungan aritmatik sederhana, penjumlahan, pengurangan, pengalian, yang dibundle pada salah satu software. Simulasi dilakukan oleh computer.
Verifikasi adalah pengecekan/memeriksa apakah pemecahan model matematik tersebut dengan benar, betul secara teoritis tapi secara kenyataan di riil belum tentu benar. Validasi adalah apakah kita memecahkan persamaan model matematik tersebut yang benar, artinya mendekati kenyataan (lebih aktual).
Kinerja Komputasi dengan Parallel Processing
frisellamariana frisellamariana
10 years ago
Sebelum membahas mengenai Kinerja Komputasi dengan Parallel Processing, maka kita lihat dahulu satu persatu makna dari kata perkata. Kinerja berarti hasil kerja. Komputasi adalah cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Parallel berarti ganda. Processing adalah proses. Dengan demikian dapat diartikan bahwa Kinerja Komputasi dengan Parallel Processing adalah teknik melakukan komputasi (cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma) secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Komputasi paralel membutuhkan:
· algoritma
· bahasa pemrograman
· compiler
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.
Contoh Gambar struktur pengiriman permintaan dan jawaban dari parallel processing.
Dalam Kinerja Komputasi terdapat 2 model penyelesaian masalahnya, yaitu :
1. Dengan cara Komputasi Tunggal (terdiri dari 1 cpu yg menyelesaikan masalah)
2. Dengan cara Komputasi Parallel (terdiri dari beberapa cpu yg menyelesaikan masalah)
Network File System (NFS)
By Muhammad Mufid Luthfi
Network File System (NFS)
NFS
NFS (Network File System) adalah sebuah protokol berbagi pakai berkas melalui jaringan. NFS ini meng-share file ataupun resource melalui network atau jaringan tanpa peduli sistem operasi yang digunakan apa. Sederhananya NFS (Network File System) Merupakan komputer/host yang menyediakan sistem file(via direktori) yang dapat diakses oleh komputer lain. Langkah server adalah menyiapkan direktori yang akan di-share, kemudian melakukan konfigurasi sharing direktori yang sudah disiapkan.
NFS merupakan sebuah sistem berkas terdistribusi yang dikembangkan oleh Sun Microsystems Inc. pada awal dekade 1980-an yang menjadi standar de facto dalam urusan sistem berkas terdistribusi. NFS didesain sedemikian rupa untuk mengizinkan pengeksporan sistem berkas terhadap jaringan yang heterogen (yang terdiri dari sistem-sistem operasi yang berbeda dan platform yang juga berbeda).
Teknologi NFS ini dilisensikan kepada lebih dari 200 vendor komputer dan jaringan, dan telah dibuat implementasinya pada banyak platform dan sistem operasi, termasuk di antaranya adalah UNIX, GNU/Linux, Microsoft Windows, dan lingkungan mainframe.
MPI ( Message Passing Interface)
By ketutrare 1 comment
Pengertian MPI (Message Passing Interface)
MPI (Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada network dalam usaha untuk menyelesaikan suatu tugas. Paradigma Message - Passing dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu software dalam domain fungsi tertentu, yang dalam hal ini pada lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk software yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara paralel.
MPI adalah standar interface dari model message - passing yang didefenisikan oleh sebuah grup yang terdiri dari 60 orang yang berasal dari 40 organisasi baik vendor komersil maupun dari kalangan peneliti akademisi yang berada di Amerika Serikat dan Eropa. Dalam grup tersebut mereka mencoba merumuskan dan membuat sebuah "standard by consensus" untuk pustaka message - passing yang dapat digunakan dalam komputasi paralel.
MPI menjadi standar defacto yang banyak digunakan dalam komunikasi proses pada model dari program paralel pada sistem memori terdistribusi, yang mana banyak diimplementasikan oleh pada super komputer dan computer cluster. Pada spesifikasi MPI-1 tidak memiliki konsep tentang shared memory, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep distributed shared memory. Dengan kemampuan tersebut MPI dapat mengeksploitasi arsitektur lingkungan yang sifatnya heterogen atau bersifat arsitektur NUMA (Non-Uniform Memory Access).
Implementasi MPI merupakan sebuah API yang dapat dipanggil dari beberapa bahasa pemrograman seperti Fortran, C, ataupun C++, dan bersifat portable. Terdapat dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime enviroment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I/O, dynamic process management, remote memory operation dsb.
MPI ( Message Passing Interface)
By ketutrare 1 comment
Pengertian MPI (Message Passing Interface)
MPI (Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada network dalam usaha untuk menyelesaikan suatu tugas. Paradigma Message - Passing dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu software dalam domain fungsi tertentu, yang dalam hal ini pada lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk software yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara paralel.
MPI adalah standar interface dari model message - passing yang didefenisikan oleh sebuah grup yang terdiri dari 60 orang yang berasal dari 40 organisasi baik vendor komersil maupun dari kalangan peneliti akademisi yang berada di Amerika Serikat dan Eropa. Dalam grup tersebut mereka mencoba merumuskan dan membuat sebuah "standard by consensus" untuk pustaka message - passing yang dapat digunakan dalam komputasi paralel.
MPI menjadi standar defacto yang banyak digunakan dalam komunikasi proses pada model dari program paralel pada sistem memori terdistribusi, yang mana banyak diimplementasikan oleh pada super komputer dan computer cluster. Pada spesifikasi MPI-1 tidak memiliki konsep tentang shared memory, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep distributed shared memory. Dengan kemampuan tersebut MPI dapat mengeksploitasi arsitektur lingkungan yang sifatnya heterogen atau bersifat arsitektur NUMA (Non-Uniform Memory Access).
Implementasi MPI merupakan sebuah API yang dapat dipanggil dari beberapa bahasa pemrograman seperti Fortran, C, ataupun C++, dan bersifat portable. Terdapat dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime enviroment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I/O, dynamic process management, remote memory operation dsb.
Tujuan MPI
MPI merupakan sebuah protokol komunikasi yang sifatnya language-independent, portable dalam mensupport berbagai platform, dan memiliki spesifikasi semantic yang mengatur bagaimana perilaku setiap impelementasinya. MPI mendukukung komunikasi baik dengan tipe point-to-point maupun yang bersifat kolektif. Secara umum MPI memliki tujuan sebagai berikut :
MPI akan menjadi sebuah library untuk membangun program aplikasi dan bukan distributed operating system.
MPI akan mendukung thread-safe yang penting dalam symmetric multiprocessor pada lingkungan jaringan komputer yang heterogen.
MPI akan mampu untuk men-deliver high-performance computing.
MPI akan bersifat modular, untuk mengakselerasi development pustaka paralel yang portable.
MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.
MPI akan mendukung heterogeneos komputasi.
MPI akan memiliki semantic behavior yang telah terspesifikasi dengan jelas, sehingga dapat menghindari beberapa permasalahan kritis seperti race-conditions, dead-lock dsb.
Tipe Komunikasi MPI
a. Point-to-Point Communication
Pada implementasi program berbasis message-passing, point-to-point communication adalah komunikasi yang paling sederhana dimana akan melibatkan sepasang proses yang saling bekerjasama. Pada API dari MPI, secara sederhana dapat digunakan MPI_Send atau MPI_Recv, dimana akan mengizinkan terjadinya sebuah proses spesifik yang satu dapat mengirimkan data pesan ke sebuah proses spesifik yang lain. Operasi point-to-point communication secara khusus berguna dalam komunikasi yang irregular ataupun yang berpola.
Contoh: sebuah arsitektur data paralel dimana setiap prosessor secara rutin melakukan pertukaran region data dengan sebuah prosessor spesifik lainnya pada setiap langkah kalkulasi, atau pada arsitektur master-salve dimana sang master akan mengirim task data baru ke proses slave pada saat task data sebelummnya telah selesai.
b. Collective Communication
Berbeda dengan point-to-point communication, collective communication pada MPI API melibatkan komunikasi antara semua proses dalam sebuah group proses (dalam artian keseluruhan pool Proses atau sebuah subset terdefinisi pada program). Fungsi interface yang sederhana dapat berupa MPI_Bcast (broadcast) yang melakukan pengiriman data dari sebuah proses ke semua proses lainnya pada group, dan fungsi MPI_Reduce untuk melakukan kebalikannya.
Tipe komunikasi memberikan dua keuntungan, yaitu pertama, operasi komunikasi tersebut mengizinkan programmer untuk mengekspresikan operasi yang kompleks dengan menggunakan semantik yang sederhana, kedua, implementasi dapat melakukan pengoptimasian operasi melalui cara yang tidak disediakan oleh tipe operasi point-to-point communication.
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.
Praktik Lintas Bidang (Tematis)
Komputasi dan Ruang Lingkupnya
Di masa sekarang, mayoritas orang sudah mengenali komputer berukuran kecil yang disebut Personal
Computer (PC) atau komputer mikro. Disebut personal, karena pengoperasiannya cukup membutuhkan
satu orang saja, beda dengan komputer pada zaman dahulu yang butuh banyak orang. Kecepatan, biaya
komunikasi, dan prosesor komputer memengaruhi penggunaan sumber-sumber daya tersebut. Dalam hal
ini, warganet di seluruh dunia memiliki akses yang mudah atas beraneka ragam informasi dengan hanya
berpandukan pada sebuah mesin pencari (search engine) seperti Google. Dibanding dengan buku dan
perpustakaan, penggunaan internet melambangkan penyebaran (decentralization) informasi dan data secara
ekstrem.
Gambar Kemenkominfo ajak warganet bijak gunakan internet
1. Budaya Informatika Lewat Berpikir Komputasional
Computational thinking diperkenalkan oleh Seymour Papert pada tahun 1980 dan 1996. Pemerintah
Inggris pada tahun 2014 memasukkan materi pemrograman ke dalam kurikulum sekolah dasar dan
menengah dengan tujuannya mengenalkan computational thinking sejak dini kepada siswa. Hal
tersebut karena adanya anggapan bahwa hal tersebut dapat membuat siswa menjadi lebih cerdas
dan lebih cepat memahami teknologi yang ada di lingkungan sekitar. Jeannette M. Wing menyatakan
bahwa computational thinking dibangun di atas kekuatan dan batas-batas proses komputasi yang akan
dieksekusi oleh manusia atau oleh sebuah mesin.
Berpikir komputasi adalah teknik pemecahan masalah yang sangat luas
wilayah penerapannya. Tidak mengherankan bahwa memiliki kemampuan
tersebut adalah sebuah keharusan bagi seseorang yang hidup pada Abad
ke-21. Computational thinking melatih otak untuk terbiasa berpikir secara
logis, terstruktur dan kreatif, misalnya dalam bermain musik dan belajar
bahasa asing. CT memang memiliki peran penting dalam pengembangan
aplikasi komputer, namun CT juga dapat digunakan untuk mendukung
pemecahan masalah di semua disiplin ilmu, termasuk humaniora, matematika
dan ilmu pengetahuan. Siswa yang belajar di mana CT diterapkan dalam
kurikulum (proses pembelajaran) dapat melihat hubungan antara mata
pelajaran, serta antara kehidupan di dalam dengan di luar kelas.
2. Kolaborasi Informatika Lewat Tematik
Salah satu aspek informatika yang banyak digunakan pada kolaborasi lewat tematik berkaitan
dengan struktur untuk menggambarkan bentuk relasi (graf). Graf bisa diterjemahkan sebagai salah
satu sarana dalam informatika untuk menggambarkan jaringan sosial. Graf sederhana terdiri dari node
(menyatakan orang) dan garis (menyatakan relasi teman).
a. Sejarah teori graf
Seorang matematikawan Swiss dinyatakan sebagai orang yang pertama kali (1736) menulis
artikel ilmiah di bidang teori graf adalah Leonhard Euler. Artikel dengan judul “Seven Bridges of
Königsberg” yang ditulisnya membahas permasalahan ada atau tidaknya struktur yang saat ini dikenal sebagai sirkuit Euler pada graf keterhubungan daratan kota
Königsberg (sekarang Kaliningrad, Russia) dan pulau kecil di tengah
sungai Pregel yang dihubungkan oleh tujuh buah jembatan. Pada masa
berikutnya, disiplin ilmu teori graf belum meraih perhatian besar para
matematikawan penting dalam sejarah sampai kurang lebih seratus
tahun kemudian, masalah pewarnaan peta diperkenalkan oleh Francis
Guthrie. Pada tahun 1852, Francis Guthrie menyadari adanya empat
warna berbeda yang dibutuhkan untuk mewarnai peta wilayah Britania
Raya dengan setiap dua daerah bersebelahan selalu memiliki dua
warna berbeda. Hingga pada awal Abad Keduapuluh, para saintis
menemukan banyak manfaat dari teori graf di bidang-bidang lain
seperti ilmu komputer, kimia teoretik, transportasi, dan lain-lain.
b. Perkembangan teori graf
Berbagai bentuk struktur dapat direpresentasikan dengan graf, dan berbagai jenis masalah dapat
diselesaikan dengan bantuan graf. Teori graf atau teori grafik dalam matematika dan ilmu komputer
adalah cabang kajian yang mempelajari sifat-sifat graf (grafik) dan hal ini ini tidak sama dengan
grafika. Pengertian graf secara informal adalah himpunan benda-benda yang disebut simpul (vertex
atau node) yang terhubung oleh sisi (edge) atau busur (arc). Biasanya graf digambarkan sebagai
kumpulan titik-titik (melambangkan simpul) yang dihubungkan oleh garis-garis (melambangkan
sisi) atau garis berpanah (melambangkan busur). Suatu sisi dapat menghubungkan suatu simpul
dengan simpul sejenis yang disebut gelang (loop). Misalnya jaringan pertemanan Facebook yang
bisa direpresentasikan dengan graf, berupa simpul-simpul yang mereprentasikan para pengguna
Facebook dan ada sisi antarpengguna jika dan hanya jika mereka berteman.
Perkembangan algoritme untuk menangani graf akan berdampak besar bagi ilmu komputer. Sebuah
struktur graf bisa dikembangkan dengan memberi bobot pada tiap sisi. Graf berbobot dapat digunakan
untuk melambangkan banyak konsep berbeda. Misalnya sebuah graf melambangkan jaringan jalan
maka bobotnya bisa berarti panjang jalan maupun batas kecepatan tertinggi pada jalan tertentu.
Ekstensi lain pada graf adalah dengan membuat sisinya berarah, yang secara teknis disebut graf
berarah atau digraf (directed graph). Digraf dengan sisi berbobot disebut jaringan. Jaringan banyak
digunakan pada cabang praktis teori graf yaitu analisis jaringan. Perlu dicatat bahwa pada analisis
jaringan, definisi kata “jaringan” bisa berbeda, dan sering berarti graf sederhana (tanpa bobot dan
arah).
c. Implementasi teori graf
Metode otomatis pada program komputer bertujuan untuk menganalisis relasi (graf) dalam
menganalisis jaringan sosial. Metode analisis graf bermanfaat dalam aplikasi GPS, di mana
persimpangan jalan diwakili oleh node dan jalur-jalur yang bersesuaian dengan edge. Program
komputer untuk menganalisis graf dapat dipakai untuk mencari jalan terpendek antara dua tempat.
Contoh paling mudah dapat dilihat ketika seseorang mengunggah foto pribadi ke internet, maka
harus berpikir hati-hati tentang siapa saja yang mungkin melihat gambar. Karena sangat sulit untuk
mengontrol siapa saja yang bisa melihat gambar, maka langkah terbaik adalah tidak pernah mengupload gambar ke internet kecuali gambar yang dapat untuk konsumsi publik, di stasiun bus lokal, atau sekolah
Guna merepresentasikan pengguna media sosial dengan topik yang dia minati, digunakan graf
tidak berarah. Begitu juga dengan hubungan pengguna media sosial dengan jenis kelamin, lokasi
dan usianya digunakan graf tak-berarah. Pada fitur iklan berbayar pada media sosial, pengiklan
dapat menetapkan target pemasarannya dari aspek minat, lokasi, usia, dan jenis kelamin. Hal ini
dapat dilihat pada layanan iklan berbayar di Facebook. Facebook menawarkan pengiklan untuk
menetapkan anggaran yang dimiliki oleh pengiklan, lalu Facebook akan menetapkan biayanya
dengan paid per click sehingga biayanya langsung dipotong dari anggaran yang ditetapkan oleh
pengiklan. Di sini Facebook akan berusaha seefektif mungkin agar banyak orang yang membuka
iklan dari pengiklan tersebut. Ketika anggarannya habis, iklan akan dihentikan. Berbeda dengan
Facebook, Twitter menyediakan layanan iklan bayaran yang lebih beragam salah satunya Followers
Campaigns. Pengiklan juga akan menetapkan anggaran untuk beriklan. Lalu Twitter akan mengenakan
biaya untuk tiap satu akun yang mengikuti (follow) akun twitter pengiklan. Guna bentuk balasan,
retweet, klik pada tweet pengiklan tidak dikenakan biaya.
3. Problema Model Komputasi menggunakan Kalkulasi Integrasi Numerik
Integrasi numerik merupakan suatu metode untuk menghitung luasan di bawah suatu fungsi pada
grafik pada selang (jeda) yang diberikan, misalnya selang waktu. Jika suatu benda memiliki bentuk tetap
dan telah diketahui secara massal misalnya segitiga, trapesium, bujur sangkar dan lain sebagainya
akan dengan mudah untuk menghitung luas benda tersebut. Hal ini akan berbeda jika suatu benda
yang dimaksud terdapat pada fungsi dan tidak mengetahui luas di bawah fungsi tersebut, maka cara
paling mudah adalah menggunakan metode integral numerik. Hal tersebut dikarenakan untuk benda
yang telah diketahui secara umum memiliki rumus yang selama ini dikenal, misalnya bujur sangkar =
sisi × sisi, persegi panjang = panjang × lebar, trapesium = jumlah sisi sejajar × tinggi × ½, dan segitiga
= ½ × alas × tinggi.
Dengan demikian, integrasi numerik sebagai salah satu metode alternatif untuk mengintegrasikan
suatu persamaan tanpa mengesampingkan integrasi analitis. Integrasi analitis sebagai cara integrasi
yang sulit, terutama pada persamaan-persamaan yang kompleks dan rumit. Secara mendasar, aturan
Simpson memerlukan satu set data yang berjumlah ganjil. Oleh karena itu, jika data yang tersedia
berjumlah genap, maka proses perhitungannya adalah data pertama dan kedua dihitung berdasarkan
aturan Trapezoidal dan sisanya dihitung berdasarkan aturan Simpson. Aturan Simpson adalah suatu
aturan yang digunakan untuk menghitung luas suatu kurva polinom berderajat dua atau berderajat
tiga dengan pendekatan yaitu pendekatan menggunakan partisi berbentuk parabola. Dalam metode
Simpson ada dua jenis yaitu metode Simpson 1 per 3 dan metode Simpson 3 per 8. Beberapa hal yang
berhubungan dengan integrasi numerik adalah sebagai berikut.
a. Bentuk umum persamaan integrasi numerik pada aturan Trapezoidal adalah sebagai berikut.
1 1
234 2 2
n f f S f f f ... h
b. Bentuk umum persamaan integrasi numerik pada aturan Simpson adalah sebagai berikut.
( 12 3 4 5 6 1) 3 n
h S f f f f f f ... f = +++++++ +
Hal mendasar yang perlu diketahui bahwa satu set data x sama dengan satu set data yang memiliki
deret beraturan atau memiliki rentang yang sama (h) pada setiap datanya. Pada saat persamaan
tersebut ingin diintegrasikan, maka integrasi numerik menjadi langkah alternatif yang digunakan. Adapun
pokok inti dari integrasi numerik adalah menghitung integrasi suatu persamaan dari satu set data yang
melingkupi satu set data nilai x dan satu set data nilai f(x). Dua teknik yang biasa digunakan pada
integrasi numerik adalah aturan Trapezoidal dan aturan Simpson. Guna mempermudah perhitungan
menggunakan aturan di atas dibantu menggunakan bahasa pemrograman. Pada dasarnya, metode
Trapezoidal maupun metode Simpson memang memberikan hasil yang hampir sama.
Bentuk pembuatan program kalkulasi integrasi numerik paling mudah menggunakan program
Microsoft Visual Basic, walaupun tidak menutup kemungkinan menggunakan aplikasi berbasis teks yang
lain. Dalam hal ini, penggunaan metode yang digunakan berupa kombinasi antara metode Trapezoidal
dan Simpson, sebab metode Simpson memerlukan kumpulan data ganjil, maka perhitungan integrasi
dua data awal menggunakan metode Trapezoidal dengan integrasi data yang selanjutnya dilakukan
dengan menggunakan metode Simpson. Sebagian besar data diintegrasikan dengan metode Simpson
yang lebih akurat, dikarenakan integrasinya berdasarkan pendekatan fungsi kuadrat untuk setiap tiga
set data pada kumpulan data yang ingin diintegralkan.
a. Persamaan integrasi
Beberapa persamaan integrasi yang digunakan adalah sebagai berikut.
1) Jika menggunakan persamaan integrasi Trapezoidal, maka bentuk persamaannya sebagai
berikut.
( ) 1
1 1
234 2 2
n x
n
x
f f S f x dx f f f ... + = = +++++ ∫
Persamaan integrasi Trapezoidal
2) Jika menggunakan persamaan integrasi Simpson, maka bentuk persamaannya sebagai
berikut.
( )
( )
1
1
12 3 4 5 6 1 42 424
3
x nh
x
n
S fx
h f f f f f f ... f
+
+
=
= + + ++ + + + +
∫
b. Pembuatan program integrasi numerik
Pembuatan program integrasi numerik dapat mengggunakan pemrograman C/C++ untuk
menghitung luas suatu daerah di bawah fungsi yang biasa dilakukan adalah menghitung nilai integral
di bawah fungsi dengan batas atas dan batas bawah yang telah ditetapkan. Namun, komputer
tidak mengenal integral. Komputer hanya mengenal operasi bilangan yang dasar seperti tambah,
kali, bagi, dan lain-lain. Metode integrasi numerik memberikan prosedur dalam menghitung nilai integral tersebut dengan perhitungan biasa. Terdapat banyak metode dalam integrasi numerik, di
antaranya metode jumlah atas dan jumlah bawah, metode simpson 1/3, metode trapezoidal, dan
metode gauss quadrature.
4. Mengembangkan dan Menggunakan Abstraksi
Empat kemampuan dasar dalam computational thinking (CT)
yaitu decomposition, pattern generalization, abstraction, dan algorithm
design. Pattern generalization dan abstraction sebagai kemampuan
untuk menyaring informasi yang tidak perlu untuk menyelesaikan jenis
permasalahan tertentu dan menggeneralisasi informasi yang diperlukan.
Computational thinking (CT) sebagai sebuah pendekatan dalam proses
pembelajaran dan berperan penting dalam pengembangan aplikasi
komputer serta dapat digunakan untuk pendukung pemecahan masalah pada semua disiplin ilmu.
Beberapa metode yang digunakan, antara lain sebagai berikut.
a. Decomposition
Kemampuan memecah data, proses, atau masalah (kompleks) menjadi bagian-bagian yang
lebih kecil atau menjadi tugas-tugas yang mudah dikelola. Misalnya memecah ‘drive/folder’ dalam
sebuah komputer berdasarkan komponen penyusunnya, yaitu file dan folder.
b. Pattern recognition
Metode jenis ini dapat digunakan untuk melihat perbedaan maupun persamaan pola, tren, dan
keteraturan dalam data yang nantinya akan digunakan dalam membuat prediksi dan penyajian
data. Misalnya mengenali pola file document, system file, file eksekusi, atau struktur data/file.
c. Abstraction
Abstraksi bermanfaat dalam melakukan generalisasi dan
identifikasi prinsip-prinsip umum untuk menghasilkan pola, tren,
dan keteraturan tersebut. Misalnya menempatkan semua file sistem
di folder Windows, file program di folder Program Files, file data/
dokumen di folder Mydocuments dan file pendukung di Drive/Folder
terpisah.
d. Algorithm design
Algorithm design bermanfaat dalam mengembangkan petunjuk
pemecahan masalah yang sama secara step-by-step, sehingga orang
lain dapat menggunakan informasi tersebut untuk menyelesaikan
permasalahan yang sama. Misalnya langkah-langkah dalam mencari
file-file dokumen yang ada dalam sebuah komputer.
5. Penerapan Computational Thinking (CT)
Dengan menerapkan computational thinking, seorang siswa bisa mengerjakan laporannya secara
efisien dan efektif terhadap waktu.
a. Dekomposisi
Laporan terdiri dari berbagai bagian sehingga seorang siswa sebaiknya melihat laporan bukan
sebagai satu kesatuan tetapi dari bagian-bagiannya. Sehingga ketika pengerjaan akan berfokus
pada laporan tidak sebagai satu tugas yang besar, melainkan sebagai kumpulan tugas-tugas kecil.
b. Pengenalan pola
Kerap laporan yang kita kerjakan meliput sebuah materi pemrograman yang harus dibuat,
tes dan kemudian dijelaskan. Biasanya seorang siswa akan memulai dengan bagian pemodelan
dari materi pemrograman tersebut, baru berlanjut ke bagian algoritmanya dan kemudian materi
pemrogramannya itu sendiri dan berakhir baru penjelasan dari materi pemrograman.
c. Abstraksi
Abstraksi yang dapat diambil adalah ketika pengerjaan laporan, apa yang diminta oleh materi
pemrograman serta bentuk narasi dan penjelasannya nanti.
d. Penciptaan algoritma
Digunakan sebagai langkah-langkah yang perlu diambil ketika mengerjakan laporan, seperti
pembuatan model dahulu, baru algoritma kemudian materi pemrograman beserta narasi dan
penjelasannya.
Berdasarkan informasi tersebut, maka cara mengimplementasikan computational thinking adalah
dengan memahami masalah, mengumpulkan semua data, lalu mulai mencari solusi sesuai dengan
masalah. Dalam computational thinking, ada yang disebut dengan dekomposisi yaitu kita memecah
suatu masalah yang kompleks menjadi masalah-masalah yang kecil untuk diselesaikan. Terdapat
berbagai contoh sehari-hari yang dapat menjadi tempat untuk menerapkan computational thinking. Hal pokok yang kerap dihadapi siswa adalah perihal tugas-tugas berbentuk laporan yang diberikan oleh
guru setelah pembelajaran.
Berpikir Komputasional (Tematis)
Pengetahuan Dasar Computational Thinking
Kemampuan berpikir komputasi bukanlah kemampuan membuat program
di komputer, atau kemampuan menggunakan software di komputer walaupun
keahlian ini tetap akan memperkaya kemampuan berpikir komputasi. Metode
inti dalam computational thinking dikategorikan menjadi decomposition dalam
memecah masalah yang lebih besar (kompleks). Hal tersebut menjadi komponenkomponen yang lebih kecil (sederhana), pattern recognition dalam mencari/
menemukan pola/kesamaan antarmasalah maupun dalam masalah tersebut.
Abstraction fokus pada informasi penting saja dan mengabaikan detail yang
kurang relevan.
Mengamati
Amatilah bagian-bagian dan bentuk-bentuk dari pengetahuan dasar computational thinking yang ada di
lingkungan sekolah kalian! Tulis hasil pengamatan kalian di buku tugas! Nilaikan kepada guru!
1. Sejarah Komputasi Modern
Cikal bakal (sejarah) terjadinya komputasi modern hingga menjelang kemunculan ENIAC adalah
sebagai berikut.
a. Tahun 1941, Konrad Zuse’s electromechanical menciptakan mesin bernama Z machine yang
dikenal dengan istilah Z3 sebagai mesin pertama yang menampilkan biner aritmatika, termasuk
aritmatika floating point dan ukuran programmability. Hingga pada tahun 1998, operasional Z3 di
dunia komputer memiliki bentuk mesin Turing secara lengkap.
Gambar Z3 Konrad Zuse’s electromechanical
b. Pada tahun 1941 ditemukan seperangkat tabung hampa yang didasarkan pada perhitungan, angka
biner, dan regeneratif memori kapasitor yang dikenal sebagai nonprogrammable atanasoff (berry
computer). Penggunaan memori regeneratif menjadikannya jauh lebih seragam walaupun masih
berukuran meja besar atau meja kerja.
c. Komputer Colossus yang ditemukan pada tahun 1943 memiliki kemampuan dalam membatasi
kemampuan program tertentu. Komputer ini digunakan untuk memecahkan kode perang
Jerman.
d. Tahun 1944 ditemukan komputer elektromekanis dengan programmability terbatas yang diberi nama The Harvard Mark I
e. Masa berikutnya, US Army’s Ballistic Research Laboratory menemukan ENIAC pada tahun 1946
sebagai unit komputer yang digunakan untuk menghitung desimal aritmatika dan dinyatakan sebagai
komputer elektronik pertama.
2. Klasifikasi Komputasi Modern
Komputasi modern selalu berkaitan erat dengan prosedur
perhitungan menggunakan algoritma tertentu dalam menyelesaikan
berbagai jenis masalah menggunakan komputer. Penerapan
simulasi komputer secara praktis dengan berbagai bentuk komputasi
lainnya untuk menyelesaikan masalah-masalah dalam berbagai
bidang keilmuan. Pada perkembangan selanjutnya, komputasi
digunakan untuk menemukan prinsip-prinsip baru yang mendasar
dalam berbagai disiplin ilmu.
a. Grid computing system
Komputasi grid memiliki beberapa karakteristik.
Karakteristik tersebut di antaranya kemampuan dalam
menggunakan seperangkat komputer yang terpisah secara
geografis, didistribusikan, dan terhubung oleh jaringan
untuk menyelesaikan masalah komputasi berskala besar.
Beberapa daftar yang dapat digunakan untuk mengenali
sistem komputasi grid berupa sistem koordinat sumber daya
komputasi. Sistem tersebut tidak berada di bawah kendali
pusat, sistem menggunakan standard dan protokol yang
terbuka. Sistem ini memiliki kemampuan dalam mencoba
mencapai kualitas pelayanan canggih serta lebih baik di atas
kualitas komponen individu pelayanan komputasi grid.
Beberapa implikasi grid computing, antara lain sebagai
berikut.
1) Big science
Data dan komputasi grid dalam hal ini digunakan untuk membantu proyek laboratorium yang
disponsori oleh pemerintah.
2) CADD (Computer-Aided Drug Discovery)
Implikasi grid computing digunakan untuk membantu penemuan obat, misalnya Molecular
Modelling Laboratory (MML) dari University of North Carolina (UNC).
3) e-Learning
Implikasi grid computing yang dapat membantu dalam membangun infrastruktur untuk memenuhi
kebutuhan dalam pertukaran informasi di bidang pendidikan.
4) Microprosesor design
Implikasi grid computing yang dapat membantu mengurangi penggunaan microprosesor design
cycle serta memudahkan design center dalam membagikan resource secara efisien. Misalnya
Microprosesor Design Group yang digunakan di IBM Austin.
5) Scientific simulation
Implikasi grid computing digunakan untuk simulasi terhadap proses yang kompleks di bidang
fisika, kimia, dan biologi.
b. Cloud computing system
Cloud computing sebagai metode komputasi di mana kapabilitas terkait teknologi informasi
yang disajikan sebagai layanan (as a service). Dengan demikian, pengguna dapat mengaksesnya
lewat internet (“di dalam awan”) tanpa mengetahui apa yang ada di dalamnya, ahli dengannya,
atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Beberapa jenis layanan
komputasi awan, antara lain Infrastructure as a Service (IaaS), Platform as a Service (PaaS), dan
Software as a Service (SaaS). Dalam hal ini, awan (cloud) sering digambarkan di diagram jaringan
komputer sebagai metafora dari internet, sehingga dalam cloud computing sebagai abstraksi dari
infrastruktur kompleks yang masih disembunyikan. Komputasi cloud yang terukur secara dinamis
dan memiliki sumber daya virtual yang sering digunakan pada layanan internet. Secara mendasar
komputasi cloud digambarkan sebagai pelengkap dalam layanan IT berbasis model dalam internet
dengan melibatkan ketentuan dari keterukuran yang sudah ditentukan.
Gambar komputasi cloud (awan)
c. Mobile computing system (komputasi bergerak)
Kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sudut pandang
manusia maupun sudut pandang alat. Beberapa jenis perangkat komputasi bergerak antara lain
GPS, Laptop, PDA, smartphone, UMPC, Wearable computer, dan lain sebagainya. Dalam hal ini,
mobile computing menjadi sebuah kemajuan teknologi komputer dalam berkomunikasi menggunakan
jaringan tanpa kabel dan mudah dibawa atau berpindah tempat, meskipun secara mendasar
berbeda dengan komputasi nirkabel. Beberapa kemampuan mobile computing di antaranya akses
web dalam keadaan bergerak, disconnected operations (mobile agents), entertaintment (network
game groups), information services, location aware services, serta peralatan emergensi untuk
akses ke dunia luar maupun pemantauan dan koordinasi pada kendaraan (GPS).
3. Persoalan Akurasi dalam Komputasi Modern
Peletak dasar konsep komputasi modern pertama kali digagasi oleh seorang ilmuwan bernama
John Von Neumann. Sumbangsihnya dalam bidang matematika, teori kuantum, fisika nuklir, dan ilmu
komputer disalurkan melalui karya-karyanya. Von Neumann juga ahli dalam bidang komputasi dan
diangkat menjadi seorang konsultan pada pengembangan komputer ENIAC, sekaligus merancang
konsep arsitektur komputer yang masih dipakai sampai sekarang.
Gambar komputer ENIAC
Beberapa prinsip dalam memecahkan masalah menggunakan komputasi modern adalah sebagai
berikut.
a. Kompleksitas (Teori big O)
Seorang programmer harus mampu memprediksi jumlah sumber daya yang akan dihabiskan
oleh kode yang ditulisnya. Guna dapat mengukur hal tersebut, seorang programmer harus
mengetahui efisiensi algoritma yang telah ditulis. Pemahaman yang kurang terhadap hal tersebut
dapat menimbulkan kerugian, misalnya tidak bisa menilai dalam kasus apa algoritma berjalan lebih
cepat atau lebih lambat. Selain itu, ketidakmampuan tersebut akan berujung penilaian buruk terhadap
kinerja yang bersangkutan. Kompleksitas komputasi identik dengan cabang dari teori komputasi
dalam ilmu komputer yang berfokus pada mengklasifikasikan masalah komputasi sesuai dengankesulitan inheren mereka. Dalam konteks ini, sebuah masalah komputasi dipahami sebagai tugas
yang pada prinsipnya setuju untuk dipecahkan oleh komputer. Selain itu, kompleksitas sebagai hal
mendasar yang seharusnya dipahami oleh programmer. Dengan demikian, menguasai konsep Big
O menjadi suatu kewajiban jika ingin menjadi programmer yang unggul. Efisiensi algoritma dapat
diukur dengan sebuah notasi yang bernama Big O. Big O adalah sebuah metrik yang digunakan
untuk mengukur kompleksitas suatu algoritma. Kompleksitas dalam konteks ini berkaitan dengan
efisiensi kode. Semakin rendah kompleksitasnya, makin efisien pula kode tersebut.
Gambar Grafik kompleksitas pada teori big O
1) Ukuran kompleksitas
Berbagai bidang ilmu memiliki keterkaitan erat dalam ilmu komputer teoretis berupa analisis
algoritma dan teori computability. Perbedaan utama antara teori kompleksitas komputasi dan
analisis algoritma adalah kondisi akhir ditujukan untuk menganalisis jumlah sumber daya
yang dibutuhkan oleh algoritma tertentu. Adapun kondisi pertama mengajukan pertanyaan
yang lebih umum tentang semua kemungkinan algoritma yang dapat digunakan untuk
memecahkan masalah sejenis. Secara khusus, teori kompleksitas komputasi menentukan
batas-batas praktis tentang apa yang komputer bisa dan tidak bisa lakukan. Oleh sebab itu,
masalah kompleksitas dianggap sebagai sebuah inheren yang sulit jika memecahkan masalah
memerlukan sejumlah besar sumber daya, tetapi hal tersebut tergantung pada algoritma yang
digunakan dalam memecahkan masalah yang bersangkutan. Teori ini bersifat formalizes intuisi
dengan memperkenalkan matematika model komputasi untuk mempelajarinya dan kuantitatif
jumlah sumber daya yang dibutuhkan, seperti waktu dan penyimpanan.
Beberapa komponen ukuran kompleksitas yang digunakan di antaranya jumlah komunikasi
yang digunakan dalam kompleksitas komunikasi, jumlah gerbang dalam rangkaian yang
digunakan dalam rangkaian kompleksitas, dan jumlah prosesor yang digunakan dalam
komputasi paralel. Dalam hal ini, kompleksitas waktu pada sebuah algoritma berisi jumlah
langkah dan ekspresi bilangan yang dibutuhkan sebagai fungsi dari ukuran permasalahan.
Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan untuk eksekusi sebuah
program. Dalam hal ini, kompleksitas mencoba untuk mengklasifikasikan masalah yang dapat
atau tidak dapat diselesaikan secara tepat dengan sumber daya terbatas. Pada gilirannya,
memaksakan pembatasan pada sumber daya yang tersedia untuk membedakan kompleksitas
komputasi dari computability teori berkaitan dengan jenis masalah yang dapat diselesaikan
menggunakan prinsip algorithmically. Komputasi modern dirancang untuk menangani masalah
yang kompleks, sehingga diterapkan pada komputer. Dengan menggunakan teori Big O, maka
komputasi modern dapat melakukan perhitungan untuk memecahkan masalah kompleksitas
yang kerap dihadapi. Adapun kelompok algoritma berdasarkan kompleksitas waktu asimptotik
sebagai berikut.
No. Kelompok Algoritma Nama
1. O(1) Konstan
2. O(log n) Logaritmik
3. O(n) Linear
4. O(n log n) N log n
5. O(n2
) Kuadratik
6. O(n3
) Kubik
7. O(2n
) Eksponensial
8. O(n!) Faktorial
2) Implementasi teori Big O
Notasi Big O (dibaca : Big Oh) mengukur kompleksitas algoritma dalam dimensi waktu. Selain
Big O, ada dua notasi lain yang dapat digunakan untuk mengukur kompleksitas waktu sebuah
algoritma, yaitu Big Theta (Θ) dan Big Omega (Ω). Konsep Big Omega (Ω) mirip dengan Big O,
tetapi terdapat perbedaan pada semantiknya. Nilai Big Omega (Ω) menunjukkan batas bawah
kompleksitas waktu suatu algoritma, sedangkan Big O sebaliknya. Jika sebuah algoritma
memiliki nilai batas atas dan batas bawah yang sama, algoritma tersebut dikatakan memenuhi
konsep Big Theta (Θ).
Penggunaan teori Big O pada komputasi modern bertujuan
untuk melakukan perhitungan dalam memecahkan masalah
kompleksitas yang sering dihadapi. Komputasi modern
dirancang untuk menangani masalah yang kompleks dalam
implementasinya menggunakan seperangkat komputer. Notasi
Big O menjadi sebuah notasi matematika untuk menjelaskan
batas atas dari magnitude suatu fungsi dalam fungsi yang
lebih sederhana. Dalam dunia ilmu komputer, notasi ini sering
digunakan dalam analisis kompleksitas algoritma. Notasi Big
O pertama kali diperkenalkan tahun 1894 oleh Paul Bachmann
(pakar teori bilangan Jerman) dengan bukunya yang berjudul
“Analytische Zahlentheorie” edisi kedua. Notasi tersebut juga
dipopulerkan oleh pakar teori bilangan Jerman lainnya yaitu
Edmund Landau yang lebih dikenal sebagai simbol Landau.
Adapun konsep Big O sebagai sesuatu yang abstrak dapat lebih
mudah dipahami dengan menggunakan sebuah analog.
Beberapa jenis runtime yang umum ditemui adalah O(log n), O(n log n), O(n^2), O(2^n), dan
O(n!). Sebuah runtime mungkin saja memiliki lebih dari satu variabel. Misalnya ingin mengecat
dinding kamar. Jika dinding memiliki lebar l dan memerlukan n lapis cat, waktu total yang
diperlukan dapat dirumuskan sebagai O(ln). Atau bisa dilihat pada sebuah harddrive berisi
data penting yang perlu diberikan kepada teman di luar kota secepatnya. Dalam kasus ini,
ada dua alternatif yang dapat dilakukan yaitu sebagai berikut.
a) Memberikan harddrive tersebut kepada yang bersangkutan.
Dengan alasan efisiensi waktu, tentu saja akan memilih alternatif ini karena mengirimkan
harddrive dapat memakan waktu 1 hingga 3 jam.
b) Melakukan transfer data secara digital
Hal ini akan berbeda jika data yang harus dikirimkan sangat besar, misalnya 1 TB, sebab
dengan kecepatan rata-rata internet saat ini (16 Mbps), maka memerlukan waktu lebih dari
satu hari untuk menyelesaikan pengiriman data. Dengan kondisi tersebut, maka alternatif
kedua menjadi pilihan yang tepat. Dalam hal ini, proses transfer data mewakili waktu
eksekusi (runtime) algoritma. Dalam notasi Big O, proses tersebut dapat dideskripsikan
sebagai berikut.
(1) Transfer digital: O(n), di mana n adalah ukuran data. Notasi tersebut menunjukkan
bahwa waktu yang diperlukan untuk transfer data akan bertambah secara linear
mengikuti besar ukuran data.
(2) Transfer fisik: O(1), di mana 1 adalah suatu konstanta. Nilai konstan dalam notasi
tersebut menunjukkan bahwa ukuran data tidak memengaruhi waktu transfer data.
Artinya, data akan selalu sampai dalam rentang waktu 4 – 5 jam, tidak peduli seberapa
besar data yang dikirimkan.
b. Modelling (NN & GA)
Modelling menjadi suatu hal yang penting dalam melakukan perhitungan rumit yang menyebabkan
komputasi modern membutuhkan proses modelling sebelum melakukan perhitungan. Modelling
merupakan asas yang cukup penting dalam pembelajaran CTL sebab melalui modelling tersebut
dapat terhindar dari pembelajaran yang teorestis–abstrak yang dapat memberi peluang terjadinya
verbalisme. Bayangkan saja jika dihadapi dalam suatu masalah perhitungan yang banyak dan
kompleks, tetapi tidak ada model matematika yang dimiliki. Perhitungan akan berjalan tanpa kendali
dan tidak akan mendapatkan hasil yang akurat.
Gambar modeling (NN & GA)
c. Down sizzing (problem volume besar)
Data yang besar membutuhkan cara penyelesaian khusus, karena dapat menjadi masalah jika ada
yang terlewatkan. Oleh karena itu, penggunaan metode down sizzing pada komputasi modern untuk
menangani masalah dengan volume yang besar. Dengan metode ini, data yang besar diparalelkan
dalam pengolahannya, sehingga dapat diorganisir dengan baik.
d. Akurasi (floating point)
Pengertian akurasi sebagai kedekatan antara nilai yang terbaca dari alat ukur dengan nilai
sebenarnya. Akurasi menjadi masalah yang paling penting dalam memecahkan masalah. Karena itu,
pada komputasi modern dilakukan perhitungan yang menghasilkan suatu jawaban yang akurat dari
sebuah masalah. Tentu kita pernah mendengar tipe data floating point yang biasa digunakan untuk
menyimpan data numerik dalam bentuk pecahan. Tipe data tersebut memiliki range penyimpanan
numerik yang besar, sehingga dapat digunakan oleh komputer untuk melakukan komputasi yang
akurat. Akurasi termasuk jenis persoalan paling penting dalam memecahkan masalah. Dalam
kondisi tersebut, tipe data floating point digunakan untuk menyimpan data numerik dalam bentuk pecahan. Tipe data yang bersangkutan memiliki ruang (range) penyimpanan numerik yang cukup
besar, sehingga dapat digunakan oleh komputer untuk melakukan komputasi secara akurat.
e. Kecepatan (Hz)
Secara mendasar, manusia pasti menginginkan masalah dapat diselesaikan dengan cepat, sehingga
perhitungan masalah kecepatan menjadi hal yang sangat krusial. Selain itu, dan harus dilakukan
dalam waktu yang singkat pada saat mengolah suatu data.
4. Tujuan dan Hambatan Komputasi Paralel
Peranan komputasi modern dalam membantu manusia menyelesaikan masalah-masalah yang
kompleks sangat besar, bukan tidak hanya menghitung tetapi
dalam hal program dan jaringan yang dapat diselesaikan dengan
cepat. Komputasi modern dikategorikan menjadi komputasi mobile
(bergerak), komputasi grid, dan komputasi cloud (awan). Mayoritas
permasalahan dalam computational thinking dilakukan pada sisi
manusia, sehingga dapat digunakan dalam berbagai bidang,
yang salah satunya pada dunia computer science. Adapun tujuan
utama penggunaan komputasi paralel adalah mempersingkat
waktu eksekusi program menggunakan komputasi serial.
Beberapa penggunaan komputasi paralel antara lain sebagai berikut.
No. Jenis Penggunaan Keterangan
1. Keterbatasan kapasitas
memori
Pada mesin jenis komputasi serial dan sumber daya nonlokal yang
dapat digunakan melalui jaringan atau internet.
2. Permasalahan besar
Terkadang sumber daya komputasi yang ada sekarang belum cukup
mampu untuk mendukung penyelesaian terhadap permasalahan
tersebut.
3. Penghematan biaya
Dijumpai pada pengadaan perangkat keras dengan menggunakan
beberapa mesin yang murah sebagai alternatif penggunaan satu mesin
yang bagus tapi mahal, walaupun menggunakan n buah prosesor.
Penggunaan komputasi paralel sebagai solusi untuk mempersingkat waktu yang dibutuhkan untuk
eksekusi program memiliki beberapa hambatan. Hambatan-hambatan tersebut antara lain adalah
sebagai berikut.
a. Beban waktu
Hambatan yang terkait dengan beban waktu yang digunakan untuk inisiasi task, terminasi
task, dan sinkronisasi.
b. Beban jaringan
Hambatan yang diakibatkan karena beban jaringan dapat dilihat pada saat eksekusi program
secara paralel. Permasalahan ini muncul karena ketika suatu task membutuhkan data dari task yang
lain. State ini dikirimkan melalui jaringan di mana kecepatan transfer data kurang dari kecepatan
prosesor yang mengeksekusi instruksi task. Adapun jumlah waktu yang dibutuhkan untuk berkomunikasi
melalui jaringan antardua titik adalah jumlah dari startup time, per-hop time, dan per-word transfer time.
c. Percepatan waktu eksekusi program
Nama Amdahl diambil dari nama seorang arsitektur komputer terkenal di perusahaan IBM, Gene
Amdahl yang pertama kali mencetuskan bentuk formulasi ini. Formulasi atau hukum ini banyak
dipakai dalam bidang komputasi paralel untuk meramalkan peningkatan kecepatan maksimum
pemrosesan data (secara teoretis) jika jumlah prosesor di dalam komputer paralel tersebut ditambah.
Hukum Amdahl sebagai percepatan waktu eksekusi program menggunakan komputasi paralel tidak
akan pernah mencapai kesempurnaan karena selalu ada bagian program yang harus dieksekusi
secara serial. Amdahl menyatakan bahwa peningkatan kecepatan secara paralel akan menjadi
linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu
proses yang diperlukan untuk menyelesaikan sebuah masalah.
5. Arsitektur Memori pada Komputer Paralel
Ilmu komputasi juga berkaitan dengan teknik penyelesaian numerik, penyusunan model matematika,
dan penggunaan komputer dalam menganalisis serta memecahkan masalah-masalah sains. Komputasi
modern memudahkan perkembangan teknologi modern dengan sangat pesat. Terdapat dua jenis
arsitektur memori pada komputer paralel, yaitu sebagai berikut.
a. Shared memory
Arsitektur jenis ini menyediakan global addressing sehingga
berbagai prosesor memiliki cara pengaksesan memori yang seragam.
Setiap perubahan pada suatu lokasi memori oleh suatu prosesor
akan selalu terlihat oleh prosesor lain. Terdapat ada dua jenis shared
memory berdasarkan frekuensi akses yaitu Uniform Memory Access
(UMA) untuk setiap prosesor memiliki hak pengaksesan yang seragam
dengan prosesor lain dan Non Uniform Memory Access (NUMA) di
mana tidak semua prosesor memiliki hak yang sama dalam mengakses
memori. Kelebihan dari arsitektur ini antara lain pengaksesan memori
yang user friendly dan performansi dalam penggunaan data bersama
antartask. Adapun kekurangannya antara lain minimnya skalabilitas
pada saat terjadi penambahan prosesor, di mana terjadi peningkatan
traffic antara prosesor ke shared memory dan antara cache coherent
system dengan memori sebenarnya.
b. Distributed memory
Kelebihan dari arsitektur distributed memory adalah terjaganya skalabilitas ketika terjadi
penambahan prosesor. Adapun kekurangannya adalah programmer harus berurusan dengan detail
komunikasi data antara prosesor dan memori nonlokal. Arsitektur jenis ini memiliki karakteristik di
mana setiap prosesor memiliki memorinya masing-masing. Dengan demikian, eksekusi instruksi dapat berjalan secara independen antara satu prosesor
dengan yang lain. Prosesor akan menggunakan jaringan
ketika membutuhkan akses ke memori nonlokal. Akses ini
sepenuhnya menjadi tanggung jawab penulis program.
6. Realisasi dan Dampak Komputasi Modern
Mayoritas komputasi di masa sekarang telah menggunakan
komputer yang lebih dikenal komputasi modern. Komputasi menjadi
salah satu sub bidang dari ilmu komputer dan matematika. Bila
pemrosesan paralel dilakukan dengan tepat, maka performa dari
komputasi modern akan berjalan dengan baik dan maksimal.
Jika arsitektur paralel processing yang digunakan kurang tepat,
maka pemrosesan data juga tidak akan berjalan maksimal dan
baik. Guna melakukan aneka jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer
yang dihubungkan dengan jaringan dan mampu bekerja secara
paralel untuk menyelesaikan satu masalah. Komputasi modern
membantu kita dalam kehidupan sehari-hari mulai mempercepat
waktu pekerjaan sampai meminimalkan pengeluaran untuk
melakukan sebuah proses, dalam sebuah pekerjaan akan sangat
membutuhkan kecepatan dan juga ketepatan, apabila banyak data
yang diproses maka akan membutuhkan waktu. Dengan meminimalisir arsitektur, path, dan biaya, maka
pemrosesan yang dilakukan akan semaksimal mungkin. Oleh sebab itu, diperlukan aneka perangkat
lunak pendukung (middleware) yang berperan mengatur distribusi antarnode dalam satu mesin paralel.
Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Beberapa dampak komputasi modern dalam kehidupan sehari-hari adalah sebagai berikut.
a. Biosensor
Biosensor identik dengan sejenis sensor yang mengombinasikan komponen hayati dengan
komponen elektronik (transduser) dengan mengubah sinyal dari komponen hayati menjadi sinyal
luar yang terukur. Implementasi yang paling umum dari biosensor dapat dilihat pada alat pengukur
gula darah yang menggunakan enzim glukosa oksidase untuk memecah gula darah.
Gambar penggunaan biosensor
b. Biometrik
Komputasi modern dapat membantu manusia dalam menyelesaikan masalah-masalah kompleks
dengan bantuan seperangkat PC, salah satu misalnya adalah biometrik. Menurut garis besarnya,
biometrik bisa diterjemahkan sebagai pengukuran dari analisis statistik pada data biologi yang
mengacu pada teknologi untuk menganalisa karakteristik tubuh secara individu. Beberapa teknik
biometrik di antaranya pembacaan sidik jari/telapak tangan, geometri tangan, pembacaan retina/
iris, pengenalan suara, dan dinamika tanda tangan.
Gambar tren penggunaan biometrik
c. Bidang kesehatan
Beberapa penerapan komputasi modern dalam bidang kesehatan antara lain sebagai berikut.
1) Administrasi
Dengan adanya komputasi modern di dalam dunia administrasi sangat membantu di dalam
penyimpanan, pengelompokan, dan pengolahan data. Tanpa komputasi modern, akan sangat
sulit untuk memeriksa banyaknya data pasien, stok obat, dan data lainnya yang dimiliki oleh
rumah sakit. Namun dengan adanya komputasi modern, proses tersebut lebih mudah untuk
dilakukan.
2) Melihat dan menganalisa organ
Supaya dapat melihat organ tubuh bagian dalam manusia telah ditemukan begitu banyak alat
canggih, namun hampir seluruh alat tersebut masih bergantung pada perangkat komputer
sebagai sarana untuk penyaluran data atau pun gambarnya. Oleh karenanya, komputer
memiliki peranan yang vital juga dalam melihat dan menganalisa organ-organ tubuh manusia
tersebut. Beberapa contoh penggunaan komputasi modern dalam melihat dan menganalisis
organ adalah sebagai berikut.
a) USG (Ultra Sonography) adalah suatu alat dalam dunia kedokteran yang memanfaatkan
gelombang ultrasonik, yaitu gelombang suara yang memiliki frekuensi tinggi (250 kHz –
2000 kHz) yang hasilnya ditampilkan dalam layar monitor berupa gambar dua dimensi
atau tiga dimensi.
b) System Dynamic Spatial Reconstructor (DSR) berguna untuk melihat gambar dari berbagai
sudut organ tubuh secara bergerak.
c) System Computerized Axial Tomography (CAT) berguna untuk menggambar struktur otak
dan mengambil gambar seluruh organ tubuh yang tidak bergerak dengan menggunakan
sinar-X.
d) SPECT (Single Photon Emission Computer Tomography) merupakan sistem komputer yang
mempergunakan gas radiokatif untuk mendeteksi partikel-partikel tubuh yang ditampilkan
dalam bentuk gambar.
e) PET (Position Emission Tomography) merupakan sistem komputer yang menampilkan
gambar yang mempergunakan isotop radioaktif.
f) NMR (Nuclear Magnetic Resonance) yaitu teknik mendiagnosa dengan cara memagnetikkan
nukleus (pusat atom) dari atom hidrogen.
g) Magnetic Resonance Imaging (MRI) adalah alat untuk pemeriksaan organ tubuh secara
komputerisasi, dengan potongan tranversal, koronal, dan sagita.
3) Farmasi
Dalam bidang farmasi dan obat-obatan, komputasi modern juga berperan sangat penting,
misalnya untuk mengelola resep dan dosis serta harga obat-obatan tersebut. Selain itu, dengan
adanya komputasi modern dalam bidang farmasi juga membantu untuk mengelompokkan
macam-macam obat berdasarkan kegunaannya.
4) Rekam medis
Komputasi modern dapat menjadi alat bantu dalam proses rekam medis berbasis komputer
(Computer based patient record) yang digunakan untuk mencatat semua data medis pasien.
Dokter ataupun perawat dapat melihat rekam medis pasien seperti, keluhan dan riwayat
penyakit sebelumnya yang pernah diderita oleh si pasien, tanggal kedatangan pasien terakhir
kali berobat, resep yang pernah diberikan, dan lain sebagainya.
5) Proses Diagnosis
Dengan adanya komputasi modern dalam bidang kesehatan, mendiagnosis suatu penyakit bukan
hal yang sulit lagi. Salah satu contohnya yaitu Mycin. Mycin merupakan contoh sistem pakar
yang digunakan untuk membantu juru medis mendiagnosis penyakit darah yang cepat menular
dan kemudian dapat memberikan saran berupa penggunaan antibiotik yang sesuai.
d. Bioinformatika
Ilmu terapan yang lahir dari perkembangan teknologi informasi di bidang molekular disebut
bioinformatika yang ditemukan pada pertengahan tahun 1980-an. Beberapa aktivitas yang
berhubungan dengan bioinformatika antara lain sebagai berikut.
1) Pangkalan data
Dalam hal ini, penerapan berbagai bidang dalam khasanah bioinformatika dapat dijumpai pada
pembuatan pangkalan data dan pengembangan algoritma untuk analisis sekuens biologi telah
dilakukan sejak tahun 1960an. Kemajuan teknik biologi molekuler dalam mengungkap sekuens
biologi protein dan asam nukleat mengawali perkembangan pangkalan data dan teknik analisis
sekuens biologi dengan sangat pesat. Bahkan pada tahun 1960-an telah mulai dikembangkan
pangkalan data sekuens protein di Amerika Serikat dilanjutnya pengembangan pangkalan
data sekuens DNA di akhir tahun 1970-an. Termasuk di dalamnya Jerman yang berfokus pada
European Molecular Biology Laboratory (Laboratorium Biologi Molekuler kawasan Eropa).
Bioinformatika juga mempelajari penerapan teknik komputasi untuk mengelola dan menganalisis
informasi hayati yang mencakup penerapan metode-metode matematika, statistika, dan
informatika untuk memecahkan masalah-masalah biologi, terutama yang terkait penggunaan
sekuens DNA dan asam amino. Misalnya analisis ekspresi gen, analisis filogenetik, pangkalan
data untuk mengelola informasi hayati, sequence alignment (penyejajaran sekuens), dan
prediksi struktur untuk meramalkan struktur protein dan struktur sekunder RNA. Dalam hal ini,
pangkalan data sekuens biologi berwujud sebagai berikut.
No. Pangkalan Data Keterangan
1. Primer Menyimpan sekuens primer asam nukleat dan protein.
2. Sekunder Menyimpan motif sekuens protein.
3. Struktur Menyimpan data struktur protein dan asam nukleat.
a) Data sekuens biologi
Salah satu jenis piranti bioinformatika yang saling terhubungan dengan penggunaan
pangkalan data sekuens Biologi adalah BLAST (Basic Local Alignment Search Tool). Ada
pun algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens. PDB (Protein
Data Bank) sebagai pangkalan data tunggal yang menyimpan model struktur 3D protein
dan asam nukleat hasil penentuan eksperimental menggunakan dengan kristalografi sinar
X, mikroskopi elektron, dan spectroscopy NMR.
b) Sekuens asam nukleat
Pangkalan data utama untuk sekuens asam nukleat di masa sekarang adalah DDBJ (DNA
Data Bank of Japan) dari Jepang, EMBL (the European Molecular Biology Laboratory)
untuk kawasan Eropa, dan GenBank dari Amerika Serikat. Ketiga pangkalan data tersebut
saling bekerja sama dan bertukar data harian guna menjaga keluasan cakupan masingmasing pangkalan data.
2) Biologi molekular modern
Di bidang bioinformatika ini tidak terlepas dari perkembangan biologi molekular modern, salah
satunya peningkatan pemahaman manusia dalam bidang genomik yang terdapat dalam molekul
DNA. Perkembangan teknologi DNA rekombinan (DNA) memainkan peranan penting dalam
lahirnya bioinformatika. Teknologi tersebut memunculkan pengetahuan baru dalam rekayasa
genetika organisme yang dikenal dengan istilah biotechnology. Kemampuan para peneliti dan ilmuwan dalam memahami dan memanipulasi kode genetik DNA sangat didukung teknologi
informasi melalui perkembangan hardware dan software yang berkaitan dengan produksi
perangkat lunak. Hal ini dapat dilihat pada upaya perusahaan bioteknologi Celera Genomics
(Amerika Serikat) yang melakukan pembacaan sekuen genom manusia yang secara maksimal
memanfaatkan teknologi informasi, sehingga bisa melakukan pekerjaannya dalam waktu
singkat (hanya beberapa tahun).
Langganan:
Postingan (Atom)