rpp pemrograman dasar kd 1.docx

Upload: mustofasmk

Post on 02-Jun-2018

277 views

Category:

Documents


5 download

TRANSCRIPT

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    1/25

    RENCANA PELAKSANAAN PEMBELAJARAN

    (RPP)

    Satuan Pendidikan : SMK MUHAMMADIYAH 04 BOYOLALI

    Kelas/Semester : X/1

    Mata Pelajaran : Produktif RPL

    Materi Pokok : Pemrograman Dasar

    Jumlah : 16 X 45 menit

    A.Kompetensi Inti

    1. Menghayati dan mengamalkan ajaran agama yang dianutnya

    2. Menghayati dan Mengamalkan perilaku jujur, disiplin, tanggungjawab, peduli (gotong

    royong, kerjasama, toleran, damai), santun, responsif dan pro-aktif dan menunjukan sikap

    sebagai bagian dari solusi atas berbagai permasalahan dalam berinteraksi secara efektif

    dengan lingkungan sosial dan alam serta dalam menempatkan diri sebagai cerminan bangsa

    dalam pergaulan dunia.

    3. Memahami, menerapkan dan menganalisis pengetahuan faktual, konseptual, dan prosedural

    berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, teknologi, seni, budaya, dan

    humaniora dalam wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait

    penyebab fenomena dan kejadian dalam bidang kerja yang spesifik untuk memecahkan

    masalah.

    4. Mengolah, menalar, dan menyaji dalam ranah konkret dan ranah abstrak terkait dengan

    pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan mampu melaksanakan

    tugas spesifik di bawah pengawasan langsung.

    B.Kompetensi Dasar

    1.2.Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agamanya dalam kehidupan sehari-

    hari.

    2.2.

    Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari sebagai wujudimplementasi melaksanakan percobaan dan melaporkan hasil percobaan

    3.1.Memahami penggunaan data dalam algoritma dan konsep algoritma pemrograman

    4.1Menggunakan algoritma pemrograman untuk memecahkan permasalahan

    C.Indikator Pencapaian Kompetensi

    1. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agamanya dalam kehidupan sehari-

    hari.

    2. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari sebagai wujud

    implementasi melaksanakan percobaan dan melaporkan hasil percobaan.

    3. Menjelaskan pengertian algorithma dan cara penulisan algorithma

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    2/25

    D.Tujuan Pembelajaran

    Selama dan setelah proses pembelajaran, peserta didik dapat mengamalkan ajaran agama

    dalam kehidupan seharihari.

    Selama dan setelah proses pembelajaran, peserta didik dapat bekerja secara individu dan

    kelompok dalam aktifitas seharihari sebagai wujud implementasi melaksanakan percobaan

    dan melaporkan hasil percobaan.

    Selama dan setelah proses pembelajaran, peserta didik dapat menjelaskan tentang algorithma

    dan memahami struktur penulisan algorithma serta menerapkan algorithma dalam menulis

    bahasa pemrograman.

    E.Materi Pembelajaran

    Pemrograman

    Konsep algoritma

    Struktur algoritma

    algoritma menggunakan bahasa natural

    Pengenalan Variabel

    Pengenalan tipe data

    Pengenalan operator

    Pseudocode

    Flowchart

    Penggunaan Tool flowchart

    F. Alokasi Waktu

    16 X 45 Menit

    G.Metode Pembelajaran

    Pendekatan scientific

    Model cooperatif learning

    Metode pembelajaran STAD (Student Team Achievement Divisions)

    H.Langkah-langkah Pembelajaran

    Kegiatan Deskripsi Kegiatan Alokasi Waktu

    Pendahuluan 1. Guru menciptakan suasana kelas yang religius dengan

    memberi salam dan memeriksa kerapian siswa,

    mengontrol kebersihan sebagai wujud kepedulian

    lingkungan

    2. Guru memberikan gambaran tentang pentingnya

    memahami Algorithma dalam kehidupan seharihari.

    3. Sebagai apersepsi untuk mendorong rasa ingin tahu dan

    berpikir kritis, peserta didik diajak berdiskusi tantang

    10 menit

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    3/25

    Algorithma

    4. Guru menyampaikan tujuan pembelajaran yang ingin

    dicapai yaitu Memahami serta menerapkan algorithma

    dalam pemrograman.

    Inti 1.

    Guru bertanya tentang Algorithma.

    2. Bila peserta didik belum mampu menjawabnya, guru

    memberi scaffolding dengan mengingatkan peserta didik

    tentang sejarah dari kata algorithma.

    3. Tiap peserta didik mendapat tugas untuk membuat sebuah

    Algorithma dalam kehidupan sehari-hari.

    4. Selama peserta didik bekerja membuat Algorithma dalam

    kehidupan sehari-hari, guru memperhatikan dan

    mendorong semua peserta didik untuk sungguhsungguh

    dalam Algorithma dalam kehidupan sehari-hari, dan

    mengarahkan bila ada peserta didik yang melenceng jauh

    pekerjaannya.

    5. Dengan tanya jawab, guru mengarahkan semua peserta

    didik pada kesimpulan mengenai cara Algorithma dalam

    kehidupan sehari-hari

    6. Guru memberikan soal yang terkait dengan Algorithma.

    Dengan tanya jawab, peserta didik dan guru

    menyelesaikan soal yang telah diberikan dengan

    menggunakan strategi yang tepat.

    menit

    Penutup 1. Peserta didik diminta menyimpulkan tentang Algorithma

    2. Guru memberikan penugasan beberapa soal mengenai

    Algorithma.

    3. Guru mengakhiri kegiatan belajar dengan memberikan

    pesan untuk tetap belajar.

    10 menit

    I. Sumber Belajar/ Media Pembelajaran

    Sumber : Buku Peserta didik Ekspresi Diri dan Akademik Artikel dari Internet, Buku Sekolah

    Elektronik,Buku DasarPemrograman, Munir, Rinaldi, Algoritma dan pemrograman dalam bahasa

    Pascal dan C, Informatika Bandung, 2011

    Media : LCD Proyektor,Komputer

    J. Penilaian

    1.

    Membuat algoritma sederhana (bahasa natural,pseudocodedanflowchart) untuk

    menyelesaikan permasalahan dalam kehidupan sehari-hari.

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    4/25

    2. Portopolio:

    Laporan praktek membuat algoritma pemecahan masalah menggunakan bahasa natural,

    flowchart dan pseudocode.

    3. Observasi:

    Checklisthasil pengamatan Pelbagai contoh algoritma

    4. Tes:

    Tes tertulis dan praktek tentang konsep algoritma, pseudocode, flowchart

    Prosedur Penilaian:

    No Aspek yang dinilai Teknik Penilaian Waktu Penilaian

    1. Sikap

    Terlibat aktif dalam

    pembelajaran algorithma dalam

    pemrograman

    Pengamatan Selama pembelajaran dan

    saat diskusi

    2. Pengetahuan

    Menjelaskan kembali

    pengertian jenis, fungsi

    algorithma dalam pemrograman

    secara tepat, sistematis, dan

    menggunakan cara yang benar.

    Pengamatan dan tes Penyelesaian tugas individu

    dan kelompok

    3. Keterampilan Terampil menbuat algorithma

    dalam pemrograman

    Pengamatan Penyelesaian tugas (baik

    individu maupun kelompok)

    dan saat diskusi

    Mengetahui

    Kepala Sekolah

    H.Sudarno HS, M.Pd

    Boyolali, 13 Juli 2013

    Guru Mata Diklat

    Arif Joko Sukatmo,S.Kom

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    5/25

    Lampiran

    LEMBAR PENGAMATAN PENILAIAN SIKAP

    Mata Pelajaran : Pemrograman Dasar

    Kelas/Semester : X/1

    Tahun Pelajaran : 2013/2014

    Waktu Pengamatan :

    Indikator sikap aktif dalam pembelajaran Pemrograman Dasar

    1. Kurang baikjika menunjukkan sama sekali tidak ambil bagian dalam pembelajaran

    2. Baik jika menunjukkan sudah ada usaha ambil bagian dalam pembelajaran tetapi belum

    konsisten

    3. Sangat baik jika menunjukkan sudah ambil bagian dalam menyelesaikan tugas secara terus

    menerus dan konsisten

    Indikator sikap bekerjasama dalam kegiatan kelompok.

    1. Kurang baikjika sama sekali tidak berusaha untuk bekerjasama dalam kegiatan kelompok.

    2. Baik jika menunjukkan sudah ada usaha untuk bekerjasama dalam kegiatan kelompok tetapi

    masih belum ajeg/konsisten.

    3. Sangat baikjika menunjukkan adanya usaha bekerjasama dalam kegiatan kelompok secara terus

    menerus dan ajeg/konsisten.

    Indikator sikap toleran terhadap proses pemecahan masalah yang berbeda dan kreatif.

    1. Kurang baik jika sama sekali tidak bersikap toleran terhadap proses pemecahan masalah yang

    berbeda dan kreatif.

    2. Baik jika menunjukkan sudah ada usaha untuk bersikap toleran terhadap proses pemecahan

    masalah yang berbeda dan kreatif tetapi masuih belum ajeg/konsisten.

    3. Sangat baik jika menunjukkan sudah ada usaha untuk bersikap toleran terhadap proses

    pemecahan masalah yang berbeda dan kreatif secara terus menerus dan ajeg/konsisten.

    Bubuhkan tanda pada kolom-kolom sesuai hasil pengamatan.

    Kelas X RPL 1No Nama Siswa Sikap

    Aktif Bekerjasama Toleran

    KB B SB KB B SB KB B SB

    1 ADE BAGUS

    PERIHANTORO

    2 ADI NURYANTO

    3 AGUNG BACHTIAR

    4 ALDO RIZKI ADI

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    6/25

    WIRASTOMO

    5 ARFIAN JOKO

    RAHAYU

    6 ASIH SETIATIN

    7 ATIKA SUCI

    DEWANTARI

    8 BAGAS SAPUTRA

    9 CHUSNUL MEI

    RAHAYU

    10 DENI CAHYONO

    11 DESI FIFI SAFITRI

    12 DIA NITA RUFIKASARI

    13 DINDA AGUSTIN

    SETIANA

    13 DONI TRI

    KORNIAWAN

    15 EKA YULIANA

    16 ENRICO YOGA

    PRADANA

    17 ERIKA NUR

    HIDAYAH

    18 FAHMI

    CAHYANINGRUM

    19 INAM ZULFA

    20 ISTIQOMAH

    21 IWANK SADEWA

    22 MELISA DWI

    PUSPITASARI

    23 MUHAMMAD ANGGI

    PRASETYO

    24 MUHAMMAD

    HANAFI

    25 NUR LAILA

    26 NURUL FADILAH

    27 NURYAH INDRIYANI

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    7/25

    28 PRANOWO DWI

    HANGGORO

    29 QURAINI AJI

    SAPUTRO

    30 RAHMA

    CAHYANINGSIH

    31 ROSIANA DEWI

    32 SEPTIAN DWIKY

    HERMAWAN

    33 SRI WIDAYANTI

    34 SRIYANI

    35 SRIYANTO

    36 TRIAS SHOFI

    NURAINI

    37 VERY DWI

    CAHYONO

    38 YULIYANTI

    Keterangan:

    KB : Kurang baik

    B : Baik

    SB : Sangat baik

    Kelas X RPL 2

    No Nama Siswa Sikap

    Aktif Bekerjasama Toleran

    KB B SB KB B SB KB B SB

    1 AGUNG PAMBUDI

    2 AGUS APRIYANTO

    3 AINUN ULVI

    OKTANIAS

    4 AKBAR SILMI

    KAFATA

    5 ANI NOVIANI

    6 ANITA TRI UTAMI

    7 ARIANI

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    8/25

    8 DESI RIZKA

    ANGGRAENI

    9 DEVITA

    RUSMAWATI

    10 DIKY NUR FAHRUDI

    N

    11 DWI ENGGAR

    TRIYASTI

    12 DWI SUPARWANTI

    13 EKO RIO PUTRANTO

    13 FERY KRISTIYANTO

    15 HENDRA

    RAHMAWAN

    16 JARIMUTINAH

    17 MAHER GINANJAR

    PRABOWO

    18 MUHAMMAD

    AMIRUL RIFQI

    19 MUHAMMAD RIFAI

    20 NIA IKAYANTI

    21 NUR AMARULLAH

    MARUF

    22 PIPIN DWI AYU S

    23 RIDWAN IMAM

    FADILA

    24 RIRIN FITRIYANTI

    25 RIZQI SUSANTI

    26 SINUNG WIJAYANTA

    27 SITI NURYANI

    28 SITI KHUSNUL

    KHOTIMAH

    29 SITI UMI KHOBIBAH

    30 SRI MARIYATI

    31 SRI WAHYUNI

    32 TIDAR ISDA RISKI

    GUMILAR

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    9/25

    33 TRI MUHHAMAT AJI

    34 ULFA KHASANA

    35 WASILAH

    DWININGSIH

    36 YUNI EKA ARYANI

    37 YUNI SAPUTRI

    38

    Keterangan:

    KB : Kurang baik

    B : Baik

    SB : Sangat baik

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    10/25

    Lampiran

    LEMBAR PENGAMATAN PENILAIAN KETERAMPILAN

    Mata Pelajaran : Pemrograman Dasar

    Kelas/Semester : X/1

    Tahun Pelajaran : 2013/2014

    Waktu Pengamatan :

    Indikator terampil menerapkan konsep/prinsip dan strategi pemecahan masalah yang relevan yang

    berkaitan dengan aplikasi pengolah kata.

    1. Kurang terampiljika sama sekali tidak dapat menerapkan konsep dan strategi pemecahan masalah

    yang relevan yang berkaitan dengan software aplikasi pengolah kata

    2. Terampil jika menunjukkan sudah ada usaha untuk menerapkan konsep/prinsip dan strategi

    pemecahan masalah yang relevan yang berkaitan dengan software aplikasi pengolah kata tetapi

    belum tepat.

    3. Sangat terampill,jika menunjukkan adanya usaha untuk menerapkan konsep/prinsip dan strategi

    pemecahan masalah yang relevan yang berkaitan dengan software aplikasi pengolah kata dan

    sudah tepat.

    Bubuhkan tanda pada kolom-kolom sesuai hasil pengamatan.

    Kelas X RPL 1

    No Nama Siswa

    Keterampilan

    Menerapkan konsep/prinsip dan

    strategi pemecahan masalah

    KT T ST

    1 ADE BAGUS PERIHANTORO

    2 ADI NURYANTO

    3 AGUNG BACHTIAR

    4 ALDO RIZKI ADI

    WIRASTOMO

    5 ARFIAN JOKO RAHAYU

    6 ASIH SETIATIN

    7 ATIKA SUCI DEWANTARI

    8 BAGAS SAPUTRA

    9 CHUSNUL MEI RAHAYU

    10 DENI CAHYONO

    11 DESI FIFI SAFITRI

    12 DIA NITA RUFIKA SARI

    13 DINDA AGUSTIN SETIANA

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    11/25

    14 DONI TRI KORNIAWAN

    15 EKA YULIANA

    16 ENRICO YOGA PRADANA

    17 ERIKA NUR HIDAYAH

    18 FAHMI CAHYANINGRUM

    19 INAM ZULFA

    20 ISTIQOMAH

    21 IWANK SADEWA

    22 MELISA DWI PUSPITASARI

    23 MUHAMMAD ANGGI

    PRASETYO

    24 MUHAMMAD HANAFI25 NUR LAILA

    26 NURUL FADILAH

    27 NURYAH INDRIYANI

    28 PRANOWO DWI HANGGORO

    29 QURAINI AJI SAPUTRO

    30 RAHMA CAHYANINGSIH

    31 ROSIANA DEWI

    32 SEPTIAN DWIKY

    HERMAWAN

    33 SRI WIDAYANTI

    34 SRIYANI

    35 SRIYANTO

    36 TRIAS SHOFI NURAINI

    37 VERY DWI CAHYONO

    38 YULIYANTI

    39

    40

    Keterangan:

    KT : Kurang terampil

    T : Terampil

    ST : Sangat terampil

    Kelas X RPL2

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    12/25

    No Nama Siswa

    Keterampilan

    Menerapkan konsep/prinsip dan

    strategi pemecahan masalah

    KT T ST

    1 AGUNG PAMBUDI

    2 AGUS APRIYANTO

    3 AINUN ULVI OKTANIAS

    4 AKBAR SILMI KAFATA

    5 ANI NOVIANI

    6 ANITA TRI UTAMI

    7 ARIANI

    8 DESI RIZKA ANGGRAENI9 DEVITA RUSMAWATI

    10 DIKY NUR FAHRUDI N

    11 DWI ENGGAR TRIYASTI

    12 DWI SUPARWANTI

    13 EKO RIO PUTRANTO

    14 FERY KRISTIYANTO

    15 HENDRA RAHMAWAN

    16 JARIMUTINAH

    17 MAHER GINANJAR

    PRABOWO

    18 MUHAMMAD AMIRUL RIFQI

    19 MUHAMMAD RIFAI

    20 NIA IKAYANTI

    21 NUR AMARULLAH MARUF

    22 PIPIN DWI AYU S

    23 RIDWAN IMAM FADILA

    24 RIRIN FITRIYANTI

    25 RIZQI SUSANTI

    26 SINUNG WIJAYANTA

    27 SITI NURYANI

    28 SITI KHUSNUL KHOTIMAH

    29 SITI UMI KHOBIBAH

    30 SRI MARIYATI

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    13/25

    31 SRI WAHYUNI

    32 TIDAR ISDA RISKI GUMILAR

    33 TRI MUHHAMAT AJI

    34 ULFA KHASANA

    35 WASILAH DWININGSIH

    36 YUNI EKA ARYANI

    37 YUNI SAPUTRI

    38

    39

    40

    Keterangan:

    KT : Kurang terampilT : Terampil

    ST : Sangat terampil

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    14/25

    Lampiran Materi

    Algoritma dan Pemrograman :

    1. Apakah Itu Algoritma

    Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh.

    Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda

    dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha

    menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah

    matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal

    yaitu Abu Jafar Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat

    menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala

    yang artinya Buku pemugaran dan pengurangan (The book ofrestoration and reduction). Dari

    judul buku itu kita juga memperoleh akar kata Aljabar (Algebra). Perubahan kata dari algorism

    menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga

    akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal

    yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode

    perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa

    Indonesia, kata algorithm diserap menjadi algoritma.

    2. Definisi Algoritma

    Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara

    sistematis dan logis. Kata logis merupakan kata kuncidalam algoritma. Langkah-langkah dalam

    algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa

    konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.

    Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya

    algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan.

    Tidakpeduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma

    tersebut bukanlah algoritma yang baik.

    Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil

    yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untukmenyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa

    pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan

    nilai yang sebenarnya.

    Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu

    dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika

    kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya

    tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori,

    semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam

    kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    15/25

    permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita

    mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien

    dan cepat.

    3. Beda Algoritma dan Program

    Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam

    program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa

    disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar

    memberi formula bahwa :

    Program = Algoritma + Bahasa (Struktur Data)

    Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program.

    Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi

    kurang baik, demikian juga sebaliknya.

    Pembuatan algoritma mempunyai banyak keuntungan di antaranya :

    Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,

    artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang

    melaksanakannya.

    Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

    Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya

    sama.

    Beberapa hal yang perlu diperhatikan dalam membuat algoritma :

    Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut

    dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

    Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa

    pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

    Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini

    dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik

    mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi

    algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi

    algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer,

    pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi

    bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat

    terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.

    Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu

    permasalahan ke dalam bahasa pemrograman.

    Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,

    algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    16/25

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    17/25

    Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus

    ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah

    perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu

    sehingga dapat dilaksanakan oleh komputer.

    Kata algoritma dan program seringkali dipertukarkan dalam penggunaannya. Misalnya ada

    orang yang berkata seperti ini: program pengurutan data menggunakan algoritma selection sort.

    Atau pertanyaan seperti ini: bagaimana algoritma dan program menggambarkan grafik tersebut?.

    Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat

    membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan

    masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program

    ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut

    pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer).

    Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun

    atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian

    dengan instruksi tersebut dikerjakan komputer.

    Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti

    keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit

    CPU) adalah otak komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi

    perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah

    komponen yang berfungsi menyimpan atau mengingatingat.

    Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh

    CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan

    keluaran (I/Odevices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat

    yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti

    masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh

    piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    18/25

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    19/25

    lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu

    penerjemahan ke dalam bahasa mesin.

    Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih

    manusiawi, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program

    dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu

    diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator

    atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh

    bahasa tingkat tinggi adalahPascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan

    sebagainya.

    Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di

    antaranya adalah :

    7. Menilai Sebuah Algoritma

    Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk

    memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih

    mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang

    memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan.

    Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?.

    Beberapa persyaratan untuk menjadi algoritma yang baik adalah :

    Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus

    berakurasi tinggi dan benar.

    Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan

    frekuensi kalkulasi yang sependek mungkin.

    Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga

    untuk kasus lain yang lebih general.

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    20/25

    Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih

    jauh berdasarkan perubahan requirement yang ada.

    Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda.

    Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).

    Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai

    platform komputer.

    Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada

    keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan

    tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap

    langkah harus jelas dan pasti.

    Contoh : Tambahkan 1 atau 2 pada x.

    Instruksi di atas terdapat keraguan.

    Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama

    banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.

    Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan

    menjalankannya.

    Contoh : Hitung akar 2 dengan presisi sempurna.

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

    Misal : Hitung akar 2 sampai lima digit di belakang koma.

    Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah

    apakah bila jumlah instruksinya berhingga maka pasti terminate?

    Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan

    seksama maka dihasilkan output yang diinginkan.

    Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :

    1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.

    2. Output: algoritma harus memiliki minimal satu buah output keluaran.

    3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.

    4.

    Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan

    efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

    Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem

    Operasi.

    8. Penyajian Algoritma

    Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan

    gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu

    (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode

    yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih

  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    21/25

    tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada

    pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart.

    Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses

    penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan

    meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan

    diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan

    digunakan telah diketahui sejak awal.

    Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan

    antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan

    demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses

    digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan

    kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di

    samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara

    pemrogram yang bekerja dalam tim suatu proyek.

    Ada dua macamflowchart yang menggambarkan proses dengan komputer, yaitu :

    Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan

    urutan prosedur dan proses suatufile dalam suatu media menjadifile di dalam media lain,

    dalam suatu sistem pengolahan data. Beberapa contohFlowchart sistem:

    Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan

    proses dan hubungan antar proses secara mendetail di dalam suatu program.

    Kaidah-Kaidah Umum Pembuatan Flowchart Program

    Dalam pembuatanflowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena

    flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan

    komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan

    yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama,

    yaitu :

    http://andikafisma.files.wordpress.com/2010/02/4.jpg
  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    22/25

    1. Input,

    2. Proses pengolahan dan

    3. Output

    Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:

    1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani

    pemecahan persoalan.2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.

    3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data

    yang dibaca.

    4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.

    5. END, mengakhiri kegiatan pengolahan.

    Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunanflowchart, namun ada beberapa

    anjuran :

    1.

    Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya

    proses menjadi singkat.

    2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk

    memperjelas.

    3. Sebuahflowchart diawali dari satu titik START dan diakhiri dengan END.

    Berikut merupakan beberapa contoh simbolflowchart yang disepakati oleh dunia pemrograman :

    http://andikafisma.files.wordpress.com/2010/02/5.jpg
  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    23/25

    Untuk memahami lebih dalam mengenaiflowchart ini, akan diambil sebuah kasus sederhana.

    Kasus : Buatlah sebuah rancangan program dengan menggunakanflowchart, mencari luas

    persegi panjang.

    Solusi : Perumusan untuk mencari luas persegi panjang adalah :

    L = p . l

    di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan ladalah lebar persegi.

    http://andikafisma.files.wordpress.com/2010/02/6.jpg
  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    24/25

    Keterangan :

    1. Simbol pertama menunjukkan dimulainya sebuah program.

    2. Simbol kedua menunjukkan bahwa input data dari p dan l.

    3.

    Data dari p dan lakan diproses pada simbol ketiga dengan menggunakan perumusanL =p. l.4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.

    5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tandaEnd.

    9. Struktur Dasar Algoritma

    Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut

    dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi

    (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga,

    yaitu:

    1.

    Struktur Runtunan2. Digunakan untuk program yang pernyataannyasequential atau urutan.

    3. Struktur Pemilihan

    4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.

    5. Struktur Perulangan

    6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.

    Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman

    tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman

    apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman

    manapun.

    http://andikafisma.files.wordpress.com/2010/02/7.jpg
  • 8/10/2019 RPP Pemrograman Dasar KD 1.docx

    25/25