LAPORAN AKHIR PENELITIAN DOSEN PEMULA
TRANSLATOR NOTASI ALGORITMIK UNTUK PENGAJARAN PEMROGRAMAN DASAR
Tahun ke 1 dari rencana 1 tahun WIJANARTO, S.Sos., M.Kom. AJIB SUSANTO, S.Kom., M.Kom
0628027003 0615127404
UNIVERSITAS DIAN NUSWANTORO Desember 2013
ii
RINGKASAN Pemrograman dasar merupakan pondasi utama sesorang atau mahasiswa yang ingin belajar membuat program untuk menyelesaikan suatu masalah tertentu. Dalam disiplin ilmu komputer menyelesaikan masalah merupakan basis dari perkembangan keilmuan. Algoritma merupakan salah satu teknik untuk memecahkan masalah di bidang pemrograman yang di ekspresikan dalam bahasa pemrograman. Kesulitan utama seseorang dalam mengekspresikan solusi dalam bentuk bahasa formal merupakan masalah tersendiri yang harus di pecahkan, selain pemilihan alat atau aplikasi yang tepat untuk membantunya, bahkan untuk orang dengan latar belakang ilmu komputer. Dengan demikian yang tujuan jangka panjang yang ingin di capai dalam peneitian ini adalah membuat suatu Domain Specific Language (DSL) untuk pengajaran pemrograman dasar. Untuk saat ini, penelitian ini menyajikan suatu alat atau aplikasi untuk mempermudah penyelesaian masalah berbasis notasi algoritmik dalam bidang pengajaran pemrograman dasar bagi mahasiswa di tahun pertama, dalam bentuk suatu editor teks yang dapat mentranslasikan notasi algoritmik ke bahasa c. Alat ini akan membantu seseorang atau mahasiswa untuk dapat mendisain solusi dalam bentuk notasi algoritmik, tanpa memikirkan kerumitan dalam bahasa yang di pilihnya. Model notasi algoritmik yang di pilih merupakan model yang sudah pernah diterapkan dan diajarkan di perguruan tinggi. Penelitian ini akan menggunakan metode Rapid Application Development (RAD) dan Model View Cotroller (MVC) dalam rangka membangun aplikasi translator notasi algoritmik dalam bentuk editor teks. Untuk mengetahui apakah aplikasi yang di hasilkan mempunyai manfaat nyata, metode eksperimen murni (pure experimental) tanpa pretest akan di terapkan untuk mengevaluasi subyek penelitian yang di bagi menjadi dua kelompok, yaitu subyek eksperimen dan subyek kontrol. Sedangkan analisa data di lakukan dengan Uji T, untuk mendapatkan signifikansi perbedaan subyek penelitian terhadap penggunaan translator notasi algoritmik yang di ukur berdasarkan kemampuan (nilai) dan efektifitas (waktu) penyelesaian masalah yang di berikan secara random terhadap subyek penelitian. Hasil penelitian menunjukan terdapat perbedaan kemampuan dan kecepatan menyelesaikan masalah pemrograman pada kelompok eksperimen dan kontrol dengan uji t sebesar 4,638 dengan df =74 diperoleh p sebesar 0,000, dan selisih rata-rata kemampuan sebesar 12.21, sedangkan perbedaan kecepatan di hasilkan nilai t hitung = -4,718 dengan df 74 dengan p sebesar 0,000 dan selisih waktu antara kelompok eksperimen dan kontrol sebesar 11.55.
iii
PRAKATA
Dengan selesainya pembuatan laporan penelitian dosen pemula ini, penulis bersyukur kehadirat Alloh SWT. Laporan penelitian ini merupakan kegiatan lanjutan dari hasil penelitan yang telah di lakukan penulis dalam rangka mencari jawaban atas kegelisahan intelektual di bidang pengajaran pemrograman, khususnya pemrograman dasar. Pemlihan model pembelajaran pemrograman merupakan inti dari penelitian ini, yang dapat di aplikasikan dalam suatu notasi sederhana untuk pengajaran pemrograman dasar dan pembuatan media atau alat untuk memformulasikan model abstrak menjadi nyata dalam bentuk editor dan translator notasi algoritma ke dalam bahasa formal, dalam hal ini bahasa C. Tentu saja, capaian ini bukan merupakan akhir dari kegiatan, pengujian dan penyempurnaan model akan secara berkelanjutan akan terus dilakukan oleh penulis guna mencapai suatu titik ideal. Dengan menyeberkan informasi penelitian melalui jurnal atau prosiding, penulis berharap akan mendapatkan masukan yang lebih baik kedepannya, selain itu baik model maupun alat hasil berupa editor akan di lakukan penyemurnaan hingga mendapatkan bentuk yang mudah di pakai dan di pahami oleh pemakai awal. Akhirnya, penulis tidak lupa juga mengucapkan terima kasih yang sebesarbesarnya kepada para pihak yang telah membantu terselesaikannya laporan ini, terutama, mahasiswa dan asisten peneliti yang terlibat dalam proyek ini. Tak lupa rekan dosen dan segenap jajaran struktural di Fakultas Ilmu Komputer Universitas Dian Nuswantoro yang sangat mendukung kegiatan ini, penulis ingin menyampaikan apresiasi setinggi-tingginya. Semarang, Desember 2013
iv
DAFTAR ISI HALAMAN SAMPUL ..........................................................................................i HALAMAN PENGESAHAN ................................................................................ii RINGKASAN ........................................................................................................iii PRAKATA ...........................................................................................................iv DAFTAR ISI .........................................................................................................v DAFTAR TABEL ................................................................................................viii DAFTAR GAMBAR ..........................................................................................ix DAFTAR LAMPIRAN .....................................................................................x BAB 1. PENDAHULUAN .....................................................................................1 1.1. Latar Belakan Masalah ........................................................................1 1.2. Rumusan Masalah ...............................................................................2 1.3. Batasan Masalah..................................................................................2 BAB 2. TINJAUAN PUSTAKA ............................................................................4 2.1. Notasi Algoritmik................................................................................4 2.2. Translator.............................................................................................7 2.3. Grammar..............................................................................................7 2.4. Pemrograman Dasar.............................................................................8 2.5. Text Editor...........................................................................................8 BAB 3. TUJUAN DAN MANFAAT PENELITIAN ...........................................10 3.1 Tujuan Penelitian................................................................................10 3.2 Manfaat Penelitian..............................................................................10 3.3 Luaran Penelitian................................................................................10 3.4 Kontribusi Penelitian ..........................................................................10 3.5 Kerangka Pikir....................................................................................11 3.6 Hipotesa Penelitian.............................................................................12 BAB 4. METODE PENELITIAN ........................................................................13 4.1 Teknik Penelitian ...............................................................................13 4.2 Model Penelitian ................................................................................13 4.2.1 Model Notasi Algoritmik ..........................................................13 4.2.2 Model View Controller .............................................................14 4.2.3 Perancangan Dan Pembangunan Arsitektur Sistem ................15 4.2.4 Rapid Application Development .............................................15 4.3 Imlementasi Aplikasi .........................................................................16 4.4 Pendekatan Penelitian ........................................................................16 4.5 Disain dan Paradigma Penelitian .......................................................17 4.5.1. Paradigma Penelitian ................................................................18 4.6 Variabel Penelitian .............................................................................18 4.7 Tempat dan Waktu Penelitian ............................................................19 4.8 Populasi dan Sampel Penelitian .........................................................20 4.9 Alat dan Teknik Pengumpulan Data ..................................................20 4.10 Uji Validitas Instrumen ...................................................................23 4.11 Uji Reliabilitas Instrumen ................................................................23 4.12 Prosedur Penelitian ..........................................................................24 4.12.1 Pelaksanaan ...........................................................................24 4.12.2 Pengukuran Sesudah Eksperimen ..........................................25 4.13 Teknik Analisa Data ......................................................................26
v
4.13.1 Uji Persyaratan Analisis Data ...........................................26 4.13.2 Teknik Analisa Data ........................................................27 4.14 Hipotesa Statistik ............................................................................28 BAB 5. HASIL YANG DICAPAI ......................................................................29 5.1 Hasil Penelitian ..................................................................................29 5.1.1 Hasil Penelitian Perekayasaan .............................................29 5.1.1.a. Grammar dan String Template Translator Notasi Algoritmik ..................................................................29 5.1.1.b. Implementasi RAD dalam Kerangka MVC ................32 A. Fase Planning ...................................................................32 A.1 Tujuan .........................................................................32 A.2 Fungsional ..................................................................32 A.3 Ruang Lingkup ...........................................................33 B. Fase User Design .............................................................33 B.1 Use Case Diagram ......................................................33 B.2 Activity Diagram .......................................................35 B.3 Sequence Diagram ......................................................36 B.4 Class Diagram ............................................................36 B.5 Implementasi Diagram ...............................................37 B.6 Disain Interface ..........................................................38 C. Fase Construction ..............................................................40 D. Fase Cutover ......................................................................43 5.1.2 Hasil Penelitian Eksperimen.....................................................43 5.1.2.1. Uji Persyaratan Analisis .............................................43 5.1.2.2. Hasil Uji Homogenitas Varian ....................................44 5.1.2.3. Deskripsi Hasil Penelitian...........................................45 5.1.2.4. Hasil Analisis Data Pengujian Hipotesa Pertama .......54 5.1.2.5. Hasil Analisis Data Pengujian Hipotesa Pertama .......56 5.1.3 Pembahasan Hasil Penelitian Eksperimen 5.1.3.1. Deskripsi Kondisi Awal Kemampuan Memecahkan Masalah Pemrograman Dasar Pada Kelompok Eksperimen Dan Kelompok Kontrol...........................58 5.1.3.2. Perbedaan Kemampuan dan Kecepatan Memecahkan Masalah Pemrograman Dasar Pada Kelompok Eksperimen Dan Kelompok Kontrol...........................60 5.1.3.3. Efektivitas Penggunaan Translator Notasi Algoritmik Dalam Mengerjakan Masalah Pemrograman Dasar Pada Kelompok Eksperimen Dan Kontrol..................66 BAB 6. KESIMPULAN DAN SARAN ..............................................................67 6.1 Kesimpulan ........................................................................................68 6.2 Implikasi ............................................................................................69 6.3 Saran ..................................................................................................69 DAFTAR PUSTAKA LAMPIRAN 1 Biodata Peneliti LAMPIRAN 2 Active Submission LAMPIRAN 3 Submission Akcnowledment LAMPIRAN 4 Artikel Proceeding LAMPIRAN 5 Bukti Pengiriman Jurnal
vi
LAMPIRAN 6 Artikel Jurnal LAMPIRAN 7 File Algoritmik.g LAMPIRAN 8 File Algoritmik.stg LAMPIRAN 9a Uji Normalitas Kemampuan Kelompok Eksperimen LAMPIRAN 9b Uji Normalitas Kemampuan Kelompok Kontrol LAMPIRAN 9c Uji Normalitas Kecepatan Kelompok Eksperimen LAMPIRAN 9d Uji Normalitas Kecepatan Kelompok Kontrol LAMPIRAN 10a Uji T dan Homogenitas Kemampuan LAMPIRAN 10b Uji T dan Homogenitas Kecepatan LAMPIRAN 11a Frekuensi dan Histogram Kemampuan Kelompok Eksperimen LAMPIRAN 11b Frekuensi dan Histogram Kemampuan Kelompok Kontrol LAMPIRAN 11c Frekuensi dan Histogram Kecepatan Kelompok Eksperimen LAMPIRAN 11d Frekuensi dan Histogram Kecepatan Kelompok Kontrol LAMPIRAN 12 Uji Instrumen Soal Pemrograman Dasar LAMPIRAN 13 Soal Uji Pemrograman Dasar
vii
DAFTAR TABEL Tabel 1. Notasi Algoritmik Standar ........................................................................4 Tabel 2. Disain Subyek Acak Kelompok Eksperimen dan Kontrol .....................17 Tabel 3. Jadwal Pengambilan Data Penelitian .....................................................20 Tabel 4. Kisi-kisi Instrumen Tes Masalah Fungsi dan Prosedur .......................21 Tabel 5. Rubrik Penilaian Masalah Pemrograman Dasar .....................................22 Tabel 6. Rubrik Penilaian Masalah Pemrograman Dasar ....................................24 Tabel 7 Fungsi dan Fasilitas Translator Notasi Algoritmik .....................................33 Tabel 8. Identifikasi Pelaku Bisnis .......................................................................34 Tabel 9. Rangkuman Hasil Uji Normalitas Sebaran Data Pascates Kemampuan Menyelesaikan Masalah Pemrograman Dasar Kelompok Kontrol dan Kelompok Eksperimen .............................................................................................................44 Tabel 10. Rangkuman Hasil Uji Normalitas Sebaran Data Pascates Kecepatan Waktu Menyelesaikan Masalah Pemrograman Dasar Kelompok Kontrol dan Kelompok Eksperimen ...........................................................................................44 Tabel 11. Uji Homogenitas Varian Kemampuan Pascates dari Kelompok Kontrol dan Kelompok Eksperimen ...................................................................................44 Tabel 12. Uji Homogenitas Varian Kecepatan Pascates dari Kelompok Kontrol dan Kelompok Eksperimen ...................................................................................44 Tabel 13. Distribusi Frekuensi Perolehan Skor Pascates Kemampuan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol ...........................46 Tabel 14. Distribusi Frekuensi Perolehan Skor Pascates Kecepatan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol .................................................47 Tabel 15. Kecenderungan Perolehan Skor Pascates Kemampuan Dan Kecepatan Memecahkan Masalah Pemrograman Dasar pada Kelompok Kontrol .................48 Tabel 16. Distribusi Frekuensi Perolehan Skor Pascates Kemampuan Memecahkan Masalah Pemrograman Dasar Kelompok Experimen ....................49 Tabel 17. Distribusi Frekuensi Perolehan Skor Pascates Kecepatan Memecahkan Masalah Pemrograman Dasar Kelompok Experimen ..........................................50 Tabel 18. Kecenderungan Perolehan Skor Pascates Kemampuan Dan Kecepatan Memecahkan Masalah Pemrograman Dasar pada Kelompok Experimen .............52 Tabel 19. Perbandingan Data Statistik Pascates Kemampuan dan Kecepatan Menyelesaikan Masaah Pemrograman Dasar Kelompok Kontrol dan Kelompok Eksperimen. .........................................................................................................53 Tabel 20. Rangkuman Hasil Uji-t Data Pascates Kemampuan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol dan Kelompok Eksperimen ....54 Tabel 21. Rangkuman Hasil Uji-t Data Skor Kecepatan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol dan Kelompok Eksperimen .................56
viii
DAFTAR GAMBAR Gambar. 1 Kerangka Pikir ....................................................................................11 Gambar 2. Model Translator Notasi ke Bahasa C ..................................................13 Gambar 3. Model MVC .........................................................................................14 Gambar 4. Rancangan Arsitektur MVC Translator Notasi Algoritmik .................15 Gambar 5 Paradigma Kelompok Eksperimen ......................................................18 Gambar 6 Paradigma Kelompok Kontrol .............................................................18 Gambar 7. Potongan grammar Algoritmik.g .........................................................31 Gambar 8. Syntax diagram rule statement .............................................................32 Gambar 9. String Template Notasi Algoritmik .....................................................32 Gambar 10. Model Use case ETNA ......................................................................35 Gambar 11. Diagram Aktifitas ETNA ....................................................................36 Gambar 12. Diagram Sekuen ETNA .....................................................................37 Gambar 13. Class Diagram ETNA ........................................................................38 Gambar 14 : Implementation Diagram ETNA System ........................................39 Gambar 15. Disain Interface Utama ETNA ..........................................................40 Gambar 16. Disain Bantuan Syntax Tree Untuk User .........................................40 Gambar 17. Start Up Aplikasi ETNA ...................................................................41 Gambar 18. ETNA dengan file notasi aktif ..........................................................42 Gambar 19. Menu Utama ETNA ..........................................................................42 Gambar 20. Output ETNA translasi,hasil kompilasi dan hasil running ................43 Gambar 21. Output ETNA (a) kesalahan notasi (b) hasil kesalahan .....................44 Gambar 22. Histogram Distribusi Frekuensi Skor Pascates Kemampuan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol ..........................46 Gambar 23. Histogram Distribusi Frekuensi Skor Pascates Kecepatan Memecahkan Masalah Pemrograman Dasar Kelompok Kontrol ...........................47 Gambar 24. Histogram Distribusi Frekuensi Skor Pascates Kemampuan Memecahkan Masalah Pemrograman Dasar Kelompok Experimen .....................50 Gambar 25. Histogram Distribusi Frekuensi Skor Pascates Kecepatan Memecahkan Masalah Pemrograman Dasar Kelompok Experimen ......................51 Gambar 26. Pekerjaan yang salah (a) dan Pekerjaan yang benar (b) ....................58 Gambar 27. Pekerjaan yang salah (a) dan Pekerjaan yang benar (b) .....................59 Gambar 28. Keadaan Serius dan Fokus pada Kelompok Eksperimen ..................62 Gambar 29. Keadaan Tenang dan Fokus pada Kelompok Eksperimen .................62 Gambar 30 Situasi Kelompok Kontrol Pascatest 1 dan 2 Cenderung Panik dan Tidak Percaya Diri .................................................................................................63 Gambar 31. Situasi Kelas Pada pascatest 3 Kelompok Eksperimen .....................64
ix
DAFTAR LAMPIRAN LAMPIRAN 1 Biodata Peneliti LAMPIRAN 2 Active Submission LAMPIRAN 3 Submission Akcnowledment LAMPIRAN 4 Artikel Proceeding LAMPIRAN 5 Bukti Pengiriman Jurnal LAMPIRAN 6 Artikel Jurnal LAMPIRAN 7 File Algoritmik.g LAMPIRAN 8 File Algoritmik.stg LAMPIRAN 9a Uji Normalitas Kemampuan Kelompok Eksperimen LAMPIRAN 9b Uji Normalitas Kemampuan Kelompok Kontrol LAMPIRAN 9c Uji Normalitas Kecepatan Kelompok Eksperimen LAMPIRAN 9d Uji Normalitas Kecepatan Kelompok Kontrol LAMPIRAN 10a Uji T dan Homogenitas Kemampuan LAMPIRAN 10b Uji T dan Homogenitas Kecepatan LAMPIRAN 11a Frekuensi dan Histogram Kemampuan Kelompok Eksperimen LAMPIRAN 11b Frekuensi dan Histogram Kemampuan Kelompok Kontrol LAMPIRAN 11c Frekuensi dan Histogram Kecepatan Kelompok Eksperimen LAMPIRAN 11d Frekuensi dan Histogram Kecepatan Kelompok Kontrol LAMPIRAN 12 Uji Instrumen Soal Pemrograman Dasar LAMPIRAN 13 Soal Uji Pemrograman Dasar
x