Lompat ke konten

Cari di ARSTEMA

Ketik nama bab, istilah, gejala, atau alat.

    Kembali ke atlas
    Komputasional · Bab 1Dasar

    Dekomposisi, algoritma, data, dan otomasi keputusan sederhana

    Bab ini mengikuti pekerjaan pengelola ruang belajar yang harus meninjau catatan suhu harian tanpa membiarkan satu angka atau data kosong memicu tindakan yang keliru. Dari situ pembaca mempelajari dekomposisi, abstraksi, algoritma, representasi data, dan otomasi keputusan sederhana. Contoh yang dapat dihitung ulang menunjukkan bagaimana aturan eksplisit memproses nilai, menandai data hilang, serta menghasilkan keluaran yang dapat ditelusuri. Bab juga membahas kasus batas, kesalahan tafsir, batas otomasi, dan pemeriksaan manusia. Enam latihan beserta kunci beralasan membantu memindahkan cara kerja ini ke persoalan lain, termasuk pembacaan masukan mikrokontroler, tanpa menyamakan demonstrasi dengan prosedur operasi.

    20 menit

    Bagian yang sedang dibaca: Pembuka bab

    Pukul empat sore, pengelola ruang belajar memeriksa lembar catatan suhu sebelum ruangan dipakai lagi. Empat pembacaan tercatat: 26 °C, 29 °C, satu kolom kosong, dan 31 °C. Sebuah catatan di tepi lembar menyebutkan bahwa nilai 30 °C atau lebih perlu ditinjau. Pengelola tidak sedang mencari cara mengendalikan mesin; ia hanya ingin memilah catatan untuk diperiksa. Namun, jika kolom kosong dianggap nol, atau aturan diterapkan pada kolom yang salah, hasil sortir bisa menyesatkan.

    Kegunaan berpikir komputasional tampak ketika persoalan dipecah menjadi langkah yang bisa diperiksa. Istilah berpikir komputasional di sini berarti cara merumuskan dan memecahkan persoalan dengan representasi, aturan, serta prosedur yang dapat dijalankan manusia atau komputer. Peta kurikulum ilmu komputer menempatkan algoritma dan pengelolaan data sebagai bagian fondasi bidang; urutannya bukan jalur belajar wajib untuk setiap orang. Contoh mikrokontroler dalam materi disiplin juga menunjukkan mengapa urutan instruksi, masukan, waktu, dan keadaan perangkat perlu dibaca sesuai konteksnya.

    Memisahkan persoalan sebelum menulis aturan

    Dekomposisi adalah pemecahan suatu persoalan menjadi bagian yang lebih kecil sehingga setiap bagian dapat dirumuskan dan diperiksa. Pengelola ruang tadi menghadapi setidaknya empat pekerjaan: memastikan baris mana yang termasuk catatan hari itu, memastikan angka memakai satuan yang sama, membandingkan angka sah dengan batas tinjauan, lalu menyajikan baris yang perlu dilihat manusia. Ia akan lebih mudah menemukan kekeliruan jika menguji tiap bagian sebelum menggabungkannya.

    Dekomposisi tidak berarti memecah pekerjaan secara acak. Bagian yang dipisahkan harus tetap terhubung oleh aliran masukan dan keluaran. Dalam contoh, tahap pemeriksaan satuan mengirim nilai yang sudah dipastikan layak ke tahap pembandingan, lalu tahap itu meneruskan hasil ke pelaporan. Jika tahap pertama tidak memberi tanda untuk data kosong, tahap berikutnya tidak dapat mengetahui apakah baris itu perlu dikecualikan atau dianggap sebagai nol. Karena itu, aliran antarbagian perlu dirancang bersama pembagian tugasnya.

    Sebelum menulis kode, tetapkan cakupan catatan dan makna batas 30 °C. Pastikan setiap entri memakai Celsius, tentukan cara menangani kolom kosong atau isi yang bukan angka, lalu pilih keluaran yang diperlukan, seperti daftar baris untuk ditinjau, jumlah data kosong, atau keduanya. Langkah ini memisahkan tujuan, data, aturan, dan bentuk keluaran.

    Abstraksi ialah memilih rincian yang relevan untuk menyelesaikan pertanyaan, sambil menunda atau mengabaikan rincian yang tidak memengaruhi jawaban. Untuk memilah catatan, pengelola memerlukan waktu pencatatan, nilai, satuan, dan tanda kelengkapan. Warna pena atau siapa yang mengetik tidak mengubah aturan suhu, sehingga rincian itu tidak perlu ikut dihitung pada demonstrasi ini. Jika kelak ia hendak menilai keandalan pencatatan, identitas pencatat mungkin menjadi relevan. Rincian yang dapat diabaikan bergantung pada pertanyaan yang sedang dijawab.

    Abstraksi membawa risiko. Jika tujuan hanya mencari nilai yang melewati batas, tanggal mungkin tampak tidak perlu. Akan tetapi, tanggal dibutuhkan untuk membedakan catatan hari ini dari catatan kemarin. Jika dua alat ukur menghasilkan data yang berbeda, identitas alat dan satuannya mungkin juga penting. Sebelum menyederhanakan data, tetapkan keputusan yang hendak dibuat dan informasi pendukungnya. Rincian hanya layak diabaikan jika tidak diperlukan untuk keputusan atau penelusuran hasil.

    Menyusun algoritma yang dapat ditelusuri

    Algoritma adalah urutan langkah terbatas dan jelas yang memetakan masukan ke keluaran untuk menyelesaikan tugas tertentu. Pada catatan suhu, algoritmanya berupa aturan kerja yang dapat diikuti orang lain dan menghasilkan keputusan konsisten selama masukan serta asumsinya sama.

    Mula-mula, tentukan cakupan: hanya catatan ruang yang sedang ditinjau dan hanya periode hari itu. Berikutnya, periksa tiap baris. Jika nilai kosong atau satuannya tidak diketahui, tandai sebagai belum dapat dinilai. Jika nilai dapat dibaca dan satuannya Celsius, bandingkan dengan batas tinjauan. Nilai yang sama dengan batas termasuk tinjauan karena catatan menyatakan “30 °C atau lebih”. Pada akhir pemeriksaan, keluarkan daftar baris yang mencapai batas, daftar baris yang tidak dapat dinilai, dan jumlah total pada tiap kategori.

    Kata atau dalam aturan bahasa sehari-hari harus diterjemahkan dengan cermat menjadi kondisi yang tepat. “30 °C atau lebih” mencakup nilai 30, 31, dan seterusnya. Ia tidak mencakup nilai 29,9. Jika instruksi hanya berbunyi “sekitar 30 °C”, algoritma belum siap dijalankan: orang dapat memiliki tafsir berbeda tentang rentang yang dimaksud. Perancang aturan harus meminta batas operasional yang jelas dari pihak berwenang atas proses itu, bukan mengarangnya.

    Algoritma juga membutuhkan akhir yang diketahui. Dalam pemeriksaan catatan, ia berhenti setelah semua baris dalam cakupan ditinjau. Langkah “periksa lagi sampai terasa cukup” tidak punya titik berhenti yang dapat diuji. Algoritma yang berhenti tanpa memeriksa semua data berisiko melewatkan baris. Sebaliknya, jika aturan dapat berulang tanpa syarat berhenti, pelaksana dapat terjebak pada pemeriksaan yang sama. Jumlah baris atau penanda bahwa tidak ada baris tersisa menyediakan kondisi berhenti yang nyata.

    Pseudokode berikut menggambarkan langkah, bukan sintaks bahasa pemrograman tertentu:

    text

    Pseudokode menggunakan >= untuk menyatakan “lebih besar dari atau sama dengan”. Simbol itu hanya masuk akal setelah satuan serta nilai batas ditetapkan. Prosedur tersebut mengklasifikasikan catatan; ia tidak membuktikan bahwa alat ukur akurat, bahwa batasnya cocok bagi setiap ruang, atau bahwa hasil pengukuran menjelaskan penyebab suatu kondisi. Algoritma memproses masukan sesuai aturan yang diberikan, sehingga kelemahan pada masukan maupun aturan tetap memengaruhi hasilnya.

    Menjaga makna data dari masukan hingga keluaran

    Data adalah catatan yang merepresentasikan pengamatan atau nilai yang dipakai dalam penalaran. Dalam persoalan teknis, nilai jarang cukup jika berdiri sendiri. Angka 31 tidak memberi tahu pembaca apakah yang dicatat suhu, kelembapan, menit, atau hitungan. Bentuk catatan yang lebih jelas dapat memuat waktu, nilai, satuan, dan status seperti “tercatat” atau “kosong”. Metadata kecil itu membantu pembaca memahami asal dan makna nilai.

    Representasi data adalah cara menyimpan atau menyajikan data sehingga orang atau program dapat menafsirkannya. Catatan “31 °C, pukul 16.00” lebih informatif daripada “31”. Kolom terpisah untuk waktu, nilai, satuan, dan status bisa lebih mudah diproses, tetapi pemisahan kolom tidak menjamin makna yang benar. Jika satu orang menulis waktu lokal dan orang lain memakai format berbeda, penggabungan catatan dapat menyusun waktu secara keliru. Bentuk representasi perlu mengikuti cara data dikumpulkan dan keputusan yang ingin diambil.

    Nilai kosong bukan nilai nol. Kosong berarti catatan tidak menyediakan angka; nol berarti ada angka dengan nilai nol dalam satuan yang ditetapkan. Mengganti sel kosong menjadi nol tanpa alasan mengubah makna data, lalu mungkin membuat laporan seolah pengukuran telah dilakukan. Nilai kosong sebaiknya diberi keadaan yang dapat dibedakan dari angka, misalnya “tidak tercatat”. Nilai salah format seperti “tiga puluh” pun jangan langsung dibaca sebagai angka tanpa aturan konversi yang telah ditentukan.

    Satuan membatasi perbandingan. Catatan 86 °F dan batas 30 °C tidak boleh dibandingkan secara langsung sebagai angka 86 dan 30. Sebelum konversi, periksa bahwa jenis besaran sama dan ketahui konversi yang digunakan. Sumber memberi contoh pengukuran dan parameter mikrokontroler, tetapi tidak menetapkan protokol penanganan data suhu atau kebijakan batas ruang yang berlaku umum. Angka pada contoh ini adalah asumsi latihan, bukan anjuran untuk suatu tempat.

    Setelah klasifikasi, simpan jejak yang cukup untuk mengulang pemeriksaan: data yang masuk, aturan dan versi yang dipakai, baris yang ditandai, serta baris yang dikecualikan beserta alasannya. Catatan seperti “tiga hasil ditinjau” kurang dapat diperiksa jika pembaca tak bisa mengetahui mana tiga hasil itu atau apakah ada data yang hilang. Pada contoh kecil, daftar baris dan tanda per baris sudah cukup. Pada sistem yang lebih besar, bentuk jejak perlu menyesuaikan kebutuhan dan aturan pengelolaan datanya.

    Contoh kerja: menandai catatan tanpa menyembunyikan data kosong

    Anggap pengelola menerima empat catatan dalam urutan waktu. Baris A berisi 26 °C, baris B 29 °C, baris C kosong, dan baris D 31 °C. Untuk latihan ini, batas yang sudah disepakati adalah 30 °C. Cakupan juga telah ditetapkan: keempat baris termasuk periode yang sama, setiap angka yang terisi dicatat dalam Celsius, dan aturan hanya memerintahkan peninjauan, bukan perubahan kondisi ruang.

    Langkah pertama memeriksa kelengkapan. Baris A, B, dan D memuat angka serta satuan. Baris C tidak memuat angka, jadi algoritma menandainya “perlu klarifikasi” dan tidak mengubahnya menjadi nol. Langkah kedua memeriksa baris sah dengan satu aturan yang sama: nilai lebih besar dari atau sama dengan 30 °C masuk daftar “tinjau”. Baris A menghasilkan 26 < 30, sehingga berada di bawah batas. Baris B menghasilkan 29 < 30, dengan hasil yang sama. Baris D menghasilkan 31 ≥ 30, sehingga masuk daftar tinjauan. Baris C tidak diuji terhadap batas karena tidak memiliki nilai yang dapat dibandingkan.

    Keluaran yang dapat ditelusuri adalah: baris D perlu ditinjau; baris C perlu klarifikasi; baris A dan B berada di bawah batas yang diasumsikan. Ada satu catatan yang ditandai untuk tinjauan dan satu catatan yang tidak dapat dinilai. Hasil ini konsisten dengan setiap baris, bukan hanya dengan jumlah akhirnya. Jika seseorang menemukan satu baris tambahan, ia dapat mengikuti langkah yang sama dan menjelaskan klasifikasinya.

    Kita dapat memeriksa kelengkapan catatan dengan rasio sederhana:

    K=VN×100%K = \frac{V}{N} \times 100\%

    Di sini KK adalah persentase catatan dengan nilai tersedia, tanpa satuan; VV adalah jumlah baris yang memiliki nilai dan satuan yang bisa dibaca, dalam satuan “baris”; dan NN adalah jumlah seluruh baris dalam cakupan, juga dalam satuan “baris”. Untuk contoh ini, V=3V=3 baris dan N=4N=4 baris, sehingga K=75%K=75\%. Pembilang dan penyebut harus memakai cakupan yang sama. Rumus ini hanya mengukur kelengkapan terhadap baris yang diharapkan; ia tidak mengukur ketepatan alat, kebenaran nilai, atau keterwakilan pengamatan. Rumus juga tidak berlaku jika N=0N=0, sebab pembagian dengan nol tidak terdefinisi.

    Angka 75% menggambarkan kelengkapan set catatan ini; angka tersebut tidak membuktikan bahwa ruang aman atau bermasalah. Jika peninjau hanya melaporkan baris D dan menghilangkan baris C, penerima laporan mungkin mengira semua data lengkap. Jika ia hanya melaporkan 75%, pembaca tidak tahu baris mana yang hilang. Karena itu, keluaran perlu memuat klasifikasi tiap baris beserta jumlah ringkasannya.

    Kita dapat menguji aturan dengan mengubah satu masukan. Jika baris D bernilai tepat 30 °C, ia tetap masuk tinjauan karena kondisinya >=, bukan >. Jika nilainya 29,9 °C, ia berada di bawah batas yang ditetapkan, selama ketelitian dan pembulatan pengukuran memang mendukung angka desimal itu. Jika sistem membulatkan ke bilangan bulat sebelum membandingkan, hasil 29,9 dapat berubah menjadi 30. Pilihan pembulatan bukan detail kosmetik; ia bagian dari aturan dan perlu dinyatakan sebelum hasil dipakai.

    Contoh kerja lapangan

    Contoh di bawah menerapkan algoritma dan rumus kelengkapan bab ini pada catatan teknisi hotel, laundry, dapur, dan rumah sakit; semua nilai, batas, dan aturan adalah angka latihan, bukan anjuran untuk tempat mana pun. Setiap keluaran hanya meminta peninjauan atau klarifikasi oleh orang yang berwenang atas catatan itu.

    Contoh 1: satuan diperiksa sebelum dibandingkan. Catatan suhu ruang linen bersih sebuah hotel memakai batas tinjauan 30 °C, seperti contoh bab. Dua baris berasal dari termometer cadangan berskala Fahrenheit: 86 °F dan 84,2 °F. Dengan konversi yang disahkan, tC=(tF−32)×5/9t_C=(t_F-32)\times5/9 seperti di Bab 24 · Laundry tentang pengering tumble, baris pertama menjadi (86−32)×5/9=30(86-32)\times5/9=30 °C dan masuk tinjauan karena kondisinya >=. Baris kedua menjadi 29 °C dan berada di bawah batas. Membandingkan angka mentah 86 dan 84,2 dengan 30 akan menandai keduanya, sehingga satu baris salah ditandai. Jejak konversi disimpan bersama nilai aslinya.

    Contoh 2: penyebut diambil dari jadwal. Ruang pendingin dapur rumah sakit dijadwalkan dicatat tiga kali sehari selama tujuh hari, jadi N=21N=21 baris (angka latihan). Lembar hanya memuat 20 baris karena satu giliran tidak menulis barisnya sama sekali, dan dua dari 20 baris itu kosong. Dengan V=18V=18:

    K=1821×100%≈85,7%K = \frac{18}{21} \times 100\% \approx 85{,}7\%

    Bila NN diambil dari jumlah baris yang ada di lembar, hasilnya 18/20×100%=90%18/20\times100\%=90\%, dan catatan yang tidak pernah ditulis hilang dari laporan. Keluaran yang benar menyebut 18 baris bernilai, 2 baris kosong, dan 1 baris jadwal yang tidak tertulis.

    Contoh 3: pembulatan dan relasi batas. Catatan suhu ruang setrika laundry memuat 29,4; 29,6; 30,0; dan 30,4 °C dengan batas tinjauan 30 °C (angka latihan). Dengan >= tanpa pembulatan, dua baris masuk tinjauan, yaitu 30,0 dan 30,4. Bila sistem membulatkan ke bilangan bulat lebih dulu, nilainya menjadi 29, 30, 30, dan 30, sehingga tiga baris masuk tinjauan karena 29,6 ikut tertandai. Dengan > tanpa pembulatan, hanya 30,4 yang tertandai. Masukan yang sama menghasilkan satu, dua, atau tiga baris tinjauan menurut rincian aturan, sehingga relasi batas dan pembulatan ditulis bersama versi aturan.

    Contoh 4: stok bahan kimia laundry. Lembar stok enam baris memuat deterjen utama 4 jeriken, alkali 2, pemutih oksigen 0, penetral asam kosong, pelembut 1, dan kanji bertuliskan "dua". Aturan yang disepakati (angka latihan) menandai stok 2 jeriken atau kurang untuk diperiksa. Hasilnya: alkali, pemutih, dan pelembut masuk daftar periksa (3 baris); deterjen berada di atas batas (1 baris); penetral dan kanji perlu klarifikasi (2 baris). Jumlah 3+1+2=63+1+2=6 sama dengan baris awal, jadi tidak ada baris yang hilang. Stok 0 pada pemutih dapat berarti barang habis atau salah catat; petugas gudang yang memastikannya, bukan program.

    Contoh 5: perubahan tombol yang dianggap sah. Program latihan pada mikrokontroler membaca tombol penghitung troli di meja sortir laundry setiap 10 ms dan menerima status baru hanya bila tiga pembacaan berurutan sama (aturan latihan). Status awal 0, dan pembacaan berurutan adalah 0, 0, 1, 0, 1, 1, 1, 1. Angka 1 pada pembacaan ketiga berdiri sendiri karena pembacaan keempat kembali 0, sehingga hitungan diulang. Pembacaan kelima, keenam, dan ketujuh bernilai 1, maka status berubah pada pembacaan ketujuh, 60 ms setelah pembacaan pertama dan 40 ms setelah angka 1 pertama muncul. Contoh ini hanya menelusuri aturan; pengawatan, tegangan, dan parameter pin mengikuti dokumentasi perangkat.

    Mengotomasi langkah yang berulang dengan kendali manusia

    Otomasi adalah penggunaan prosedur yang dijalankan sistem untuk mengerjakan tugas berulang dengan campur tangan manusia yang lebih sedikit pada setiap pengulangan. Dalam contoh, lembar kerja atau program kecil dapat membaca baris, memeriksa apakah nilai tersedia, membandingkan nilai dengan batas, lalu membuat daftar tinjauan. Dengan aturan yang tetap, otomasi mengurangi perbedaan akibat manusia melewatkan baris atau membandingkan nilai dengan kondisi yang berubah-ubah. Namun, otomasi hanya bermanfaat jika orang memahami data serta aturan yang ia jalankan.

    Pilih langkah yang sering berulang, punya masukan yang dikenali, dan menghasilkan keluaran yang dapat diverifikasi. Otomasi tidak perlu mencakup semua keputusan sekaligus. Mulailah dengan membuat daftar hasil, lalu cocokkan keluaran program dengan hitung manual pada beberapa masukan, termasuk data kosong, nilai tepat di batas, satuan tak dikenal, dan data berformat salah. Uji ini tidak membuktikan program bebas dari semua kekeliruan, tetapi dapat mengungkap kesalahan yang sudah diperkirakan sebelum hasil dipakai lebih luas.

    Penerapan dekat bidang ini tampak pada mikrokontroler. Perangkat semacam itu menerima masukan dan menjalankan instruksi; waktu serta keadaan dapat dikelola oleh sumber daya seperti pengatur waktu atau interupsi. Sumber memuat contoh reset saat daya diberikan, instruksi, GPIO, dan sinyal interupsi pada mikrokontroler. Untuk pemula, bayangkan program membaca tombol dan mencatat perubahan statusnya. Pembagian tugasnya dapat mencakup membaca masukan, menentukan apakah perubahan valid, memperbarui catatan, dan menunggu pembacaan berikutnya. Rincian listrik, pengawatan, parameter pin, tegangan, atau konfigurasi perangkat tetap bergantung pada model dan dokumentasinya. Contoh konseptual ini bukan instruksi merakit atau mengoperasikan rangkaian.

    Penerapan lain adalah pemeriksaan berkas nilai atau inventaris. Sebuah program dapat mendeteksi baris kosong atau membandingkan stok tercatat dengan batas yang disepakati, kemudian menghasilkan daftar untuk pemeriksaan. Sistem tidak seharusnya menyimpulkan alasan di balik perbedaan tanpa data yang mendukung. Berkas yang berisi stok nol bisa berarti barang habis, tetapi juga bisa merupakan kesalahan pencatatan. Manusia memutuskan tindak lanjut dengan bukti yang sesuai.

    Tentukan terlebih dahulu akibat jika keluaran salah. Dalam contoh suhu, keluaran hanya meminta peninjauan, sehingga pengelola memeriksa data sebelum bertindak. Contoh sederhana ini tidak menetapkan ambang, pengujian, pengamanan, atau kewenangan untuk sistem yang mengendalikan alat fisik atau memicu keputusan berdampak besar. Sumber yang tersedia juga tidak menetapkan parameter operasi atau spesifikasi perangkat untuk sistem semacam itu. Contoh ini terbatas pada klasifikasi catatan, bukan prosedur kendali peralatan.

    Kesalahan tafsir yang mudah terjadi

    Kesalahan pertama ialah mengira setiap masalah dapat dipecahkan dengan menambah aturan. Kadang masalahnya ada pada sumber data, bukan pada algoritma. Jika satu catatan memakai Celsius dan yang lain Fahrenheit, menambahkan syarat perbandingan tak akan memperbaiki campuran satuan. Perancang harus mengetahui sumber dan makna data sebelum menulis aturan.

    Kesalahan kedua ialah memperlakukan algoritma sebagai kebenaran karena langkahnya konsisten. Program yang mengulang perbandingan yang salah akan mengulang kesalahan itu dengan rapi. Kita perlu memeriksa apakah batas benar-benar disepakati, apakah relasi sama dengan batas sudah ditetapkan, serta apakah pembulatan masuk akal untuk ketelitian datanya. Untuk perubahan aturan, catat versi yang dipakai agar hasil lama tidak tercampur dengan hasil baru.

    Kesalahan ketiga ialah menyebut hasil program sebagai keputusan akhir. Klasifikasi hanya menerapkan aturan pada masukan yang tersedia. Jika ada nilai hilang, salah satuan, atau sumber tak dapat dipercaya, keluaran harus menyatakan keadaan tersebut. Peninjauan manusia dapat meminta klarifikasi atau mencari sumber lain. Tanpa itu, keluaran rapi berisiko memberi kepastian yang tidak didukung data.

    Kesalahan berikutnya muncul saat orang menganggap abstraksi berarti membuang konteks. Menghilangkan identitas baris, waktu, satuan, atau status dapat membuat hasil tidak dapat ditelusuri. Sebaliknya, menambahkan semua kolom yang tersedia tanpa alasan membuat pemeriksaan lebih berat dan dapat memperkenalkan informasi yang tidak diperlukan. Pilih konteks berdasarkan pertanyaan dan simpan alasan pemilihan itu.

    Latihan dan kunci jawaban

    Cobalah menjawab setiap pertanyaan sebelum membaca kunci. Untuk seluruh soal, anggap konteksnya latihan pemrosesan informasi, bukan instruksi bagi peralatan nyata. Jelaskan asumsi yang Anda gunakan, terutama jika soal tidak menetapkan aturan secara lengkap.

    Latihan 1: memetakan bagian pekerjaan

    Sebuah kelompok belajar menerima 40 formulir. Mereka ingin mencari formulir yang belum mencantumkan tanggal, mengurutkan yang lengkap berdasarkan tanggal, dan menghitung jumlah formulir per hari. Tuliskan dekomposisi yang memiliki aliran keluaran jelas.

    Kunci beralasan. Pertama, tentukan cakupan formulir yang akan diproses. Kedua, baca apakah tanggal tersedia dengan format yang dikenali. Kirim formulir yang tanggalnya kosong atau berformat keliru ke daftar klarifikasi. Ketiga, urutkan hanya tanggal yang valid. Keempat, hitung formulir valid per tanggal. Terakhir, laporkan daftar klarifikasi serta hitungan, dan cocokkan bahwa jumlah formulir awal sama dengan jumlah pada kategori hasil. Urutan ini menjaga agar formulir bermasalah tidak diam-diam hilang dari total.

    Latihan 2: menguji syarat batas

    Aturan menyatakan, “nilai 12 atau lebih masuk pemeriksaan”. Kelompok menerima 11, 12, dan 13. Beri hasil yang tepat dan jelaskan simbol kondisi yang sesuai.

    Kunci beralasan. Nilai 12 dan 13 masuk pemeriksaan; 11 tidak. Kondisinya nilai >= 12. Simbol >= mencakup kesamaan, sesuai kata “atau lebih”. Kondisi nilai > 12 keliru karena akan menolak tepat 12. Jika aturan sumber kemudian berubah, hasil sebelumnya perlu dihubungkan dengan versi aturan yang lama.

    Latihan 3: membedakan nilai hilang dan nilai nol

    Daftar penggunaan daya berisi 4, 0, dan sel kosong. Jelaskan mengapa program tidak seharusnya mengganti semuanya dengan angka nol, lalu usulkan keluaran yang mempertahankan perbedaan makna.

    Kunci beralasan. Angka 0 merupakan nilai yang tercatat; sel kosong menyatakan tidak ada angka yang tersedia. Mengubah sel kosong menjadi nol menghapus perbedaan itu dan menciptakan catatan seolah pengukuran telah menghasilkan nol. Program dapat menyimpan status untuk tiap baris: 4, tercatat; 0, tercatat; kosong, perlu klarifikasi. Satuan dan cakupan waktu tetap harus diketahui sebelum jumlah atau perbandingan dilakukan.

    Latihan 4: memeriksa kelengkapan

    Dalam 20 baris pada rentang waktu yang ditentukan, 18 memuat nilai dan satuan yang bisa dibaca. Hitung rasio kelengkapan. Nyatakan satu hal yang tidak dapat disimpulkan dari rasio itu.

    Kunci beralasan. Gunakan K=V/N×100%K=V/N \times 100\%, dengan V=18V=18 baris valid dan N=20N=20 baris dalam cakupan. Hasilnya 90%90\%. Angka ini menyatakan proporsi baris dengan nilai dan satuan terbaca. Ia tidak membuktikan bahwa nilai akurat, alat terkalibrasi, atau dua baris kosong tidak penting. Rumus hanya sah jika jumlah baris yang diharapkan diketahui dan kedua hitungan memakai cakupan yang sama.

    Latihan 5: memilih abstraksi yang cukup

    Program mengurutkan pesan masuk berdasarkan waktu. Sebuah pesan berisi tanggal tetapi tanpa zona waktu; pesan lain mencatat waktu lengkap. Apakah zona waktu dapat diabaikan? Jelaskan kapan diperlukan.

    Kunci beralasan. Zona waktu tidak dapat diabaikan jika pengurutan membandingkan peristiwa dari lokasi atau catatan waktu yang menggunakan zona berbeda. Tanpanya, angka jam yang sama dapat mewakili waktu yang berbeda. Jika semua pesan dipastikan berasal dari satu sistem dan mengikuti konvensi yang terdokumentasi, abstraksi mungkin cukup untuk latihan terbatas. Asumsi itu harus dinyatakan. Bila asal waktu tak diketahui, tandai data untuk klarifikasi daripada menebak.

    Latihan 6: memeriksa keluaran otomasi

    Program menandai 31 untuk ditinjau berdasarkan batas 30, tetapi catatannya tidak memiliki satuan. Bagaimana sebaiknya program melaporkan baris tersebut? Apa yang tidak boleh disimpulkan?

    Kunci beralasan. Program sebaiknya melaporkan bahwa nilai tersedia, tetapi satuan tidak diketahui sehingga nilai belum dapat dibandingkan secara sah dengan batas. Baris itu perlu klarifikasi, bukan diklasifikasikan sebagai memenuhi aturan hanya berdasarkan angka. Kita tidak boleh menyimpulkan bahwa nilai tersebut di atas batas dalam satuan yang sesuai, apalagi menentukan tindakan pada sistem nyata. Algoritma harus memeriksa satuan sebelum membandingkan; kelengkapan numerik saja tidak cukup.

    Pada catatan suhu ini, nilai kosong tetap memerlukan klarifikasi, sedangkan baris yang mencapai batas hanya meminta peninjauan. Pengelola perlu memeriksa catatan sebelum menentukan tindak lanjut; keluaran otomasi tidak menggantikan pemeriksaan itu. Saat menerapkan aturan pada persoalan lain, tetapkan kembali data, asumsi, dan kondisi berhentinya sesuai konteks.

    Referensi

    Uji diri · 3 soal

    Cek pemahaman sebelum berpindah bab

    Tulis jawaban dengan kata-kata Anda sendiri, lalu bandingkan dengan pembahasan dari latihan asli bab ini. Sistem tidak menebak benar-salah jawaban terbuka; Anda yang menilai bagian mana yang sudah dipahami.

    0/3dinilai
    1

    memetakan bagian pekerjaan

    Sebuah kelompok belajar menerima 40 formulir. Mereka ingin mencari formulir yang belum mencantumkan tanggal, mengurutkan yang lengkap berdasarkan tanggal, dan menghitung jumlah formulir per hari. Tuliskan dekomposisi yang memiliki aliran keluaran jelas.

    2

    menguji syarat batas

    Aturan menyatakan, “nilai 12 atau lebih masuk pemeriksaan”. Kelompok menerima 11, 12, dan 13. Beri hasil yang tepat dan jelaskan simbol kondisi yang sesuai.

    3

    membedakan nilai hilang dan nilai nol

    Daftar penggunaan daya berisi 4, 0, dan sel kosong. Jelaskan mengapa program tidak seharusnya mengganti semuanya dengan angka nol, lalu usulkan keluaran yang mempertahankan perbedaan makna.

    Progres penilaian mandiri0%

    Bab terdekat