Bahan Ajar Pemrograman Dasar Smk

Sreg pendedahan kali ini akan membahas materi adapun pemrograman dasar untuk Kelas X SMK TKJ, RPL dan Multimedia. Berikut ini adalah pembahasannya, selamat membiasakan.

Algoritma dan Pemrograman

1.  Apakah Itu Algoritma

Ditinjau dari dasar-usul katanya, kata Algoritma koteng mempunyai album yang aneh. Anak adam sekadar menemukan kataalgorismyang berarti proses cak menjumlah dengan biji arab. Sira dikatakanalgoristjikalau Anda menotal menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun jadinya invalid memuaskan. Balasannya para pandai ki kenangan matematika menemukan asal kata tersebut yang berpunca dari nama penulis daya arab yang populer yaitu Abu Ja’far Muhammad Anak lelaki Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadiAlgorism.Al-Khuwarizmi menggambar kancing nan berjudulKitab Al Jabar Wal-Muqabalayang artinya “Buku pemugaran dan penyunatan” (The book ofrestoration and reduction). Dari judul buku itu kita juga memperoleh akar alas kata “Aljabar” (Algebra). Transisi kata darialgorismmenjadialgorithm muncul karena prologalgorismburuk perut dikelirukan denganarithmetic, sehingga akhiran–smberubah menjadi–thm.Karena perhitungan dengan angka Arab sudah menjadi hal nan seremonial, maka lambat laun alas kataalgorithm berangsur-angsur dipakai umpama metode perhitungan (komputasi) secara mahajana, sehingga kehilangan makna kata aslinya. Internal bahasa Indonesia, kataalgorithmdiserap menjadialgoritma.

2.  Definisi Algoritma

“Algoritma yaitu urutan awalan-langkah sensibel penyelesaian masalah nan disusun secara sistematis dan sensibel”.Katalogismerupakan kata kuncidalam algoritma. Langkah-langkah dalam algoritma harus logis dan harusdapat ditentukan bernilai salah ataupun benar.N domestik beberapa konteks, algoritma ialah spesifikasi urutan langkah untukmelakukan pekerjaan tertentu. Pertimbangan internal pemilihan algoritmaadalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikankeluaran nan dikehendaki berusul sejumlah akuisisi yang diberikan. Tidakpeduli semolek apapun algoritma, kalau memberikan keluaran yang riuk, pastilah algoritma tersebut bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus memafhumi seberapa baik hasil yang dicapai oleh algoritma tersebut. Situasi ini penting terutama pada algoritma lakukan menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil nan hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mana tahu dengan nilai nan sebenarnya.

Ketiga adalah kesangkilan algoritma. Efisiensi algoritma bisa ditinjau bersumber 2 hal ialah efisiensi musim dan memori. Meskipun algoritma memberikan keluaran yang benar (paling merentang), saja jika kita harus menunggu berjam-jam lakukan mendapatkan keluarannya, algoritma tersebut biasanya enggak akan dipakai, setiap orang menginginkan keluaran yang cepat. Seperti dengan memori, semakin lautan memori nan terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma nan berbeda buat menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam merumuskan algoritma, tentunya kita mengasakan keluaran yang sederajat. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

3.  Beda Algoritma dan Program

Program adalah himpunan pernyataan komputer, sedangkan metode dan tahapan berstruktur dalam programa yakni algoritma. Acara ditulis dengan menggunakan bahasa pemrograman. Kaprikornus dapat disebut bahwa program yakni suatu implementasi dari bahasa pemrograman. Bilang pakar memberi formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma gandeng sangat erat puas sebuah program. Algoritma yang baik tanpa seleksi struktur data yang tepat akan takhlik program menjadi kurang baik, demikian pula sebaliknya.

Pembuatan algoritma memiliki banyak keuntungan di antaranya :

  • Pembuatan ataupun penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma bebas semenjak bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya,outputyang akan dikeluarkan sama karena algoritmanya sama.

Beberapa keadaan yang mesti diperhatikan dalam membuat algoritma :

  • Teks algoritma ampuh deskripsi langkah-persiapan penyelesaian penyakit. Deskripsi tersebut boleh ditulis internal notasi apapun asalkan mudah dimengerti dan dipahami.
  • Tidak ada notasi yang normal n domestik penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  • Setiap individu bisa mewujudkan aturan penulisan dan notasi algoritmik seorang. Hal ini dikarenakan referensi algoritma tidak seperti mana pustaka programa. Namun, cak agar notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara masyarakat.
  • Notasi algoritmik enggak notasi bahasa pemrograman, karena itupseudocoden domestik notasi algoritmik tidak bisa dijalankan oleh komputer. Mudahmudahan bisa dijalankan oleh komputer,pseudocodeintern notasi algoritmik harus ditranslasikan alias diterjemahkan ke dalam notasi bahasa pemrograman nan dipilih. Perlu diingat bahwa orang yang menulis program dulu terikat privat sifat tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan bagi membantu kita dalam mengkonversikan suatu permasalahan ke intern bahasa pemrograman.
  • Algoritma adalah hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa keadaan yang harus diperhatikan plong translasi tersebut, yaitu :

a. Pendeklarasian variabel

Bakal mengetahui dibutuhkannya pendeklarasian variabel dalam pemanfaatan bahasa pemrograman apabila    lain semua bahasa pemrograman membutuhkannya.

b.  Pemilihan diversifikasi data

Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka mesti hal ini dipertimbangkan pada saat seleksi tipe data.

c.  Eksploitasi instruksi-instruksi

Beberapa instruksi mempunyai kegunaan yang sama belaka masing-masing memiliki kelebihan dan kesuntukan nan farik.

d.  Aturan tata bahasa

Bilamana menuliskan program kita terbujuk dengan aturan sintaksis kerumahtanggaan bahasa pemrograman nan akan digunakan.

e.  Tampilan hasil

Pada detik membuat algoritma kita lain merefleksikan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan momen mengkonversikannya menjadi program.

f.  Cara pengoperasiancompileratauinterpreter.

Bahasa pemrograman nan digunakan termasuk privat kelompokcompilerataupuninterpreter.

4.  Algoritma Merupakan Dalaman Hobatan Informatika

Algoritma adalah jantung ilmu komputer alias informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma majuh identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari juga banyak terdapat proses yang dinyatakan dalam satu algoritma. Kaidah-cara menciptakan menjadikan kue ataupun masakan yang dinyatakan dalam satu resep juga bisa disebut sebagai algoritma. Sreg setiap siasat pelahap ada urutan langkah-langkah menciptakan menjadikan masakan. Bila langkah-langkahnya tidak logis, tak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba satu resep masakan akan membaca suatu per satu awalan-ancang pembuatannya dulu sira mengerjakan proses sesuai yang dia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut bisa kasatmata manusia, komputer, manusia mesin alias alat-perkakas elektronik lainnya. Pemroses melakukan satu proses dengan melaksanakan alias “mengeksekusi” algoritma yang menjabarkan proses tersebut.

Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yakni aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa kampanye-persuasi tersebut dapat untuk sehingga boleh menyebabkan kejadian.

Melaksanakan algoritma berarti mengerjakan persiapan-langkah di internal algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak takhlik kue berdasarkan kunci yang diberikan kepadanya, pianis memainkan lagu berdasarkan kusen not balok. Karena itu satu algoritma harus dinyatakan dalam bagan yang dapat dimengerti maka itu pemroses. Makara suatu pemroses harus:

  • Memafhumi setiap langkah kerumahtanggaan algoritma.
  • Berbuat operasi yang bersesuaian dengan langkah tersebut.

5.  Mekanisme Pelaksanaan Algoritma makanya Pemroses

Komputer hanyalah salah satu pemroses. Hendaknya bisa dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan acara. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan maka dari itu komputer.

Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang merenjeng lidah seperti ini: “program pengurutan data menggunakan algoritmaselection sort”. Ataupun tanya serupa ini: “bagaimana algoritma dan acara memvisualkan grafik tersebut?”. Jika Anda sudah lalu memahami konotasi algoritma yang mutakadim disebutkan sebelum ini, Anda dapat mengeluarkan kelebihan kata algoritma dan program. Algoritma adalah persiapan-langkah penyelesaikan masalah, sementara itu program merupakan realisasi algoritma dalam bahasa pemrograman. Program ditulis internal salah satu bahasa pemrograman dan kegiatan menciptakan menjadikan program disebut
pemrograman(programming). Khalayak nan menulis program disebutpemrograman (programmer).Tiap-tiap anju di dalam programa disebutpernyataanatauinstruksi.Bintang sartan, program tersusun atas sederetan instruksi. Bila satu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut tergarap komputer.

Secara garis besar komputer tersusun atas empat komponen terdepan yaitu, piranti perolehan, piranti tamatan, unit pemroses utama, dan ki kenangan. Unit pemroses utama (Central Processing Unit – CPU)adalah “otak” komputer, yang berfungsi berbuat propaganda-usaha dasar sama dengan aksi perbandingan, operasi perhitungan, operasi membaca, dan gerakan batik. Rekaman adalah komponen nan berfungsi menyimpan ataupun mengingatingat.

Nan disimpan di intern ki kenangan merupakan programa (berilmu operasi-manuver nan akan dikerjakan oleh CPU) dan data atau kenyataan (sesuatu yang diolah maka itu operasi-manuver). Piranti pemerolehan dan lepasan (I/Odevices)yaitu perlengkapan yang memasukkan data atau program ke dalam memori, dan perlengkapan yang digunakan komputer bikin mengkomunikasikan hasil-hasil aktivitasnya. Acuan piranti akuisisi antara lain, kayu kunci (keyboard), pemindai (scanner), dan cakram (disk).Teoretis piranti keluaran adalah, jib peraga (monitor), pencetak (printer), dan cakram.

Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke intern rekaman komputer. Ketika programa dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca semenjak piranti pemerolehan, disimpan di internal memori terlampau dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran ataupun mualamat, keluaran disimpan ke dalam ki kenangan, tinggal memori menuliskan keluaran tadi ke piranti lepasan (misalnya dengan menampilkannya di cucur monitor).

6.  Belajar Memprogram dan Belajar Bahasa Pemrograman

Belajar memprogram tidak seperti belajar bahasa pemrograman. Belajar memprogram adalah berlatih akan halnya metodologi separasi penyakit, kemudian menuangkannya dalam suatu notasi tertentu nan mudah dibaca dan dipahami. Padahal membiasakan bahasa pemrograman signifikan berlatih mempekerjakan suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasiancompiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut buat membentuk programa nan ditulis hanya kerumahtanggaan bahasa itu saja. Sampai saat ini terletak puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol,Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasisama dengan CSMP, Simscript, GPSS, Dinamo. Berlandaskan terapannya, bahasa pemrograman dapat digolongkan atas dua kerumunan raksasa :

  • Bahasa pemrograman bertujuan spesifik. Nan termasuk kelompok ini adalahCobol(untuk terapan dagang dan administrasi).Fortran(terapan komputasi ilmiah), bahasa invensi (terapan pemrograman mesin),Prolog(terapan kecendekiaan buatan), bahasa-bahasa simulasi, dan sebagainya.
  • Bahasa perograman bertujuan mahajana, yang dapat digunakan bakal berbagai petisi. Nan termasuk kelompok ini merupakan bahasaPascal, BasicdanC. Tentu saja pengalokasian ini tidak preskriptif. Bahasabahasabertujuan distingtif tidak berjasa tidak boleh digunakan bikin permintaan lain.Cobolmisalnya, dapat juga digunakan lakukan terapan ilmiah, cuma saja kemampuannya kurang. Nan jelas, bahasabahasa pemrograman yang berbeda dikembangkan bagi berbagai terapan yang farik pula.


Berdasarkan sreg apakah notasi bahasa pemrograman lebih “intim” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam :

  • Bahasa tingkat terbatas. Bahasa jenis ini dirancang moga setiap instruksinya langsung terjamah maka dari itu komputer, tanpa harus melampaui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi bermula memori, langsung memaklumi dan sambil mengamalkan operasinya. Bahasa tingkat minus berwatak terlambat, silam sederhana, orientasinya kian sanding ke mesin, dan elusif dipahami makhluk. Sedangkan bahasa reka cipta dimasukkan ke dalam gerombolan ini karena alasan notasi yang dipakai dalam bahasa ini bertambah dekat ke mesin, biarpun kerjakan melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
  • Bahasa tingkat tahapan, yang membuat pemrograman lebih mudah dipahami, bertambah “manusiawi”, dan menentang ke bahasa anak adam (bahasa Inggris). Hanya saja, programa dalam bahasa tingkat tinggi lain dapat langsung dilaksanakan maka dari itu komputer jinjing. Ia perlu diterjemahkan terlebih dahulu maka dari itu sebuahtranslator bahasa(yang disebut kompilator ataucompiler)ke n domestik bahasa mesin sebelum hasilnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalahPascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++,dan sebagainya.


Bahasa pemrograman bisa kembali dikelompokkan berdasarkan plong tujuan dan fungsinya. Di antaranya merupakan :

7.  Membiji Sebuah Algoritma

Momen individu berusaha memintasi keburukan, metode ataupun teknik yang digunakan bakal membereskan kelainan itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Peristiwa ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan ilmu mantik yang farik. Yang menjadi soal yakni bagaimana mengukur mana algoritma yang terbaik?. Sejumlah persyaratan untuk menjadi algoritma yang baik adalah :

  • Tingkat kepercayaannya janjang (realibility). Hasil yang diperoleh bermula proses harus berakurasi tinggi dan benar.
  • Pemrosesan nan efisien (costrendah). Proses harus diolah secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
  • Sifatnya general. Tak sesuatu yang doang untuk mengamankan suatu kasus sahaja, tapi juga kerjakan kasus lain nan lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan kian jauh berdasarkan persilihanrequirementnan ada.
  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa mengerti algoritma Kamu. Susah dimengertinya suatu program akan membuat selit belit di-maintenance(kelola).
  • Portabilitas yang hierarki (portability). Bisa dengan mudah diimplementasikan di beraneka macamplatformkomputer jinjing.
  • Precise(tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan enggak suka-suka bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan karuan.

Contoh :   Tambahkan 1 maupun 2 puas x.

Instruksi di atas terdapat kesangsian.

  • Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, buat kasus yang sama banyaknya, persiapan harus ki ajek dan tertentu sungguhpun datanya berlainan.
  • Efektif. Enggak boleh terserah instruksi yang enggak boleh jadi diselesaikan oleh pemroses yang akan menjalankannya.


Contoh :   Hitung akar 2 dengan kecermatan sempurna.

Instruksi di atas tak efektif, agar efektif instruksi tersebut diubah.

Misal : Hitung akar 2 hingga lima digit di bokong koma.

  • Harusterminate. Jalannya algoritma harus ada barometer mengetem. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka karuanterminate?
  • Outputyang dihasilkan tepat. Seandainya langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkanoutputyang diinginkan.


Sedangkan patokan Algoritma menurut Donald E. Knuth yaitu :

  • Input: algoritma dapat memiliki hampa ataupun lebih inputan dari luar.
  • Output: algoritma harus memiliki minimal satu buah output lepasan.
  • Definiteness(karuan): algoritma punya instruksi-instruksi yang jelas dan bukan ambigu.
  • Finiteness(terserah perenggan): algoritma harus memiliki titik berhenti (stopping role).
  • Effectiveness(tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 ataupun A = A * 1


Hanya suka-suka beberapa programa yang memang dirancang kerjakan unterminatable : pola Sistem Propaganda.

8.  Penyajian Algoritma

Presentasi algoritma secara garis samudra bisa dalam 2 bentuk penyajian yaitu garitan dan gambar. Algoritma yang disajikan dengan goresan merupakan dengan struktur bahasa tertentu (misalnya bahasa Indonesia ataupun bahasa Inggris) danpseudocode.Pseudocodeadalah kode yang mirip dengan kode pemrograman yang sepatutnya ada sebagai halnya Pascal, maupun C, sehingga lebih tepat digunakan bakal menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Padahal algoritma disajikan dengan susuk, misalnya denganflowchart. Secara mahajana,pseudocodemengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu mandu cak bagi menghasilkan kode pseudo adalah dengan meregangkan sifat-aturan bahasa jamak nan dengannya varian akhir mulai sejak algoritma akan diekspresikan. Pendekatan ini lazimnya digunakan detik bahasa pemrograman yang akan digunakan sudah diketahui sejak awal.

Flowchartmerupakan gambar alias bentuk yang memperlihatkan pujuk dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sementara itu antara proses digambarkan dengan garis penghubung. Dengan menggunakanflowchartakan memudahkan kita bikin mengerjakan validasi episode-penggalan yang terlupakan internal analisis penyakit. Di

samping ituflowchartjuga bermanfaat seumpama fasilitas bikin berkomunikasi antara pemrogram yang bekerja dalam tim suatu order.

Ada dua macamflowchartyang menggambarkan proses dengan komputer, merupakan :

  • Flowchart
    sistemyaitu bagan dengan simbol-simbol tertentu nan menggambarkan urutan prosedur dan proses suatufileintern suatu kendaraan menjadifiledi internal media tak, internal suatu sistem perebusan data. Beberapa contohFlowchartsistem:
  • Flowchart
    programyakni bagan dengan simbol-simbol tertentu yang mengilustrasikan pujuk proses dan hubungan antar proses secara mendetail di dalam suatu program.

Sumur : tkj.smkmutu.com

Demikian pembahasan materi Pemrograman Dasar Kelas X SMK TKJ, RPL dan Multimedia seputar Algoritma dan Pemrograman, semoga berguna dan menjadi bahan bacaan buat para pembaca bersama-sama. Sampai jumpa dimateri dan pembahasan berikutnya.

Source: https://smkn1panjalu.sch.id/pemrograman-dasar-kelas-x-tkj-rpl-multimedia/

Posted by: and-make.com