Bagianakhir/penutup dari sebuah teks eskplanasi d AA. Anonim A. 01 Desember 2021 00:36. Pertanyaan. Bagian akhir/penutup dari sebuah teks eskplanasi disebut sebagai
Sebagai salah satu dasar dari ilmu komputer, algoritma merupakan hal yang sangat penting untuk dikuasai oleh orang-orang yang berkecimpung di dunia ilmu komputer, dari peneliti sampai ke praktisi. Tentunya penguasaan akan algoritma tidak cukup hanya sampai pada tahap mengetahui dan menggunakan algoritma yang tepat untuk menyelesaikan masalah. Seorang yang mengerti ilmu komputer harus juga mampu merancang dan mengembangkan sebuah algoritma berdasarkan masalah-masalah yang ditemui. Tulisan ini bertujuan untuk memberikan pengertian mendasar mengenai perancangan desain dan pengembangan algoritma, agar pembaca dapat tidak hanya menggunakan algoritma yang sudah ada, tetapi juga merancang dan mengembangkan algoritma sesuai dengan masalah yang akan diselesaikan. Selain memberikan dasar perancangan, tulisan ini juga membahas jenis-jenis algoritma yang ada, untuk kemudian melakukan analisa terhadap beberapa algoritma untuk setiap jenisnya. Analisis algoritma dilakukan dengan tujuan utama agar pembaca dapat mengambil keputusan yang tepat dalam memilih algoritma untuk solusi. Apa itu Algoritma? Sebelum membahas mengenai perancangan ataupun analisis algoritma, tentunya kita terlebih dahulu harus mendefinisikan arti dari " Algoritma ". Apa itu algoritma? Algoritma merupakan langkah-langkah prosedur yang harus dilakukan untuk menyelesaikan sebuah masalah. Program komputer umumnya dibangun dengan menggunakan beberapa algoritma untuk menyelesaikan sebuah permasalahan. Misalnya sebuah program pencarian teks seperti grep akan memerlukan algoritma khusus untuk membaca dan menelusuri file, algoritma lain untuk mencari teks yang tepat di dalam file, dan satu algoritma lagi untuk menampilkan hasil pencarian ke pengguna. Dalam mendefinisikan algoritma, kita harus dapat mendefinisikan tiga hal utama dengan jelas, yaitu 1. Masalah, yaitu sebuah persoalan yang ingin diselesaikan oleh sebuah algoritma. 2. Masukan, yaitu contoh data atau keadaan yang menjadi permasalahan. 3. Keluaran, yaitu bentuk akhir dari data atau keadaan setelah algoritma diimplementasikan ke masukan. Keluaran merupakan hasil ideal yang diinginkan dan dianggap telah menyelesaikan masalah. PERSEDIAANSTUDI KASUS DI. SISTEM INFORMASI AKUNTANSI PENJUALAN. 1 / 21. PERSEDIAAN BARANG DARI BAGIAN GUDANG 2 MEMBUAT SURAT PERMINTAAN HARGA 3 yang menyatakan aliran algoritma atau proses yang menampilkan langkah langkah yang disimbolkan dalam bentuk kotak beserta urutannya Pengertian Bagan Alir Flowchart Flowchart dapat diartikan sebagai suatu bagan dengan simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antar proses beserta pernyataanya dari awal sampai akhir dalam suatu program. Sebuah flowchart akan menetapkan konsep solusi dalam bahasa manusia ataupun notasi matematis, tetapi bukan instruksi bahasa pemrograman. Flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah yang nantinya akan diubah menjadi program komputer. Dalam pembuatannya tidak ada patokan khusus, sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Terdapat beberapa anjuran dalam pembuatan flowchart Sebaiknya flowchart digambarkan di suatu halaman di mulai dari sisi atas ke bawah dan dari sisi kiri ke yang digambarkan harus didefinisikan dengan menggunakan bahasa dan notasi yang tepat Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. Setiap langkah harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan menghitung nilai volume. Setiap langkah dari aktivitas harus berada pada urutan yang aktivitas yang sedang digambarkan harus ditelusuri dengan notasi flowchart yang standar agar mudah dimengerti. Fungsi dari Bagan Alir Flowchart Secara garis besar fungsi dari flowchart adalah menjelaskan urutan pelaksanaan suatu proses. Namun, ada beberapa fungsi lain dari flowchart yaitu Sebagai dokumentasi proses, dimana menggunakan simbol bagan alir dapat mendokumentasikan proses sehingga terorganisir dengan lebih baik. Sebagai petunjuk memecahkan masalah dari runtutan langkah umum menuju alir dapat digunakan untuk menggambarkan garis besar program yang akan hal-hal prosedural terkait fungsi-fungsi khusus yang ada. Simbol Bagan Alir Flowchart Adapun simbol-simbol yang sering digunakan dalam menyusun flowchart sebagai berikut No. Simbol Nama dan Keterangan 1 Terminator Mulai Start untuk menandai awal flowchart, danAkhir End untuk menandai akhir dari flowchart. 2 Data Input/Output Simbol ini menyatakan operasi input data atau output data tertentu yang terkait pada sebuah flowchart, setelah mengalami eksekusi informasi 3 Proses Process Simbol ini menyatakan proses yang dilaksanakan pada tahapan tertentu. Proses perhitungan /pengolahan data 4 Keputusan Decision Simbol ini digunakan untuk pengambilan keputusan terhadap suatu kondisi. Ya Yes jika dalam pengambilan keputusan menghasilkan keadaan benar, atau;Tidak No jika pengambilan keputusan menghasilkan keadaan salah. 5 Subproses Subprocess Simbol ini adalah simbol proses yang dapat dibuat menjadi lebih detail menjadi bagian-bagian proses subproses lainnya. 6 Persiapan Preparation Simbol merepresentasikan persiapan yang dapat dilakukan sebelum menuju ke langkah berikutnya. 7 Dokumen Document Simbol ini digunakan untuk menunjukkan penggunaan dokumen yang terkait, misalnya berupa masukan atau hasil dari proses. 8 Pangkalan Data Database Simbol ini menunjukkan pemakaian database pada sebuah flowchart. 9 Penunjuk alir Flow direction Simbol ini digunakan untuk menghubungkan setiap langkah dalam flowchart, dan menunjukkan ke mana arah aliran diagram. 10 On-page reference Penghubung bagian flowchart yang berada pada satu halaman 11 Off-page reference Penghubung bagian flowchart yang berada pada halaman yang berbeda Contoh Penggunaan Setelah mempelajari aturan penulisan beserta simbol flowchart, berikut contoh flowchart dalam kehidupan sehari-hari. Flowchart masuk gerbang sekolah di masa pandemi covid 19 Berikut contoh penggunaan flowchart yang nantinya di implementasikan dalam bentuk program komputer. Flowchart program membandingkan dua bilanganNah, bagaimana? cukup mudah bukan untuk mempelajari dan memahami cara penggunaan flowchart. Untuk itu dapat ditarik kesimpulan bahwa Flowchart dibuat tanpa ada patokan khusus, tujuan pembuatannya adalah untuk memudahkan seseorang pembaca untuk memahami dalam urutan pelaksanaan proses dan menggambarkan garis besar program yang akan dibuat oleh programmer pembuat flowchart tersebut. Sebagaicontoh, pada baris kedua, bilangan prima 2 dan 3 adalah bagian dari suatu triplet prima. Jika kita memperhatikan baris 8, baris ini berisi dua bilangan prima yang merupakan bagian dari suatu triplet prima lain, yaitu 29 dan 31. Jika kita memperhatikan baris 9, terdapat hanya satu buah prima yang akan menjadi anggota triplet prima: 37. Contoh Contoh Soal Algoritma dan Flowchart beserta Jawabannya Lengkap – Ada banyak metode belajar untuk mendalami satu materi termasuk dalam hal mempelajari algoritma dan flowchart. Salah satunya adalah dengan belajar dari contoh soal, baik dari soal latihan ulangan harian maupun dari kumpulan soal yang sumbernya dari situs-situs bank soal. Artikel ini fokus membahas contoh soal algoritma dan flowchart beserta jawabannya lengkap! 15 Contoh Soal Algoritma dan Flowchart beserta JawabannyaDaftar Isi15 Contoh Soal Algoritma dan Flowchart beserta Jawabannya10 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 110 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 25 Contoh Soal Algoritma dan Flowchart beserta Jawabannya Essay!Flowchart Pemilahan SampahFlowchart mengirim paketFlowchart mencetak poster A3Kesimpulan Daftar Isi 15 Contoh Soal Algoritma dan Flowchart beserta Jawabannya 10 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 1 10 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 2 5 Contoh Soal Algoritma dan Flowchart beserta Jawabannya Essay! Flowchart Pemilahan Sampah Flowchart mengirim paket Flowchart mencetak poster A3 Kesimpulan Contoh soal algoritma dan flowchart dibagi menjadi dua bagian yaitu pilihan ganda dan essay. Masing-masing telah tersedia lengkap dengan jawabannya yang benar. 10 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 1 10 Contoh Soal Algoritma dan Flowchart beserta jawabannya pilihan ganda 1. Interaksi yang terjadi antara manusia dengan perangkat komputer melalui sebuah media disebut dengan… A. AlgoritmaB. Brainware C. RobomindD. Antarmuka 2. Ilmu algoritma, namanya terinspirasi dari nama seorang ilmuwan yaitu… A. Al-KhawarizmiB. Al-GoritmaC. Al-KhawaritsD. Al-Gorism 3. Berikut ini yang merupakan bahasa pemrograman adalah… A. JawaB. SundaC. EnglishD. HTML 4. Urutan langkah komputasi yang rangkaiannya sesuai dengan logika yang dimiliki manusia disebut dengan… A. AlgoritmaB. LogikaC. OperasiD. Flowchart 5. Di bawah ini adalah bahasa bahasa pemrograman, kecuali… A. PowerPointB. BASICC. PascalD. Python 10 Contoh Soal Algoritma dan Flowchart Pilihan Ganda 2 6. Perhatikanlah simbol berikut ini! Simbol flowchart di atas menunjukkan… A. ProcessB. OutputC. InputD. Seleksi/Kondisi 7. Perhatikanlah simbol berikut ini! Simbol flowchart di atas menunjukkan… A. ProcessB. OutputC. Start/EndD. Seleksi/Kondisi 8. Perhatikanlah simbol berikut ini! Simbol flowchart di atas menunjukkan… A. ProcessB. OutputC. ProsesD. Seleksi/Kondisi 9. Variabel berfungsi untuk… A. Hentikan eksekusi programB. Memilih perintah sesuai kondisi khususC. Untuk menyimpan nilaiD. Pengulangan baris perintah 10. Perhatikan algoritma berikut ini Buka aplikasi ojol Mengaktifkan GPS Input lokasi penjemputan Input lokasi tujuan Memilih metode pembayaran Pesan lalu menunggu hingga ojol tiba Menumpang ojol Mengendarai ojol sampai di tujuan Turun Membayar layanan ojol Simbol flowchart yang paling benar dan tepat untuk algoritma 8 adalah… A. ProcessB. DecisionC. OutputD. Input Itulah 10 contoh soal algoritma dan flowchart beserta jawabannya. Kamu bisa belajar sembari mendalami materi algoritma dan flowchart dengan mempelajari soal-soal di atas. Tentu belajar lebih mudah karena dilengkapi dengan jawabannya. Bila belum cukup, kamu bisa lanjut belajar dengan 5 contoh soal algoritma dan flowchart beserta jawabannya bagian essay berikut ini! 5 Contoh Soal Algoritma dan Flowchart beserta Jawabannya Essay! Berikut ini 5 contoh soal algoritma dan flowchart beserta jawabannya bagian essay 11. Buatlah sebuah flowchart yang memetakan 3 cara masak telur yaitu orak-arik, ceplok, dan rebus! Jawaban Flowchart memasak telur 1. Menyiapkan telur 2. Menentukan telur akan dimasak dengan metode apa 3. Bila diorak-arik, maka Memecahkan telur ke dalam sebuah wadah Mengocok telur dan menambahkan bumbu Penggorengan dipanaskan Kocokan telur dimasukkan ke penggorengan yang panas Aduklah telur hingga jadi telur orak-arik 4. Bila telor ingin diceplok, maka Memanaskan penggorengan berisikan minyak Memecahkan telur di penggorengan panas hingga matang 5. Bila telur ingin direbus Siapkan air mendidih dalam panci Masukkan telur bulat ke dalam air mendidih lalu tunggulah hingga matang 6. Telor siap dimakan Berikut ini penampakan flowchartnya 12. Buatlah sebuah flowchart yang benar tata cara menyalakan PC! Jawaban Flowchart menyalakan PC 1. Tekanlah tombol on pada CPU 2. Apakah PC sudah nyala dengan normal? 3. Bila ya Apakah ada error muncul di layar? Bila ya, maka lakukanlah troubleshooting Bila tidak, PC siap digunakan 4. Bila tidak, maka Apa lampu indikator menyala Bila ya, tekanlah on pada monitor Bla tidak, ceklah sumber listrik untuk melihat dan memastikan ada tidaknya arus Apa permasalahan selesai? Bila ya, PC siap digunakan Bila tidak, saatnya memanggil IT Support Berikut ini flowchartnya 13. Buatlah sebuah flowchart yang tepat untuk proses pemilahan sampah sebelum dibuang ke tempat pembuangan akhir! Jawaban Flowchart Pemilahan Sampah 1. Memilah sampah sesuai jenisnya 2. Pertama, organik 3. Sampah organik diolah jadi pupuk 4. Kedua, sampah yang masih bisa digunakan lagi 5. Sampah ini bisa dimanfaatkan untuk kegunaan lain 6. Ketiga, sampah yang bisa didaur ulang 7. Sampah ini bisa dimanfaatkan dan diolah jadi benda lain 8. Bila sampah tidak masuk kategori organik, bisa digunakan lagi, dan tidak dapat didaur ulang, maka buanglah ke TPA Berikut ini penampakan flowchartnya 14. Bayangkan bahwa kamu memiliki sebuah olshop dan harus mengirim paket barang yang sudah diorder oleh customer. Buatlah flowchart kirim paket! Jawaban Flowchart mengirim paket 1. Membuka aplikasi marketplace tempat tokomu berada 2. Mengakses bagian penjualan 3. Print detail order lengkap dengan nama penerima, alamat penerima, dan nomor telepon penerima 4. Memastikan bahwa kamu telah memilih jasa delivery sesuai orderan pembeli 5. Melakukan pengemasan yang rapi 6. Menyematkan label yang tadi telah dicetak pada paket yang telah dikemas 7. Mendatangi kurir apakah melakukan pengiriman atau tidak 8. Bila jasa kurir tutup maka data pengiriman harus diubah dan harus pring lagi label pengiriman yang baru, setelah itu baru menyerahkan paket ke pihak kurir 9. Bila jasa kurir buka maka serahkan paket 10. Pihak delivery menginput data ke sistem mereka 11. Melakukan pembayaran jasa pengiriman 12. Pihak delivery mencetak nomor resi 13. Nomor resi yang diserahkan bisa dilacak Berikut ini penampakan flowchartnya 15. Kamu akan melakukan pameran dan harus mencetak poster A3. Buatlah alur flowchartnya! Jawaban Flowchart mencetak poster A3 1. Melakukan registrasi Penerima registrasi input data orderan percetakan poster Orderan terinput di sistem antri 2. Proses berlanjut ke operator Orderan masuk dicek operator Desain dikirim ke mesin cetak dan datanya diolah Mesin siap mencetak Proses pencetakan dilakukan Operator melakukan pengecekan apabila terjadi masalah saat proses Percetakan berhasil dan akan diinput ke sistem antri Hasil siap diambil oleh pengorder hasil pencetakan diambil dan proses dilakukan di kasir 3. Pengorder berada di kasir Pengorder membayar biaya pencetakan 4. Proses pencetakan poster A3 selesai dan berhasil Berikut ini penampakan flowchartnya Kesimpulan Demikianlah pembahasan contoh soal algoritma dan flowchart beserta jawabannya. Tersedia dua jenis contoh soal yaitu pilihan ganda dan essay. Semoga kumpulan contoh soal ini bisa menjadi bahan belajarmu secara mandiri baik di rumah maupun di sekolah! Klik dan dapatkan info kost di dekat kampus idamanmu Kost Dekat UGM Jogja Kost Dekat UNPAD Jatinangor Kost Dekat UNDIP Semarang Kost Dekat UI Depok Kost Dekat UB Malang Kost Dekat Unnes Semarang Kost Dekat UMY Jogja Kost Dekat UNY Jogja Kost Dekat UNS Solo Kost Dekat ITB Bandung Kost Dekat UMS Solo Kost Dekat ITS Surabaya Kost Dekat Unesa Surabaya Kost Dekat UNAIR Surabaya Kost Dekat UIN Jakarta Bagianalgoritma yang berisi langkah-langkah kerja dari algoritma disebut dengan. 6. Sebuah algoritma dijalankan melalui sekian langkah dengan kriteria-kriteria tertentu. Namun ketika ditelusuri, algoritma itu akan berulang ke satu langkah secara terus menerus sehingga tidak ada jaminan algoritma tersebut berhenti. 1. Seorang programmer yang baik harus mengetahui cara pembuatan program yang bagus. Berikan penjelasan tentang program yang bagus itu seperti apa! JAWAB Untuk bisa menghasilkan program yang baik memerlukan analisis yang baik pula, baik itu analisis sistem, stuktur data maupun analisis requirement, selin itu juga dipelukan persiapan-persiapan yang matang. Hal ini berlaku bagi siapapun, bahkan seorang programmer professional sekalipun. Sedangkan tahapan apas aja untuk membuat program yang baik akan saya jelaskan dibawah. Program memang sudah menjadi kebutuhan pokok bagi masyarakat IT. karena segala sesuatu yang dilakukan di dalam IT pastilah memerlukan program. Program yang paling sederhana sekalipun setidaknya memiliki 3 bagian Input – Masukan data. Proses – pemrosesan input. Output – keluaran program, kebutuhan yang kita harapkan. Dalam membuat program, pemrograman adalah pokok dari proses pembuatan program itu sendiri namun pemrograman bergantung dari pemahaman persoalan, analisis sistem, perencanaan-perencanaan dalam mendesain program itu sendiri. 2. Struktur data merupakan suatu cara untuk menyimpan dan mengatur sebuah data supaya dapat digunakan secara efektif dan efisien. Sebutkan dan jelaskan jenis-jenis struktur data secara umum. JAWAB Struktur Data Sederhana ArrayLarik Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor RecordCatatan ADT adalah definisi tipe dan sekumpulan primitif operasi dasar terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan. Struktur Data Majemuk Linier StackTumpukan Stack tumpukan adalah list linier yang dikenali elemen puncaknya top, aturan penyisipan dan penghapusan elemennya tertentu penyisipan selalu dilakukan “di atas” top, penghapusan selalu dilakukan pada top. Karena aturan penyisipan dan penghapusan semacam itu, topadalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO Last In First Out. QueueAntrian Queue antrian adalah list linier yang dikenali elemen pertama head dan elemen terakhirnya tail; Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next. List dan Multi-List Daftar List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan 1 elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut first; 2 Alamat elemen berikutnya suksesor, jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; 3 Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; 4 Elemen terakhirnya. Non-Linier Binary Tree Pohon Biner Sebuah pohon biner binary tree adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri left dan sub pohon kanan right dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum. Graph Graf Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. 3. Jelaskan beberapa aplikasi perangkat lunak komputer yang menggunakan struktur data sebagai dasar pengembangannya. JAWAB Antrian pada kasir pada sebuah bank. Ketika seorang pelanggan datang, akan menuju ke belakang dari antrian. Setiap pelanggan dilayani, antrian yang berada didepan akan maju. Jika kita ada di antrian kedua, maka kita akan menunggu antrian pertama melakukan prosesnya. Ketika selesai proses dari antrian pertama dia akan pergi, dan giliran kita untuk maju untuk melakukan proses. Begitu juga arti dari antrian dalam bahasan kali ini, jika pengantri pertama datang maka dia juga yang akan keluar pertama kali atau FIFOFirst In First Out dan FCFS First Come First Serve. Pembelian tiket kereta api, tiket pesa1at, tiket kapal laut, pembayaran tiket tol, pembayaran listrik, pembayaran air, dan lain sebagainya. Saat mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakaiseseorang masuk dalam sebuah antrian adalah DeQueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah deQueue. Antrian Mobil di pintu Tol. Ketika sebuah mobil datang, dari belakang akan menuju kedepandari antrian. Setelah mobil mendapatkan karcis tol, antrian yang berada didepan akan maju. Pada saat menempatkan data pada ujung tail dari queue disebut dengan Enqueue. Pada saat memindahkan data dari kepalahead sebuah queue disebut dengan dequeue. 4. Abstract Data Type ADT merupakan cara untuk melihat struktur data, dengan fokus pada apa yang dilakukan dan mengabaikan proses yang terdapat didalamnya saat menjalankan eksekusi. Buatlah algoritma yang menganalogikan abstraksi perangkat elektronik. JAWAB Program Tiket_Di_Bioskop Algoritma type tiketBioskop T array [1..4] of tiketBioskop type datapembeli D array [1..9999] datapembeli jumlah_pembeli integer pilihan integer; procedure lihatBioskop procedure beliTiket function buatKodePembelian T tiketBioskop -> string 5. Berikan penjelasan dan bandingkan beberapa pendekatan yang dapat digunakan untuk merancang sebuah algoritma. JAWAB Terdapat dua pendekatan secara umum yang bisa digunakan dalam merancang algoritma, yakni pendekatan secara Top-Down, dan pendekatan secara Bottom-up Top-Down pendekatan perancangan secara top-down dimulai dengan cara membagi algoritma yang kompleks menjadi satu atau lebih dari satu modul. Modul yang terbagi ini masih bisa diuraikan lagi menjadi beberapa sub-modal, dan proses ini dilakukan berulang-ulang hingga kompleksitas modul yang diinginkan terpenuhi. Metode perancangan top-down merupakan bentuk perbaikan secara bertahap yang dimulai dengan modul paling atas kemudian secara bertahap menambah modul lain yang dipanggil. Bottom-up pendekatan perancangan bottom-up merupakan kebalikan dari pendekatan top-down. Dimana dalam pendekatan ini dimulai dengan pembuatan modul paling dasar, kemudian dilanjutkan ke perancangan modul tingkat yang lebih tinggi. Modul yang memiliki tinggkat lebih tinggi diimplementasikan menggunakan operasi yang dilakukan ikeh modul tingkat lebih rendah. Dengan demikian sub-modul pada pendekatan ini dikelompokkan secara bersama untuk membentuk tingkat modul yang lebih tinggi. Semua modul tingkat yang lebih tinggi dikumpulkan bersama-sama untuk membentuk modul tingkat yang lebih tinggi. Proses ini diulang hingga desain algoritma yang lengkap terpenuhi. 6. Sebuah program dapat memiliki lebih satu algoritma. Rancang algoritma untuk program kalkulator yang dapat melakukan operasi penjumlahan dan pengurangan. JAWAB x,y integer hasil real operator char begin Inputx Inputoperator Inputy if operator = +’ {jika operator adalah +} then hasil ← x+y else if operator = - {jika operator adalah -} then hasil ← x-y endif endif {menampilkan penginputan oleh user} Outputx,operator,y {menampilkan hasil penghitungan} Outputhasil 7. Ukurlah kompleksitas algoritma yang Anda rancang menggunakan notasi Big O! JAWAB input x, y dan operator if operator = +’ then hasil ← x+y else operator = - then hasil ← x-y endif //output nilai hasiln Referensi BagianPersiapan Dari Sebuah Algoritma Disebut Dengan Bagian - Coba Sebutkan. Materi Logika dan Algoritma. 1 Struktur Algoritma mampu mendeskripsikan Sturktur Algoritma 1. Bagian persiapan dari sebuah algoritma disebut dengan bagian .. - Diagram alir flowchart dapat digunakan untuk mempresentasikan sebuah algoritma. Selain menuliskan di diagram alir, algoritma juga bisa direpresentasikan melalui pseudocode. Dengan menampilkan algoritma melalui diagram alir, pembacaan logika perintah pun menjadi lebih jelas. Penelusuran tracing algoritma dengan mudah dengan penulisan yang lebih sederhana melalui algoritma sangat berbeda dengan penulisan untuk program. Penulisan program ditujukan agar perintah yang dituliskan dapat dimengerti oleh mesin, seperti komputer. Sebaliknya, penulisan algoritma ditujukan agar suatu langkah yang dikerjakan bisa dipahami juga Algoritma Definisi, Ciri, Jenis, Struktur dan Contohnya Rangkuman Materi TIK Kelas 10 Pengertian Algoritma & Pseudocode Mengutip buku Informatika Kelas X 2021 terbitan Kemdikbudristek RI, algoritma disusun dari proses berpikir komputasional oleh seseorang untuk menemukan solusi dari sebuah permasalahan yang sedang dicari solusinya. Orang tersebut mesti menerjemahkan solusi yang diambil melalui suatu strategi atau "resep" tertentu. Tata cara untuk mengeksekusi solusi tersebut dinamakan algoritma, yang merupakan bagian dari karya informatika. Macam-macam Simbol Diagram Alir di Penulisan Algoritma Algoritma yang sudah disusun, selanjutnya bisa dituliskan ke salah satunya berupa diagram alir. Diagram ini dibuat dalam bentuk aliran simbol yang dapat ditelusuri dari suatu titik permulaan, sampai titik akhir dari program. Pembuatan diagram alir memanfaatkan simbol standar ANSI/ diagram alir yang digunakan dalam penulisan algoritma memiliki beragam bentuk dengan fungsi yang berlainan. Mengutip modul materi Informatika terbitan Kemdikbudristek, berikut macam-macam simbol diagram alir untuk penulisan algoritma1. Garis Alir Garis alir menunjukkan arah aliran algoritma, dari sebuah proses ke proses Terminal Terminal atau terminator sebagai penunjuk awal atau akhir sebuah Proses/langkah Simbol proses/langkah untuk menyatakan kegiatan yang akan terjadi dalam diagram Titik keputusan Simbol ini merupakan proses atau langkah yang menyatakan perlu adanya keputusan, atau adanya kondisi tertentu. Di titik tersebut, selalu ada dua keluaran untuk melanjutkan ke aliran kondisi Masukan/keluaran Simbol masukan/keluaran dipakai mewakili data masuk atau data keluar. Penggunaanya hanya bisa dimulai dari masukan menuju keluaran, dan bukan Anotasi Simbol anotasi melambangkan komentar tentang satu atau beberapa bagian di diagram alir. Komentar ini tidak mempunyai dampak apa pun pada proses yang Predefined process/subprogram Simbol ini melambangkan suatu kegiatan atau proses lain yang telah didefinisikan Persiapan/inisialisasi Simbol persiapan/inisiasi digunakan untuk menunjukkan operasi yang tidak memiliki dampak khusus, selain mempersiapkan sebuah nilai untuk langkah atau proses berikutnya. Simbol ini dipakai pula untuk menggantikan titik keputusan yang umumnya berbentuk ketupat saat akan melakukan pengulangan di kondisi Konektor dalam halaman Simbol konektor dalam halaman sering dipakai dalam pengulangan. Penggunaan simbol tersebut akan menghubungkan satu proses ke proses lainnya, sama seperti tanda panah. Proses bisa lebih dari satu yang mengarah padanya, tapi hanya akan menghasilkan satu keluaran. Penggunaan simbol ini membuat diagram alir lebih rapi dengan mengurangi tanda panah yang lalu lalang di Konektor luar halaman Ketika diagram alir tidak dapat termuat di satu halaman saja, lambang ini akan dipakai menghubungkan satu proses ke proses lainnya, seperti halnya tanda panah. Namun, penggunaa simbol ini akan merujuk ke halaman Kontrol/inspeksi Simbol kontrol atau inspeksi dipakai dalam menunjukkan proses/ langkah yang terdapat inspeksi atau pengontrolan di dalamnya. - Pendidikan Kontributor Ilham Choirul AnwarPenulis Ilham Choirul AnwarEditor Addi M Idhom 10seconds Q. Bagian persiapan dari sebuah algoritma disebut dengan bagian answer choices Kamus Deskripsi algoritma Header Prosedur Question 2 10 seconds Q. Bagian yang menjelaskan serangkaian instruksi untuk memproses inputan dan menghasilkan output adalah bagian answer choices Kamus Deskripsi algoritma Header Prosedur Question 3You're Reading a Free Preview Pages 11 to 22 are not shown in this preview. You're Reading a Free Preview Pages 28 to 34 are not shown in this preview. You're Reading a Free Preview Pages 38 to 39 are not shown in this preview. You're Reading a Free Preview Pages 43 to 51 are not shown in this preview. You're Reading a Free Preview Page 58 is not shown in this preview. You're Reading a Free Preview Pages 62 to 85 are not shown in this preview. You're Reading a Free Preview Pages 91 to 105 are not shown in this preview. You're Reading a Free Preview Pages 109 to 113 are not shown in this preview.Playthis game to review Computers. Bagian persiapan dari sebuah algoritma disebut bagian Preview this quiz on Quizizz. Quiz. Alur Logika Pemrograman Dasar. DRAFT. 12th - University. Played 0 times. 0% Bagian persiapan dari sebuah algoritma disebut bagian Bab 7 Algoritma dan Pemrograman 135 Bab 7 Algoritma dan Pemrograman Setelah mempelajari bab ini, kalian mampu a membaca dan menulis algoritma dengan notasi yang benar, memahami proses pemrograman dengan menggunakan bahasa pemrograman; b memahami konsep variabel dan ekspresi dalam membuat program; c memahami penggunaan struktur kontrol keputusan, struktur kontrol perulangan, dan fungsi dalam membuat program. Kalian ingin dapat memprogram dengan bahasa pemrograman? Bagaimana membuat program untuk membuat solusi-solusi kecil? KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI REPUBLIK INDONESIA, 2021 Informatika untuk SMA Kelas X Penulis Dean Apriana Ramadhan, Auzi Asfarian, Mushthofa ISBN 978-602-244-506-7136 Informatika SMA Kelas X Gambar Peta Konsep Algoritma dan Pemrograman Selama ini, mungkin kalian telah menggunakan banyak sekali produk perangkat lunak baik di komputer personal maupun di ponsel pintar yang kalian gunakan. Sekarang saatnya bagi kalian untuk membuat program sendiri. Pada bagian ini, kalian akan berkenalan dengan konsep algoritma dan pemrograman. Untuk membuat program, kalian harus menggunakan salah satu dari banyak bahasa pemrograman yang ada. Bab 7 Algoritma dan Pemrograman 137 Penyelesaian Persoalan problem solving, Algoritma, pemrograman, coding, debugging. A. Algoritma Algoritma adalah suatu kumpulan instruksi terstruktur dan terbatas yang dapat diimplementasikan dalam bentuk program komputer untuk menyelesaikan suatu permasalahan komputasi tertentu. Algoritma merupakan bentuk dari suatu strategi atau resep’ yang kalian gunakan untuk menyelesaikan suatu masalah. Algoritma lahir dari suatu proses berpikir komputasional oleh seseorang untuk menemukan solusi dari suatu permasalahan yang diberikan. Dengan demikian, berpikir komputasional merupakan keahlian yang kalian perlukan untuk dapat membuat algoritma, program, atau suatu karya informatika yang dapat digunakan dengan efektif dan eisien. Setelah kalian menganalisis suatu problem menggunakan teknik abstraksi dan dekomposisi lalu menyusun algoritma dengan melakukan pengenalan pola dari problem sejenis, algoritma tersebut harus direpresentasikan dalam bentuk yang dapat dipahami oleh orang lain. Selain itu, karena pada akhirnya strategi tersebut akan diubah dalam bentuk kode program, algoritma harus ditulis dalam bentuk yang terdeinisi dengan baik well-deined dengan jumlah langkah yang terbatas. Algoritma adalah abstraksi dari sebuah program sehingga kemampuan menuliskan algoritma dengan baik akan membantu kalian dalam membuat program yang baik dan benar. Pada bagian ini, kalian akan mempelajari dua cara untuk merepresentasikan algoritma, yaitu diagram alir dan pseudocode. Untuk itu, kalian perlu mempelajari teknik untuk membaca suatu algoritma yang disebut penelusuran atau tracing dan cara untuk menuliskan suatu algoritma. Perlu diingat bahwa menulis algoritma berbeda dengan menulis program. Program ditulis agar dapat dipahami oleh mesin, sedangkan algoritma ditulis agar dapat dipahami oleh manusia. Untuk program yang sederhana, algoritma akan sangat mirip, bahkan sama dengan program. Jika persoalan makin kompleks, algoritma hanya berisi abstraksi, yang akan mempermudah implementasinya menjadi Informatika SMA Kelas X 1. Diagram Alir Diagram alir dibuat dalam bentuk aliran simbol yang dapat ditelusuri dari suatu titik permulaan hingga titik akhir dari program. Diagram alir dibuat menggunakan simbol standar ANSI/ISO yang beberapa simbol dasarnya diberikan pada Tabel Tabel Simbol Diagram Alir Beserta Maknanya Simbol Nama Deskripsi Garis alir lowline Arah yang menunjukkan aliran program dari awal hingga akhir. Terminator Titik awal atau titik akhir suatu program. Proses Suatu kegiatan komputasi yang dilakukan oleh program misalnya operasi aritmatika. Keputusan Merupakan titik percabangan yang salah satu cabangnya dapat dilalui oleh program berdasarkan suatu kondisi. Masukan Input/Keluaran Output Melambangkan titik saat program akan menerima suatu data atau menghasilkan suatu informasi. Subprogram Melambangkan suatu kegiatan atau proses lain yang telah dideinisikan sebelumnya. Penghubung dalam Halaman Digunakan untuk menghubungkan suatu titik pada diagram alir ke titik lain pada halaman yang sama. Penghubung antarhalaman Digunakan untuk menghubungkan suatu titik pada diagram alir ke titik lain pada halaman yang berbeda. Digunakan apabila diagram lain cukup kompleks sehingga tidak dapat digambar dalam satu halaman. Untuk memahami bagaimana diagram alir digunakan untuk menggambarkan suatu algoritma, pada bagian berikut, diberikan lima buah contoh diagram alir dari beberapa proses berpikir yang telah kalian kenal. Bab 7 Algoritma dan Pemrograman 139 a. Diagram Alir 1 Menghitung Luas Persegi START READ sisi Luas = sisi * sisi END PRINT luas Diagram alir dibaca mulai dari simbol START, lalu mengikuti arah panah. Untuk menghitung luas persegi, kalian memerlukan sebuah data, yaitu panjang sisi. Panjang sisi ini dibaca pada diagram alir dengan menggunakan kata kunci READ dan disimpan dalam sebuah variabel bernama sisi. Setelah itu, kalian melakukan suatu proses ekspresi matematika untuk menghitung luas persegi menggunakan rumus yang telah kalian ketahui, yaitu luas = sisi x sisi. Hasil perhitungan tersebut disimpan pada sebuah variabel bernama luas. Walaupun telah memperoleh jawaban yang dicari, komputer perlu diinstruksikan secara spesiik untuk mengeluarkan jawaban tersebut. Pada diagram ini, kata kunci PRINT digunakan untuk mencetak nilai dari variabel luas yang telah diperoleh pada tahap sebelumnya. Setelah PRINT, algoritma berakhir karena simbol setelahnya adalah simbol END. b. Diagram Alir 2 Menghitung Luas Permukaan Kubus START READ sisi Luas = sisi * sisi END PRINT luas permukaan Luas permukaan = Luas * 6 START Luas = sisi * sisi END Saat menyusun solusi untuk menyelesaikan suatu permasalahan, kita seringkali membutuhkan solusi dari permasalahan lain yang lebih sederhana. Misalnya, kita harus menghitung luas permukaan dari sebuah kubus. Pada prosesnya, kita perlu menghitung luas persegi yang membentuk kubus tersebut. Hal ini dapat digambarkan pada diagram alir menggunakan simbol subprogram. Pada diagram alir ini, terlihat bahwa proses akan memanggil subprogram menghitung luas persegi yang telah kita buat sebelumnya. Subprogram dapat kalian gunakan untuk menggambarkan abstraksi dan dekomposisi yang telah kalian pelajari pada berpikir Informatika SMA Kelas X c. Diagram Alir 3 Membagi Bilangan START READ pembilang penyebut penyebut = 0 ? PRINT “Penyebut tidak boleh nol” Hasil = pembilang / penyebut END PRINT hasil No Yes Diagram alir dapat memiliki beberapa kemungkinan aliran sehingga suatu algoritma dapat adaptif terhadap masukan yang diberikan. Hal ini dimungkinkan dengan adanya simbol keputusan. Aliran keluar dari simbol keputusan akan bergantung pada kondisi yang ada di dalam simbol keputusan. Pada contoh ini, simbol keputusan digunakan untuk menghindari dijalankannya suatu operasi matematika yang tidak dapat dieksekusi oleh komputer, yaitu operasi pembagian dengan pembagi bernilai 0. Apabila operasi tersebut dilakukan, komputer akan menampilkan pesan kesalahan dan program akan berhenti secara tidak wajar. Diagram alir ini merupakan proses untuk membagi pembilang dengan penyebut. Akan tetapi, sebelum operasi pembagian dilakukan, diagram akan mengecek terlebih dahulu nilai dari penyebut. Apabila penyebut bernilai 0, operasi pembagian tidak dilakukan dan pesan yang sesuai akan ditampilkan. Jika tidak, operasi dapat dilakukan dengan aman dan hasil pembagian dapat ditampilkan. d. Diagram Alir 4 Menghitung Mundur dari N hingga 1 START N>0? PRINT N END N = N - 1 READ N No Yes Aliran pada diagram alir dapat diatur sehingga satu lebih simbol dijalankan berulang kali. Pada contoh berikut, perulangan dilakukan sehingga diagram alir tersebut akan menghasilkan barisan bilangan bulat dari N hingga 1. Misalkan, N bernilai 5. Maka, diagram alir akan mencetak angka 5 4 3 2 1. Tentunya, perulangan tidak bisa dilakukan terus-menerus sehingga diperlukan suatu kondisi untuk menghentikan perulangan. Simbol keputusan dapat digunakan untuk menghentikan perulangan tersebut pada kondisi yang kita tetapkan. Bab 7 Algoritma dan Pemrograman 141 e. Diagram Alir 5 Mencari Bilangan Terbesar dari Suatu Himpunan Bilangan Tentunya, simbol-simbol dasar pada diagram alir dapat dipadukan untuk menghasilkan sebuah proses yang lebih kompleks. Diagram alir berikut menggambarkan proses mencari bilangan terbesar dari suatu himpunan bilangan yang diberikan. Diagram alir berikut akan membaca sebanyak N buah bilangan dan akan menghasilkan bilangan yang paling besar di antara bilangan tersebut. START N=0? PRINT Terbesar END READ N No Yes Terbesar = 0 READ Bilangan Terbesar 0, ulangi. 3. Cetak tulisan N. 4. Kurangi nilai N dengan 1. Algoritma Menghitung Mundur dari N hingga 1 Input Nilai N. Output Angka hasil hitung mundur dari nilai N sampai 1 tercetak. input N while N > 0 print N N ← N - 1 e. Pseudocode 5 Mencari Bilangan Terbesar dari Suatu Himpunan Bilangan Deskripsi tingkat tinggi Pseudocode 1. Jika himpunan bilangan kosong, maka tidak ada bilangan terbesar. 2. Jika himpunan bilangan tidak kosong, asumsikan bilangan pertama sebagai bilang terbesar saat ini. 3. Untuk setiap bilangan anggota himpunan bandingkan bilangan tersebut dengan bilangan terbesar saat ini. Apabila bilangan tersebut lebih besar, maka bilangan tersebut akan menjadi bilangan terbesar saat ini. Algoritma Mencari Bilangan Terbesar Input Himpunan bilangan L. Output Bilangan terbesar pada himpunan bilangan L if size of L= 0 return null largest ← elemen pertama L for each item in L, do if item > largest, then largest ← item return largest146 Informatika SMA Kelas X Deskripsi tingkat tinggi Pseudocode 4. Apabila langkah 3 telah dilakukan pada seluruh bilangan, bilangan terbesar saat ini akan menjadi bilangan terbesar di himpunan bilangan tersebut. Setelah selesai menyusun suatu algoritma, barulah suatu program dibuat dengan menggunakan bahasa pemrograman tertentu. Ada banyak bahasa yang dapat digunakan, misalnya bahasa C yang digunakan pada unit ini dan bahasa Python yang digunakan pada unit analisis data. Aktivitas Individu Aktivitas AP-K10-02-U Menulis Algoritma Pada latihan ini, kalian diminta untuk menuliskan suatu algoritma berdasarkan deskripsi berikut. Deskripsi ini memuat narasi tingkat tinggi dari algoritma yang perlu kalian buat dalam bentuk diagram alir dan pseudocode. Setelah selesai, kalian dapat menunjukkan hasil pekerjaan kalian kepada teman kalian untuk ditelusuri. Soal 1 Membayar Bakso Tingkat Kesulitan Buatlah sebuah diagram alir atau pseudocode dari proses berikut. Sebuah mesin pembayaran otomatis dirancang untuk mampu menangani pembayaran pembelian bakso secara mandiri. Mesin ini mampu untuk memberikan kembalian dalam bentuk uang kertas atau uang logam. Mesin akan menerima dua buah masukan, yaitu total bayar dan jumlah uang yang dibayarkan oleh pelanggan. Apabila jumlah uang yang dibayarkan lebih besar atau sama dengan total bayar, mesin akan menghitung kembalian yang harus diberikan kepada pelanggan. Apabila terjadi sebaliknya, mesin akan menampilkan teks “Uang yang dibayarkan kurang”. Setelah diagram alir selesai, kalian dapat menelusurinya dengan menggunakan kasus 7 Algoritma dan Pemrograman 147 Kasus Masukan Keluaran 1 Total Bayar 10000 Jumlah Uang 15000 5000 2 Total Bayar 20000 Jumlah Uang 10000 Uang yang dibayarkan kurang. Soal 2 Hadiah Bakso Gratis Tingkat Kesulitan Kalian adalah pengusaha bakso yang sukses. Agar usaha bakso kalian bisa lebih berkembang, kalian berencana untuk menambah sentuhan teknologi sehingga beberapa proses dapat berjalan secara otomatis. Inovasi yang kalian pikirkan ialah menggunakan sistem poin untuk memberikan diskon pada pelanggan. Poin ini akan diberikan pada saat pelanggan membayar di mesin pembayaran yang akan kalian buat. Setiap membayar, pelanggan akan menerima poin senilai harga bakso yang ia beli. Apabila total poin mencapai pelanggan akan menerima satu porsi bakso gratis. Kalian lalu memikirkan suatu proses berikut setelah memesan bakso, pelanggan dapat membayar dengan menggunakan ponsel miliknya. Kemudian, mesin tersebut menambahkan total pembayaran ke total poin yang saat ini dimiliki oleh pelanggan. Apabila total poin yang dimiliki pelanggan lebih besar dari mesin akan mengeluarkan kalimat “Anda mendapatkan kupon bakso gratis” dan mengurangi total poin pelanggan dengan nilai Setelah itu, mesin akan menampilkan total poin pelanggan saat ini. Setelah diagram alir selesai, kalian dapat menelusurinya dengan menggunakan kasus berikut. Kasus Masukan Keluaran 1 Total Pembayaran 80000 Total Poin Pelanggan Saat Ini 10000 Poin Anda saat ini 90000 2 Total Pembayaran 20000 Total Poin Pelanggan Saat Ini 90000 Anda mendapatkan kupon bakso gratis! Poin Anda saat ini 10000 Jawablah pertanyaan berikut dalam Lembar Releksi pada Buku Kerja, dan jangan lupa mencatat kegiatan dalam Jurnal. 1. Apakah kalian merasa bahwa membuat algoritma dapat mempermudah kalian dalam menyelesaikan masalah? 2. Menurut kalian, kapan kalian akan menggunakan diagram alir dan kapan kalian akan menggunakan pseudocode? Mana yang paling mudah untuk kalian gunakan? Apa kelebihan dan kekurangan dari setiap pendekatan tersebut yang kalian rasakan?148 Informatika SMA Kelas X 3. Setelah ini, apa yang akan kalian lakukan untuk bisa membaca dan menulis algoritma dengan baik? 4. Pelajaran paling berkesan apa yang kalian dapatkan dari pertemuan ini? B. Bahasa Pemrograman Prosedural Belajar bahasa pemrograman sama halnya dengan belajar bahasa apa pun, dimulai dengan secara intuitif mengenal dan langsung memakai bahasa tersebut untuk keperluan sehari-hari yang penting sesuai kebutuhan, bukan dari teori bahasa. Seseorang dengan bahasa ibu bahasa Indonesia, saat belajar bahasa Inggris, akan mulai mengenal bahasa Inggris melalui “membaca” contoh-contoh kalimat sederhana yang sangat diperlukan dalam kehidupan sehari-hari, seperti mulai menyapa “Selamat pagi.”, “Jam berapa?”. Melalui contoh tersebut, ia akan belajar kosakata penting dan pola kalimat, misalnya kalimat pernyataan SPOK Subjek, Predikat, Objek, Keterangan; struktur kalimat tanya, kalimat aklamasi, dan lain-lain. Selanjutnya, baru beranjak ke konsep yang lebih kompleks yang ada pada bahasa asing tersebut dan mengenal tata bahasa secara lebih formal dan mulai menulis. Belajar pemrograman pada hakikatnya sama dengan belajar bahasa natural bahasa manusia sehari-hari seseorang belajar dari “membaca” program terlebih dulu, daripada “menulis” kode program. Proses menulis kode coding dapat dimulai setelah kalian membaca contoh-contoh program yang menjadi pola pembangun program kompleks. Bedanya dengan belajar bahasa natural, teks dalam bahasa pemrograman yang ditulis bukan dilafalkan dan dipahami sebagai teks “statis”, melainkan juga dapat dipahami oleh mesin dan dapat dieksekusi dijalankan. Gambar Elemen Generik dari Bahasa Pemrograman Prosedural Sumber Dokumen Kemendikbud, 2021 Terdapat banyak bahasa pemrograman, dan setiap bahasa memiliki paradigma, keunggulan, tantangan masing-masing. Pada unit ini, kalian diperkenalkan pada bahasa pemrograman C yang merupakan salah satu bahasa pemrograman prosedural. Saat mempelajari bahasa C pada unit ini di kelas X, kalian akan mempelajari empat elemen generik, yaitu variabel, ekspresi, struktur kontrol keputusan, dan struktur kontrol perulangan Gambar Empat elemen ini berlaku di semua bahasa pemrograman prosedural lainnya. Teks kode program dalam bahasa-bahasa pemrograman lain banyak yang mirip dengan teks bahasa C. Oleh karena itu, kalian perlu menyadari bahwa unit ini tidak dibuat hanya agar kalian menguasai pemrograman dengan bahasa C, tetapi bagaimana kalian dapat menggunakan keempat elemen dasar tersebut dalam membuat suatu program.. Bahasa C banyak dipakai untuk membuat sistem operasi dan programprogram sistem, pemrograman tingkat rendah, atau yang "dekat" ke perangkat keras misalnya untuk kontrol peralatan, membuat toolkit pemrograman, dan menulis aplikasi. Kelebihan bahasa C sehingga banyak digunakan ada pada kemampuannya untuk menghasilkan kode yang singkat, eisien, tetapi tetap mudah dibaca. Berbeda halnya dengan bahasa mesin yang eisien, tetapi membutuhkan latihan khusus untuk membacanya, atau bahasa tingkat tinggi lain yang enak dibaca, tetapi tidak eisien. Walaupun demikian, perlu diakui bahwa kesulitan untuk membaca program bahasa C lebih tinggi daripada bahasa tingkat tinggi lain. 1. Membuat Program Pertama dengan Bahasa C Sekarang, saatnya kalian memulai perjalanan kalian dalam membuat program dengan bahasa C. Namun, sebelum kalian mulai membuat program, ada persiapan yang harus kalian lakukan. Pertama, kalian membutuhkan sebuah tempat untuk bekerja, yang disebut lingkungan pengembangan. Kedua, kalian harus memahami proses membuat program mulai dari mengetikkan kode program hingga menghasilkan program yang dapat dieksekusi atau dijalankan oleh Informatika SMA Kelas X a. Persiapan Lingkungan Pengembangan Program Menggunakan Bahasa C Gambar Alur proses membuat program dengan Bahasa C Ini langkah-langkah untuk membuat program di C! rumit sekali. Namun sekarang, ada IDE Integrated Development Environment, semuanya jadi mudah! Tulis program, satu kali klik, langsung bisa tampil…. Gambar Contoh tampilan sebuah IDE Sumber Dokumen Kemendikbud, 2021Bab 7 Algoritma dan Pemrograman 151 Untuk dapat membuat program dalam bahasa C, diperlukan beberapa perangkat lunak. Perangkat lunak yang pertama ialah sebuah editor teks tempat kita mengetikkan kode program. Selanjutnya, ada sebuah kompilator compiler yang akan membaca kode bahasa C yang telah ditulis dan mengubahnya menjadi bahasa mesin, atau bahasa assembly. Setelah itu, terdapat sebuah assembler yang akan mengubah bahasa mesin tersebut ke dalam kode biner yang dapat dipahami dan dieksekusi oleh komputer. Terakhir, terdapat sebuah penghubung linker yang akan menyatukan beberapa berkas yang dihasilkan dalam proses-proses sebelumnya ke dalam sebuah bentuk berkas yang dapat dieksekusi executable. Pada awalnya, perangkat lunak tersebut terpisah, tetapi untuk memudahkan, akhirnya, dibuatlah sebuah perangkat lunak terintegrasi yang mencakup semua perangkat lunak di atas. Perangkat lunak tersebut disebut lingkungan pengembangan terpadu integrated development environment. Untuk bahasa C, beberapa IDE yang biasa digunakan ialah Eclipse, Atom, CodeBlocks, Geany, dan Visual Studio. Walaupun pada dasarnya semua IDE tersebut memiliki fungsi yang sama, tetapi terdapat perbedaan pada ituritur tambahan yang membuat proses pemrograman menjadi lebih mudah dilakukan. Misalnya, itur untuk membuat program secara kolaboratif, integrasi dengan repositori kode program daring, serta itur auto-complete. Selain IDE yang dipasang di komputer masing-masing, terdapat pula IDE yang terpasang di cloud dan dapat diakses secara daring, misalnya Ideone, dan Selain itu, terdapat juga CppDroid, Mobile C, dan Coding C yang dapat digunakan pada ponsel cerdas. Suatu perusahaan di bidang informatika biasanya telah memiliki standar masing-masing dari lingkungan pengembangan yang digunakan. Menguasai lingkungan pengembangan secara maksimal akan membuat kalian lebih produktif untuk menghasilkan program yang eisien dan berkualitas tinggi, terutama ketika kalian bekerja dalam tim. Aktivitas Individu Aktivitas AP-K10-03 Instalasi IDE Bahasa C Sebelum membuat program, lingkungan kerja di komputer harus dipersiapkan. Pada bagian ini, akan dijelaskan cara instalasi IDE untuk memprogram bahasa C yang dapat digunakan secara gratis, yaitu CodeBlocks dan Geany. Cara instalasi yang diberikan ialah untuk dua sistem operasi, yaitu MS Windows dan Linux. 152 Informatika SMA Kelas X Sebelum lanjut, pastikan kalian telah mengetahui versi sistem operasi yang kalian gunakan, 32 bit atau 64 bit. Informasi ini dapat diperoleh dengan cara berikut. 1. Pada sistem operasi MS Windows klik kanan ikon My Computer atau This PC, kemudian pilih Properties. Pada bagian System Type, terdapat informasi jumlah bit yang digunakan oleh komputer kalian. 2. Pada sistem operasi Linux masuk ke terminal dan ketikkan perintah uname -a. Hal ini juga dapat dicek melalui antarmuka pengguna grais pada bagian System Settings -> Details. Aktivitas Individu Aktivitas AP-K10-04-U Membuat Program Pertama dengan Bahasa C Pada aktivitas ini, kalian akan menggunakan CodeBlocks atau Geany untuk membuat program pertama kalian. Program yang akan ditulis ialah seperti berikut. /* Program Pertamaku */ /* Membuat program untuk mencetak “Halo Dunia!” */ include int main { printf"Halo Dunia!\n"; return 0; } Ketikkanlah kode program tersebut ke dalam IDE yang kalian gunakan. Pada saat mengetik, kalian dapat mencoba memikirkan apa makna dari kode yang telah kalian ketikkan. Pastikan kalian mengetikkan semua kode dengan sempurna karena bahasa pemrograman sangat sensitif pada kesalahan pengetikan. Misalnya, ketika kalian lupa mengetikkan karakter “;” program kalian akan dianggap mengalami kesalahan sintaks oleh kompilator. Petunjuk 1. Pertama, buka CodeBlocks atau Geany. Kemudian, pilih File New Empty File. 2. Kedua, ketikkan kode yang diberikan di atas. 3. Ketiga, simpan berkas kode dengan nama Simpan dalam sebuah direktori yang kalian buat di komputer. Namai berkas kode dan direktori dengan benar agar dapat kalian temukan dengan mudah nanti. Menyimpan kode dengan terstruktur merupakan salah satu praktik baik dalam menulis kode program. Bab 7 Algoritma dan Pemrograman 153 4. Keempat, pilih Build Build atau tekan Ctrl-F9 untuk melakukan kompilasi program. Pada tahap ini, kode program akan dikonversi ke dalam bentuk yang dapat dipahami dan dieksekusi oleh komputer. 5. Terakhir, pilih Build Run atau tekan Ctrl-F10 untuk menjalankan program. Setelah dikompilasi dan dijalankan, program ini akan mencetak keluaran ke layar monitor yang berupa sebaris teks bertuliskan Halo Dunia! Selamat, kalian telah berhasil menjalankan program pertama kalian. Praktik Baik Pemrograman Sambil kalian mempelajari buku ini, akan ada sisipan praktik baik pemrograman. Praktik baik ini kalian terapkan dalam kegiatan pemrograman seterusnya, termasuk pada topik dan konsep yang belum tercakup dalam aktivitas ini, agar terkumpul dengan rapi. Kalian boleh menambahkan praktik baik lain yang kalian anggap perlu. Tuliskan praktik baik kalian dalam Buku Kerja kalian. Pemrogram profesional harus menaati aturan-aturan yang lebih ketat. Beberapa perusahaan seperti Google bahkan mempunyai konvensi kesepakatan dan juga dikaitkan dengan bahasa pemrograman yang dipakai. Penasaran? Silakan lihat contohnya di Selama kelas X, kalian akan menuliskan banyak program kecil-kecil yang perlu kalian simpan untuk bahan belajar. Jika kalian perlukan, dapat kalian pakai lagi potongan kodenya untuk mempercepat kalian melakukan tugas yang lebih besar. Sebuah program besar biasanya berasal dari potonganpotongan program kecil yang pernah dibuat sebelumnya. Pemrogram tidak perlu mengetik ulang lagi karena potongan kode tersebut sudah pernah diuji. Program kecil ini ibarat potongan puzzle yang kelak dapat kalian ambil dan rangkai menjadi sesuatu yang besar. Berikut ini praktik baik dalam memprogram serta mengelola direktori dan berkas tempat menyimpan kode program. 1. Selalu menuliskan nama ile tempat menyimpan potongan kode sebagai baris pertama kode, dalam bentuk komentar. 2. Menuliskan untuk apa potongan kode program ditulis, akan memudahkan mengambilnya tanpa harus membaca semua kode. Ingat bahwa sama halnya dengan belajar menulis, kalian akan menulis program yang ukurannya banyaknya baris makin lama makin besar. 3. Menuliskan komentar yang perlu untuk sekumpulan kode. Pada contoh program di atas, terdapat bagian komentar untuk menuliskan apa yang dilakukan oleh program. Komentar tidak akan dieksekusi oleh kompilator karena fungsinya untuk membantu kalian memahami kode program. Komentar dapat ditulis dalam dua Informatika SMA Kelas X a. Ditulis dalam satu baris atau lebih dan diawali dengan /* dan diakhiri dengan */. b. Ditulis dalam satu baris dengan awalan //. Kode program di atas dapat kalian berikan komentar seperti berikut. /* Program Pertamaku */ /* Membuat program untuk mencetak “Halo Dunia!” */ include int main{ // Fungsi utama program printf"Halo Dunia!\n"; // Mencetak Halo Dunia! ke layar return 0; // Program berjalan dengan benar } Jawablah pertanyaan tersebut dalam Lembar Releksi pada Buku Kerja, dan jangan lupa mencatat kegiatan dalam Jurnal. 1. Apakah kalian sudah pernah membuat program sebelumnya? 2. Saat mengetikkan kode program tersebut, apakah kalian merasa dapat memahami makna dari setiap baris kode tersebut? 3. Apa kesulitan yang kalian rasakan saat mengetikkan program tersebut? 4. Pelajaran paling berkesan apa yang kalian dapatkan dari pertemuan ini? 2. Struktur Program Bahasa C Bahasa C merupakan bahasa yang terstruktur. Beberapa struktur dasar pada program bahasa C telah terlihat pada program yang kalian tulis sebelumnya. Untuk memudahkan penjelasan, kode program berikut akan diberi nomor baris di bagian kiri. Penting Jika kalian ingin mencoba menjalankan contoh program dengan nomor baris seperti di bawah ini, kalian tidak perlu mengetikkan nomor baris tersebut. include int main{ printf"Halo Dunia!\n"; return 0; } Baris pertama merupakan suatu pernyataan yang digunakan untuk memasukan sebuah header ile yang bernama Header ile merupakan kumpulan fungsi-fungsi dasar yang dikelompokkan berdasarkan kegunaannya Bab 7 Algoritma dan Pemrograman 155 dan dapat digunakan untuk membantu kalian membuat program. Pada kode di atas, header ile yang digunakan ialah yang berisi fungsi-fungsi terkait masukan dan keluaran standar atau standard input output. Dengan menggunakan program yang kalian buat dapat membaca dan menulis data. Pada baris 2-5, kalian menemukan sebuah blok program yang merupakan implementasi suatu fungsi bernama main. Fungsi ini merupakan fungsi yang akan dijalankan pertama kali pada saat program dijalankan. Isi dari blok fungsi tersebut diapit dengan tanda kurung kurawal. Di dalam fungsi ini, pada baris 3, terdapat pemanggilan sebuah fungsi bernama printf yang digunakan untuk mencetak suatu data ke layar. Dalam hal ini, data yang ditampilkan ialah sebuah kalimat “Halo Dunia!\n” yang diberikan pada parameter fungsi tersebut. Karakter \n yang ada pada kalimat tersebut akan dicetak oleh program sebagai baris baru newline, seperti jika kalian menekan tombol enter pada papan ketik kalian. Pada baris keempat, terdapat sebuah pernyataan return 0. Penjelasan mengenai fungsi pernyataan ini cukup berat untuk dijelaskan pada bagian ini. Singkatnya, pernyataan ini merupakan tanda bagi sistem operasi untuk mengecek selesainya program dengan benar. Apabila program berjalan dan berhenti dengan benar, sistem operasi akan memperoleh nilai 0. Nilai selain 0 akan menjadi tanda bahwa program tidak berhenti dengan benar. Untuk saat ini, yang perlu kalian ketahui ialah pernyataan ini perlu diletakkan di akhir blok fungsi main pada program yang kalian tulis. Kalian dapat memodiikasi kode program tersebut dan menjalankannya kembali dengan melakukan beberapa perubahan, misalnya 1. Ubah kalimat Halo Dunia menjadi Hello World! 2. Cetak dua baris kalimat di layar, yaitu “Halo Dunia!” dan “Saya siap belajar pemrograman!” a. Komponen Program dalam Bahasa C Sebelum membuat program yang lebih kompleks, yang melibatkan ekspresi, struktur kontrol keputusan, atau struktur kontrol perulangan, kalian perlu memahami makna dari berbagai komponen penyusun bahasa C, di antaranya meliputi kata kunci, identiier, variabel, tipe data, dan konstanta. 1 Kata Kunci Keyword Kata kunci merupakan kata yang telah memiliki makna khusus yang tidak dapat diubah oleh pemrograman. Dengan kata lain, kalian tidak dapat menggunakan sebagai suatu identiier. Terdapat 32 kata kunci standar pada bahasa C, yaitu 156 Informatika SMA Kelas X auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, continue, for, signed, void, do, if, static, while, default, goto, sizeof, volatile, const, loat, short, dan unsigned. Bayangkan, dengan hanya 32 kata kunci, kalian bisa menulis program apa saja dalam bahasa C! 2 Identiier Identiier adalah nama unik yang dapat kalian ingat yang diberikan ke dalam entitas program C, seperti variabel dan fungsi. Identiier terdiri atas serangkaian karakter dengan aturan berikut. a. Tidak boleh sama dengan kata kunci keyword dalam bahasa C. b. Disusun dari kombinasi huruf besar dan kecil, angka, dan underscore ”_”. c. Harus dimulai dengan huruf atau underscore. d. Bersifat case-sensitive, atau sensitif terhadap huruf besar atau kecil kapitalisasi karakter. Dengan kata lain, sisi dan Sisi akan dianggap sebagai dua identiier yang berbeda. Praktik Baik Pemrograman Walaupun dengan aturan di atas kalian dapat membuat identiier dengan sangat bebas, keterbacaan kode program menjadi penting. Beberapa praktik baik yang perlu kalian ketahui untuk menghindari kebingungan dalam membaca dan menulis kode ialah seperti berikut. 1. Nama yang diawali oleh underscore digunakan untuk keperluan tertentu dan tidak seharusnya digunakan dalam membuat program di unit ini. 2. Nama variabel dan fungsi harus ditulis dengan huruf non-kapital. Akan tetapi, apabila terdiri atas dua atau lebih kata, kalian dapat menggunakan teknik menulis dengan standar camel case. Huruf awal kata, selain kata pertama, ditulis menggunakan huruf kapital. Contoh totalHargaBarang, namaMahasiswa. 3. Hindari menggunakan identiier yang sangat mirip dalam satu kode program. Misalnya, totalHarga dengan total_harga. Hindari juga dua atau lebih variabel yang hanya berbeda di kapitalisasi seperti totalharga dan totalHarga. 4. Hindari identiier yang terlihat mirip, misalnya karakter I’, 1’, dan l’ terlihat sangat mirip satu sama lain. Catatan karakter yang disebutkan ialah huruf i kapital, angka 1, dan huruf L non-kapital. 5. Identiier haruslah bersifat mnemonic. Untuk variabel, artinya identiier variabel tersebut harus menunjukkan isi dari variabel tersebut. Untuk fungsi, identiier menunjukkan apa yang dilakukan oleh fungsi 7 Algoritma dan Pemrograman 157 6. Dalam dunia pemrograman, ada beberapa nama variabel yang menjadi kebiasaan untuk dipakai, misalnya nama variabel untuk mengunjungi elemen tabel, dipakai indeks i, j, dan k. 7. Konstanta dinamai dengan huruf kapital. Misalnya, PI. 3 Tipe Data Komputer dapat mengolah data yang beragam. Pada dasarnya, data yang diolah oleh komputer, baik berupa numerik ataupun karakter, akan disimpan dalam bentuk biner. Oleh karena itu, nilai yang kalian masukkan dalam komputer pastilah akan disimpan dalam bentuk biner. Program perlu mengetahui bagaimana bilangan biner dibaca sehingga diperlukan suatu mekanisme untuk memberi tahu program tentang data yang kita simpan pada variabel tersebut. Hal ini diakomodir melalui tipe data. Suatu tipe data akan memiliki nama tipe, jenis data yang disimpan, dan rentang yang berbeda. Pada bahasa C, terdapat beberapa tipe data dasar yang dapat digunakan Tabel Tabel Beberapa Tipe Data Pada Bahasa C Beserta Ukuran Memori dan Rentang Nilainya Nama Tipe Jenis Data Ukuran Memori Rentang int Bilangan bulat 4 byte hingga short Bilangan bulat 2 byte -32768 hingga 32767 long Bilangan bulat 8 byte hingga loat Bilangan riil 4 byte hingga double Bilangan riil 8 byte hingga char Karakter* 1 byte -127 hingga 128 * Seperti yang termuat pada kode ASCII Perhatikan bahwa rentang yang diberikan memungkinkan nilai negatif hingga positif, atau disebut tipe data signed. Apabila kalian menambahkan kata kunci unsigned di depan tipe data, tipe data tersebut hanya akan menampung bilangan positif dengan rentang dari 0 hingga 2jumlah bit - 1. Praktik Baik Pemrograman Gunakan tipe data yang sesuai dengan kebutuhan kalian. Sebagai contoh, saat mengolah data usia manusia dalam satuan tahun, kalian cukup menggunakan tipe data short yang memerlukan memori lebih kecil. Ketika kalian nanti membuat program yang mengolah dan menyimpan data dengan jumlah yang sangat besar, praktik ini dapat membuat program kalian berjalan dengan kebutuhan memori yang lebih eisien. 158 Informatika SMA Kelas X 4 Variabel Pada matematika, kalian mengenal variabel sebagai sebuah wadah untuk menyimpan suatu nilai. Variabel pada program memiliki fungsi yang sama. Nilai yang diberikan pada sebuah variabel akan disimpan di memori komputer. Komputer memberikan alamat pada lokasi memori tersebut yang sulit diingat oleh manusia. Oleh karena itu, variabel diberikan nama simbolik yang mudah untuk diingat oleh kalian dengan menggunakan identiier. Dalam bahasa C, variabel perlu dideklarasikan dengan memberikan tipe data dan identiiers sebelum dapat digunakan. Deklarasi dapat dilakukan dengan menggunakan pernyataan berikut ; Pada saat deklarasi, variabel juga dapat diberikan nilai awal, misalnya dalam bentuk = ; Variabel dengan tipe yang sama dapat dideklarasikan secara ringkas seperti , ; Beberapa contoh untuk mendeklarasikan variabel dapat dilihat pada Tabel Tabel Beberapa Contoh Deklarasi Variabel Tipe Data Identiier Deklarasi Deklarasi dengan Nilai Awal int totalHarga int totalHarga; int totalHarga = 150000; short usia short usia; short usia = 29; long jumlahAtom long jumlahAtom; long jumlahAtom = 9123151252214; loat jarak loat jarak; loat jarak = double galat double galat; double galat = char huruf char huruf; char huruf = `a`; Deklarasi secara ringkas misalnya dapat dilakukan seperti berikut int panjang = 1, lebar = 2, luas; loat alas, sisi, volume; Tempat deklarasi variabel akan berpengaruh pada penggunaan variabel tersebut. Apabila deklarasi variabel dilakukan di dalam sebuah fungsi, variabel tersebut hanya dapat digunakan di dalam fungsi tersebut. Variabel seperti ini disebut variabel lokal. Apabila deklarasi dilakukan di luar fungsi, variabel tersebut akan dapat diakses di bagian program mana pun. Variabel ini disebut variabel 7 Algoritma dan Pemrograman 159 5 Konstanta Berbeda dengan variabel yang nilainya dapat berubah, konstanta tidak dapat diubah. Saat dideklarasikan, nilai dari konstanta diberikan dan tidak dapat diubah kembali. Apabila kalian memaksa mengubah konstanta, kompilator akan memberikan pesan kepada kalian. Penggunaan konstanta yang lazim ialah untuk menyimpan nilai konstan seperti pi π, rho ρ, dan konstanta lainnya yang lazim digunakan. Konstanta dapat dideklarasikan seperti variabel, dengan menambah kata kunci const di depan tipe data. Nilai awal harus langsung diberikan pada saat deklarasi. Misalnya, deklarasi konstanta pi dapat dilakukan sebagai berikut const loat PI = 6 Membaca dan Menulis Untuk dapat membantu manusia, program harus dilengkapi dengan kemampuan berkomunikasi. Ada banyak cara untuk berkomunikasi lewat antarmuka pengguna user interface, tetapi bentuk komunikasi dasar yang perlu kalian kuasai komunikasi lewat command line interface CLI. Lewat CLI, kalian dapat berkomunikasi dengan sebuah program menggunakan teks, dan program pun akan merespons kalian dengan menggunakan teks. Dengan kata lain, interaksi menggunakan CLI sangat bergantung pada kemampuan program untuk membaca data yang diberikan oleh pengguna dan menuliskan hasil pekerjaan. Agar dapat membaca dan menulis, program yang kalian buat perlu menggunakan header yang memuat fungsi masukan-keluaran standar menggunakan CLI. Dua fungsi utama yang dapat digunakan ialah scanf untuk membaca dan printf untuk menulis. Untuk lebih jelasnya, perhatikanlah contoh program berikut. Pada program baca tulis berikut, kalian akan memerintahkan komputer untuk membaca suatu bilangan dan menuliskannya kembali. /* Program Baca Tulis 3 */ include int main{ int bilangan; scanf"%d", &bilangan; printf"Bilangan yang dibaca bernilai "; printf"%d.\n", bilangan; return 0; } Pada baris keempat, program memanggil fungsi scanf untuk membaca masukan dari pengguna. Pada saat baris ini dieksekusi, program akan berhenti hingga pengguna memasukkan suatu bilangan dan menekan tombol Informatika SMA Kelas X Perhatikan bahwa pada baris tersebut, fungsi scanf menerima dua buah parameter, yaitu %d yang merupakan spesiikasi format format speciier dan &bilangan yang merupakan variabel untuk menampung nilai yang dibaca. Artinya, pada saat kalian menekan enter, program akan membaca nilai 10 yang kalian masukkan sebagai sebuah nilai bertipe data int, dan akan menyimpannya ke variabel bilangan. Di depan bilangan, terdapat tanda ampersand & yang wajib digunakan untuk melakukan pembacaan. Makna dari simbol & akan dijelaskan lebih detail pada kesempatan lain. Setiap tipe data memiliki spesiikasi format yang dapat digunakan untuk menjelaskan jenis data kepada program. Ingat, program membaca dan menyimpan semua data sebagai bilangan biner. Spesiikasi format yang digunakan untuk tipe data pada bahasa C dapat dilihat pada Tabel Tabel Spesiikasi Format pada Bahasa C Nama Tipe Spesiikasi Format Signed Spesiikasi Format Unsigned int %d %ud short %d %ud long %ld %uld loat %d %ud double %ld %uld char %c %uc Baris kelima dan keenam adalah pernyataan untuk menulis menggunakan fungsi printf. Pada baris kelima, kalian memerintahkan program untuk mencetak suatu kalimat yang diapit dengan tanda petik ganda. Pada baris keenam, kalian memerintahkan program untuk mencetak nilai dari variabel bilangan. Mirip seperti fungsi scanf, kalian menemukan adanya spesiikasi format dan variabel. Bedanya, di depan variabel, tidak perlu ada tanda ampersand. Saat dipanggil, program akan mencetak nilai dari variabel bilangan dengan format yang diberikan. Hanya saja, ada karakter baru yang muncul, yaitu \n. Ini adalah escape sequence yang digunakan untuk membuat garis baru, persis seperti ketika kalian menekan tombol enter pada aplikasi pengolah kata. Data yang ditulis setelah \n akan dicetak di baris yang baru oleh program. Ada beberapa escape sequence lain yang dapat digunakan, yaitu \n newline \t tab \v vertical tabBab 7 Algoritma dan Pemrograman 161 \f new page \b backspace \r carriage return \n newline \a beep, bell \\ garis miring \" tanda kutip ganda \` tanda kutip Tentunya, kalian juga menggunakan fungsi printf untuk mencetak tipe data lain, misalnya bilangan riil. Pada bilangan riil, kalian dapat membatasi jumlah digit di belakang desimal dengan memodiikasi spesiikasi format. Perhatian kode berikut yang akan menampilkan angka ke layar. /* Program Cetak Desimal */ include int main { loat x= printf"%.3f\n", x; return 0; Kalian juga dapat membaca atau menulis dua atau lebih nilai sekaligus seperti pada contoh berikut /* Program Cetak Bilangan Bulat dan Desimal */ include int main { int a, b; loat c; scanf"%d %d %f", &a, &b, &c; printf"%d %d %.3f\n", a, b, c; return 0; } Ketikkan kode tersebut, berikan masukan 10 10 dan perhatikan hasilnya. 162 Informatika SMA Kelas X Praktik Baik Pemrograman Seiring dengan makin kompleksnya program yang kalian buat, ada beberapa praktik baik yang dapat kalian lakukan. 1. Belajar menulis kode program memerlukan kemampuan bereksperimen dan mencoba hal baru. Karena keterbatasan halaman, buku ini tidak mungkin memberikan contoh selengkap mungkin untuk mencoba berbagai kemungkinan dalam menulis kode program. Oleh karena itu, kalian perlu melakukan eksperimen dan mencoba memodiikasi kode program yang telah diberikan. Kalian dapat membaca dokumentasi bahasa C yang dapat diakses di ketika menemukan suatu konsep ingin kalian pelajari lebih lanjut. 2. Jangan takut apabila program kalian gagal berjalan karena hal itu sangat wajar ketika belajar menulis kode program. Bahkan, pemrogram senior pun masih bisa melakukan kesalahan. Jadikan hal tersebut sebagai pemacu untuk mencari tahu hal yang membuat program kalian gagal berjalan. Dari situ, kalian akan menambah pengalaman dan di masa depan tidak akan kembali melakukan kesalahan yang sama. 3. Buat kode program kalian lebih mudah dibaca dengan menggunakan whitespace atau ruang kosong. Whitespace adalah istilah bagi karakter yang tidak tampak di layar contoh spasi, tab, dan newline. Whitespace dapat digunakan untuk membuat kode kalian lebih mudah dibaca dengan memberikan jarak pada kode. Jarak biasanya diberikan antara kumpulan baris kode yang memiliki peran berbeda. Contoh-contoh kode program yang diberikan pada unit ini disajikan dengan menggunakan whitespace yang dapat kalian adopsi. Semangat terus untuk bereksperimen! 3. Belajar Menulis Program Sambil Menyelesaikan Masalah Pada unit ini, aktivitas Ayo, Kita Berlatih diberikan sebagai bentuk latihan menyelesaikan suatu problem yang diberikan dengan pemrograman. Karena unit ini bersifat pengenalan pada kegiatan menulis kode program coding, problem yang diberikan pada kalian diberikan dalam bentuk spesiikasi yang telah terstruktur. Pada kenyataannya, ketika kalian membuat program untuk menyelesaikan suatu permasalahan nyata, kalian perlu membuat sendiri spesiikasi dari program yang akan dibuat. Kalian perlu menetapkan sendiri tujuan dari program, format masukan, serta format keluaran dari program. Aktivitas ini akan kalian lakukan di akhir unit, tetapi sekarang kalian dapat fokus membuat program berdasarkan spesiikasi yang telah diberikan. Selain itu, pada unit pratik lintas bidang PLB, kalian akan diajak untuk membuat sebuah program untuk menyelesaikan permasalahan di lingkungan tempat kalian 7 Algoritma dan Pemrograman 163 Pada setiap aktivitas, kalian akan diberikan setidaknya satu permasalahan untuk diselesaikan dengan menggunakan konsep yang telah diberikan pada buku. Bentuk permasalahan tersebut akan diberikan dengan struktur pada Tabel Tabel Spesiikasi Program yang Diberikan pada Problem Latihan Bagian Penjelasan Nomor dan Nama Problem Identitas dari permasalahan. Deskripsi Soal Memberikan konteks permasalahan yang perlu diketahui oleh siswa dalam membuat program. Format Masukan Memberikan susunan data yang diberikan pada program oleh pengguna, beserta ukuran dari data tersebut. Format Keluaran Memberikan susunan informasi yang akan dikeluarkan oleh program kepada pengguna. Contoh Masukan Memberikan contoh data yang dimasukkan. Contoh Keluaran Memberikan contoh informasi yang dikeluarkan program berdasarkan data yang dimasukkan. Bagian format keluaran dan format masukan menjadi penting karena autograder jika kalian menggunakan ini di kelas akan memeriksa kode program kalian dengan sangat ketat berdasarkan pasangan masukan-keluaran yang telah disiapkan, atau disebut kasus uji test case. Apabila program kalian membaca Sumber Dokumen Kemendikbud,2021164 Informatika SMA Kelas X atau menulis dengan format yang salah, auto-grader tidak akan menganggap program kalian benar. Untuk membantu kalian memahami format tersebut, satu atau lebih contoh masukan dan keluaran akan diberikan. Praktik Baik Pemrograman Problem akan memberikan beberapa kasus uji. Akan tetapi, bukan berarti kalian hanya perlu mengecek program kalian dengan kasus uji yang ada di buku. Kalian perlu menguji program kalian dengan menggunakan berbagai kasus uji, yang kalian buat sendiri. Beberapa problem dirancang dengan adanya jebakan yang dapat membuat program kalian gagal berjalan pada kasus tertentu. Misalnya, ketika masukan yang diberikan memiliki rentang yang besar atau adanya kondisi yang dapat menyebabkan program berhenti. Ayo, Kita Berlatih 3 Menulis dan Memperbaiki Program Problem 1 Belajar Baca Tulis Tingkat Kesulitan Deskripsi Soal Saatnya kalian berlatih untuk menulis kode program. Kalian akan membuat program untuk membaca tiga jenis bilangan dan mencetaknya kembali ke layar dengan format yang diberikan. Format Masukan Satu baris yang berisi tiga buah bilangan yang dipisahkan oleh spasi. Bilangan pertama merupakan bilangan bulat positif dengan nilai maksimum 10,000. Bilangan kedua merupakan bilangan riil positif dengan nilai maksimum Bilangan ketiga merupakan bilangan bulat positif dengan nilai maksimum 100. Format Keluaran Ada tiga baris. Baris pertama berisi bilangan pertama. Baris kedua berisi bilangan kedua dengan dua bilangan di belakang desimal. Baris ketiga berisi bilangan ketiga. Contoh Kasus Uji Masukan Keluaran 10 30 10 30 Problem 2 Bantulah Intan! Tingkat Kesulitan Intan ingin membuat program untuk mencetak kalimat berikut ke layer. Andi berkata, "Satu, dua, tiga!". Lalu, Andi pun menendang bola tersebut. Akan tetapi, Intan tidak berhasil mencetak kalimat tersebut ke layar dengan persis sama. Berikut ini program yang ditulis oleh 7 Algoritma dan Pemrograman 165 include int main{ printf"Andi berkata, "Satu, dua, tiga!"."; printf"Lalu, Andi pun menendang bola tersebut.\n"; return 0; } Perbaikilah program tersebut hingga berhasil mencetak kalimat yang benar! Problem 3 Salah Baca Tingkat Kesulitan Temukanlah kesalahan pada kode program berikut, kemudian perbaikilah kode berikut hingga dapat menghasilkan jawaban yang benar. include int main{ scanf"%c %c”, a, b; printf"Bilangan pertama %c\d", a; printf"Bilangan kedua %c\d", b; return 0; } Jawablah pertanyaan berikut dalam Lembar Releksi pada Buku Kerja. Jangan lupa mencatat kegiatan dalam Jurnal. 1. Pada bagian ini, kalian mendapatkan banyak konsep baru tentang program. Seperti apa perasaan kalian saat ini? 2. Apakah kalian bereksperimen dengan contoh-contoh yang diberikan di buku? Jika ya, pengetahuan paling menarik apa yang kalian temukan dari hasil eksperimen tersebut? 3. Pada saat memperbaiki program, apakah kalian dapat menemukan kesalahan pada program dengan mudah? Apakah kalian sebelumnya pernah melakukan kesalahan tersebut pada saat menulis program? 4. Bagaimana rencana kalian untuk menulis program setelah pertemuan ini? Apakah kalian sudah menentukan rencana berlatih secara mandiri agar dapat menulis program dengan lebih lancar dan terampil? 4. Ekspresi Ekspresi merupakan bagian yang tidak terpisahkan dari program. Di dalam matematika, ekspresi terdiri atas kombinasi beberapa operand dan operator yang memiliki makna. Kalian telah terbiasa menulis ekspresi pada matematika, 2 Pengurangan a - b - 1 - b Perkalian ab * a * b Pembagian a/b / a / b Modulo a mod b % a % b Penting Hati-hati dalam melakukan pembagian pada bahasa C. Bahasa C sangat sensitif terhadap tipe data sehingga pembagian dua buah bilangan bulat akan menghasilkan bilangan bulat. Sebagai contoh, 10/3 pada kode program C saat dieksekusi akan menghasilkan nilai 3. atau mengurangi nilai suatu variabel - dengan angka 1. Operator ini dapat diletakkan sebelum preix atau setelah postix operand. Pada penulisan dalam bentuk preix, perubahan nilai akan langsung dilakukan pada nilai variabel sebelum nilai variabel tersebut digunakan pada ekspresi. Sebagai contoh, setelah dua baris kode berikut dijalankan, nilai x akan bernilai 2 dan y akan bernilai 1.; d. Operator Logika, Relasional, dan Kesamaan Di samping operator aritmatika, juga dikenal operator logika, relasional, dan kesamaan. Ekspresi yang menggunakan operator ini akan memiliki nilai benar true atau dalam bahasa C bernilai tidak sama dengan 0 atau salah false atau bernilai 0. Operator pada kategori ini memiliki peran yang sama dengan operator logika, relasional, dan kesamaan pada mata pelajaran Matematika. Operator tersebut pada bahasa C dapat dilihat pada Tabel Tabel Operator Logika, Relasional, dan Kesamaan Pada Bahasa C Aljabar Bahasa C Contoh Makna Operator Kesamaan / Pertidaksamaan = == a == b Apakah nilai a sama dengan b? ≠ != a != b Apakah nilai a tidak sama dengan b? Operator Relasional > > a > b Apakah a lebih besar dari b? = a >= b Apakah a lebih besar atau sama dengan b? ≤ 0 && b > 0 Apakah a dan b lebih besar daripada 0? OR a > 0 b > 0 Apakah a atau b lebih besar daripada 0? NOT ! !a > 0 Apakah a tidak lebih besar daripada 0? e. Operator Kondisional Ternary Operator kondisional adalah operator ternary yang akan mengembalikan nilai berdasarkan suatu kondisi tertentu. Misalnya, kalian ingin mengembalikan nilai 1 jika suatu ekspresi a c 2 a >= b b != c 3 b == a && c > a 4 b >= a && b a Problem 5 Percantik Kode Program Ini! Tingkat Kesulitan Uh… Kalian baru saja mendapatkan tugas untuk mempelajari sebuah kode program. Akan tetapi, kode program yang kalian terima tidak ditulis dengan menerapkan praktik baik pemrograman yang telah kalian pelajari sehingga sangat sulit untuk dipahami! Apalagi ternyata, saat kalian jalankan, program ini tidak bisa berjalan dengan benar. include int main{ loat jr2; loat l; loat O; scanf"%f", jr2; l = O = 2* printf"%.2f %.2f\n",l, O; return 0; } Sebagai seorang siswa teladan yang telah mempelajari praktik baik pemrograman, perbaikilah program di atas ke dalam bentuk yang menerapkan praktik baik pemrograman. Kemudian, jika ada, perbaikilah program tersebut sehingga dapat berjalan dengan benar. Setelah itu, apakah kalian dapat menebak apa yang dilakukan oleh program tersebut?Bab 7 Algoritma dan Pemrograman 171 Jawablah pertanyaan berikut dalam Lembar Releksi pada Buku Kerja. Jangan lupa mencatat kegiatan dalam Jurnal. 1. Pada bagian ini, kalian mendapatkan banyak konsep baru tentang program. Seperti apa perasaan kalian saat ini? 2. Apakah kalian bereksperimen dengan contoh-contoh yang diberikan di buku? Jika ya, pengetahuan paling menarik apa yang kalian temukan dari hasil eksperimen tersebut? 3. Pada saat mengerjakan Problem 3, apakah kalian menyadari bahwa tipe data int tidak dapat menampung nilai hingga 10 miliar? Tipe data apa yang seharusnya digunakan? 4. Apa yang kalian rasakan saat memperbaiki program yang diberikan pada Problem 5? Apakah kalian makin menyadari pentingnya menerapkan praktik baik pemrograman? 5 Struktur Kontrol Keputusan Pernahkah kalian ingin pergi ke sebuah tempat tertentu dengan menggunakan moda transportasi? Keputusan menggunakan sebuah moda transportasi untuk bepergian biasanya tergantung pada sebuah keadaan tertentu. Misalnya, apabila kondisi hujan, maka kalian akan lebih memilih menggunakan mobil daripada menggunakan sepeda motor, namun apabila cuaca sedang cerah dan jarak yang ditempuh adalah dekat, maka kalian akan memilih menggunakan sepeda motor. Komputer merupakan alat yang membantu banyak aktivitas manusia. Pada dasarnya, komputer menjalankan perintah dari manusia. Perintah-perintah tersebut dituangkan secara tertulis dalam sebuah aturan tertentu yang disebut sebagai kode program yang bertujuan untuk mengatur bagaimana komputer harus bertindak untuk menyelesaikan sebuah permasalahan tertentu. Hal ini termasuk juga dalam proses pengambilan keputusan, seperti halnya dalam contoh pemilihan moda transportasi di atas. Pada bagian ini kita akan mempelajari bagaimana pengambilan keputusan dilakukan dalam sebuah program. Istilah yang sering digunakan untuk ini adalah kondisional. Apa itu kondisional? Secara sederhana, kondisional adalah sebuah bentuk pernyataan “jika ..., maka ...”. Pernyataan ini dibuat untuk mengekspresikan sebuah aksi berdasarkan sebuah kondisi tertentu. Sebagai contoh, ketika kita diminta untuk mengklasiikasikan sebuah bilangan merupakan bilangan ganjil atau genap, maka dapat kita membuat sebuah aturan sebagai berikut 1. Jika bilangan tersebut habis dibagi 2, maka bilangan tersebut termasuk bilangan genap. 2. Jika bilangan tersebut tidak habis dibagi 2, maka bilangan tersebut termasuk bilangan Informatika SMA Kelas X Proses tersebut merupakan salah satu ilustrasi dari sebuah pernyataan kondisional. Pada bahasa pemrograman C, ada beberapa jenis pernyataan kondisional, misalnya pernyataan if-else, pernyataan switch-case, dan pernyataan yang bersarang. a. Struktur Kontrol Keputusan If - Else Ada beberapa variasi penggunaan struktur kontrol keputusan If - Else. Bentuk umum dari pernyataan if adalah sebagai berikut. if kondisi { ; ; .... } Bagian kondisi dapat diisi dengan ekspresi yang menghasilkan nilai benar atau salah. Apabila kondisi menghasilkan nilai benar, semua pernyataan yang berada di dalam struktur kontrol keputusan tersebut akan dieksekusi oleh program. Sekarang, perhatikan program berikut, dan lakukanlah penelusuran untuk memeriksa keluaran dari program tersebut. /* Program Membandingkan Bilangan */ include int main{ int a = 1, b = 1; if a == b { printf"a sama dengan b \n"; } return 0; } Program tersebut menggunakan struktur keputusan pada baris 6-8. Ekspresi yang digunakan pada bagian kondisi ialah a==b, sedangkan pernyataan yang dieksekusi jika kondisi benar terdapat pada baris 7. /* Program Membandingkan Bilangan */ include int main{ int a = 1, b = 1; if a == b printf"a sama dengan b \n"; return 0; } Struktur kontrol keputusan dapat menambahkan blok else yang akan dieksekusi apabila kondisi bernilai salah. Bab 7 Algoritma dan Pemrograman 173 if kondisi ; else ; Misalnya, untuk mengecek apakah suatu bilangan merupakan bilangan ganjil atau genap, kalian dapat memanfaatkan struktur if-else sebagai berikut. /* Program Cek Ganjil-Genap */ include int main{ int bilangan; scanf"%d", &bilangan; if bilangan % 2 == 0 printf"Bilangan Genap\n"; else printf"Bilangan Ganjil\n"; return 0; } Apabila kondisi makin kompleks, struktur if-else ini dapat dikembangkan kembali menjadi if kondisi ke-1 else if kondisi ke-2 ..... else if kondisi ke-n else b. Struktur Kontrol Keputusan Switch-Case Struktur kontrol keputusan yang memiliki cabang banyak dapat dibuat lebih sederhana menggunakan struktur switch-case. Bentuk umum dari struktur ini ialah sebagai berikut. switchswitch_expr { case constant expr1 ; ; break; case constant expr2 ; ; break; ..... default ; ; break; }174 Informatika SMA Kelas X Sebagai contoh, perhatikan kode program berikut include int main { int bilangan, sisaPembagian; scanf"%d", &bilangan; sisaPembagian = bilangan % 4; switch sisaPembagian { case 0 printf"Habis Dibagi\n"; break; case 1 printf"Sisa Satu\n"; break; case 2 printf"Sisa Dua\n"; break; case 3 printf"Sisa Tiga\n"; break; } return 0; } Pada program di atas, struktur switch-case memeriksa nilai yang ada pada variabel sisa pembagian. Karena nilai tersebut merupakan sisa pembagian sebuah bilangan dengan empat, hanya ada empat kemungkinan nilai, yaitu 0 sampai 3. Setiap kemungkinan nilai tersebut diperiksa melalui empat buah struktur case yang akan mencetak kalimat ke layar yang sesuai dengan sisa pembagian yang diperoleh. c. Struktur Kontrol Keputusan Bersarang Sebuah struktur kontrol dapat menjadi bagian dari suatu struktur kontrol lain. Hal ini disebut nested atau tersarang. Pada contoh berikut, diberikan sebuah kode program yang memiliki struktur kontrol keputusan bersarang. Telusurilah program tersebut jika program diberi masukan 1000 dan 10. /* Program dengan IF tersarang */ include int main { int a, b; scanf"%d %d", &a, &b; if b!=0 if a/b>10 printf"1\n"; else printf"-1\n"; return 0; } Ayo, Kita Berlatih 5 Latihan Struktur Kontrol Keputusan Problem 1 Membagi Bilangan Tingkat Kesulitan Buatlah sebuah program dari Diagram Alir 3 Membagi bilangan yang tersedia pada bagian algoritma di awal unit ini. Bab 7 Algoritma dan Pemrograman 175 Problem 2 Bilangan Bulat Positif Tingkat Kesulitan Deskripsi Soal Buatlah program untuk mengecek apakah sebuah bilangan bulat adalah bilangan bulat positif. 1. Jika bilangan bulat tersebut merupakan bilangan bulat positif, maka cetaklah “Bilangan Bulat Positif ”. 2. Jika bilangan bulat tersebut bukan merupakan bilangan bulat positif, maka jangan cetak apa pun. Format Masukan Sebuah bilangan bulat n. Nilai n berada pada rentang -100 0; printf"Anda telah memasukkan bilangan bulat positif\n"; return 0; } d. Struktur Kontrol Perulangan Bersarang Sama seperti struktur kontrol keputusan, kalian dapat meletakkan struktur kontrol perulangan secara bersarang. Misalnya, pada contoh program berikut yang akan mencetak suatu pola berbentuk persegi menggunakan karakter asterisk *’. { printf"%d", j; if j==n printf"\n"; else printf" "; } } return 0; } Pada program tersebut, kalian dapat melihat bahwa nilai awal counter j akan berpengaruh pada nilai counter i. Saat dijalankan, keluaran dari program tersebut ialah184 Informatika SMA Kelas X 1 2 3 4 5 2 3 4 5 3 4 5 Tentunya, tidak ada batasan jumlah struktur yang kalian buat secara bersarang. Kalian pun juga dapat memadukan struktur perulangan dengan struktur keputusan sehingga menghasilkan program yang lebih kompleks. Ayo, Kita Berlatih 6 Latihan Struktur Kontrol Perulangan Problem 1 Menghitung Mundur Tingkat Kesulitan Buatlah kode program berdasarkan Diagram Alir 4 pada bagian algoritma untuk mencetak bilangan secara hitung mundur. Problem 2 Menghitung Rataan Tingkat Kesulitan Deskripsi Soal Buatlah sebuah program yang akan menghitung rata-rata dari n buah bilangan. Format Masukan Baris pertama berisi sebuah bilangan bulat positif n yang menunjukkan banyaknya data, sedangkan baris berikutnya berisi n buah bilangan bulat. Nilai n maksimal 1000, dan besarnya bilangan yang harus dihitung rata-ratanya berada pada rentang -1 miliar hingga 1 miliar. Format Keluaran Nilai rata-rata dari n buah bilangan masukan. Nilai rata-rata tersebut dituliskan sebagai bilangan riil dengan dua angka di belakang titik desimal. Contoh Kasus Uji Masukan Keluaran 10 20 30 Problem 3 Mencari Bilangan Terbesar Tingkat Kesulitan Buatlah kode program berdasarkan Diagram Alir 5 pada bagian algoritma untuk mencari bilangan terbesar dari sekumpulan bilangan yang diberikan. Problem 4 Membuat Mesin Sortir Kembang Kol Tingkat Kesulitan Deskripsi Soal Kalian akan membantu seorang petani kembang kol untuk menyortir kembang kol yang telah dipanen berdasarkan ukurannya. Kembang kol tersebut akan dikelompokkan menjadi berukuran kecil 200 gram per buah. Selama ini, petani tersebut menyortir kembang kol menggunakan tenaga manusia. Karena kalian telah memiliki kemampuan untuk membuat program
Adatiga cara penulisan algoritma, yaitu : 1. Structured English (SE) SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma yang ditulis menggunakan SI pada