Rekap Kuliah Pemrograman Shell 2016

Semester ini saya diminta ngajar kuliah pemrograman shell di kelas D3-TK-39-03. Alhamdulillah minggu lalu saya berhasil menyelesaikan rekap kuliah pemrograman shell 2016. Setelah perkuliahan biasanya dosen diminta membuat portofolio mata kuliah. Portofolio mata kuliah biasanya digunakan untuk bahan evaluasi perkuliahan. Berikut beberapa rangkuman dari portofolio mata kuliah pemrograman shell.

Pemrograman Shell

Mata kuliah pemrograman shell ini bertujuan agar mahasiswa memiliki keahlian membuat program pada lingkungan shell di sistem operasi Linux. Kemampuan programming di shell adalah kemampuan yang dibutuhkan oleh admin jaringan. Kuliah ini diselenggarakan di semester 3 pada kurikulum 2016. Materi yang diajarkan di kuliah pemrograman shell ini adalah:

  • pengantar shell programming,
  • variabel dan array,
  • redirection dan pipe,
  • substitusi dan eksekusi perintah bersyarat,
  • operator,
  • struktur kendali,
  • parameter,
  • fungsi.
  • IoT

Rata-rata tingkat kehadiran siswa di kelas ini tidak terlalu baik, cuman mencapai 71%.  Ada 11 siswa yang memiliki tingkat kehadiran yang kurang. Beberapa siswa yang kehadirannya kurang, ngakunya karena susah bangun pagi. Sementara itu penilaian di kuliah pemrograman shell diambil dari nilai Asessment dan Tugas dengan persentase:

  • Assessment 1: 30%
  • Assessment 2: 25 %
  • Assessment 3: 15 %
  • Tugas & Praktikum:30 %

Persentase penilaian ini sudah ditetapkan oleh koordinator mata kuliah. Di kelas ini  yang meraih nilai tertinggi ada 2 siswa dengan NIM: 6702151056 dan 6702150023, selamat ya. Sementara untuk nilai tertinggi pada masing-masing Assessment adalah siswa dengan NIM berikut:

  • Assessment 1: 6702151056
  • Assessment 2: 6702150023
  • Assessment 3: 6702150011

Assessment 1 dan 2 dalam bentuk ujian praktek individu. Sementara kajian 3 adalah membuat tugas besar yang kemudian dipresentasikan di kelas. Dari hasil evaluasi diperoleh data rata-rata nilai assessment mahasiswa per assessment adalah:

  • assessment 1: 63.81
  • assessment 2: 57.47
  • Assessment 3: 50.31

Dari nilai rata-rata hasil assessment terlihat terjadi penurunan dari assessment 1 sampai 3, kenapa ya? Sementara itu untuk hasil survey kepuasan EDOM (evaluasi dosen oleh mahasiswa) cukup baik yaitu 96,36. Namun kayaknya gak semua siswa ngisi kuesioner. Dari data terlihat cuman ada 11 siswa yang mengisi kuesioner tersebut.

Secara keseluruhan perkuliahan berjalan dengan baik. tapi tetap ada beberapa kendala yang saya hadapi diantaranya:

  1. Siswa tidak memiliki dasar tentang Linux yang cukup baik.
  2. Kendala berikutnya pada kajian 3 tentang IoT materi praktek tentang Raspberry. Siswa menghadapi kesulitan dalam instalasi dan konfigurasi Raspbian.
  3. Gak ada asisten praktikum yang membantu kegiatan praktikum

Kumpulan tugas dan materi kuliah pemrograman shell 2016 bisa dilihat disini:

Kajian 1 dan 2

Materi Kuliah Pemrograman Shell

Rekap Kajian 2 Pemrograman Shell

Kajian 3

http://julismail.staff.telkomuniversity.ac.id/latihan-17-shell-raspberry-pi/

Latihan 18 Raspberry-Pi Config

Tugas Besar Pemrograman Shell

 

Animasi di Shell

 

Semoga Bermanfaat!

Animasi di Shell

Untuk para mahasiswa kuliah pemrograman shell yang lagi galau bikin tugas besar.  berikut ini ada beberapa contoh animasi di shell:

  1. Animasi kucing: http://bruxy.regnet.cz/web/linux/EN/bash-nyan-cat/
  2. Animasi helikopter: http://www.pmoghadam.com/homepage/HTML/helicopter-animation.html
  3. Animasi Jam: http://bruxy.regnet.cz/web/linux/EN/big-clock/
  4. Animasi api: http://bruxy.regnet.cz/web/linux/EN/bash-on-fire/
  5. Animasi Matrix: http://bruxy.regnet.cz/web/linux/EN/matrix-sh/
  6. Animasi Mandelbrot: http://bruxy.regnet.cz/web/linux/EN/mandelbrot-set-in-bash/
  7. Animasi salju http://code.runnable.com/U5fadndO0YUXlVSk/make-it-snow-in-the-terminal-for-shell-bash-animations-and-fun
  8. Animasi hujan http://code.runnable.com/U5fZ83dO0YUXlVSF/make-it-rain-in-the-terminal-for-shell-bash-animations-and-fun
  9. spinner: http://mywiki.wooledge.org/BashFAQ/034
  10. https://github.com/jgigault/42FileChecker/wiki/Bash-sample-code:-Animated-spinner-with-a-time-out
  11. progress bar: http://mywiki.wooledge.org/BashFAQ/044
  12. progress bar: http://www.theiling.de/projects/bar.html
  13. Pipe: http://code.runnable.com/U5fYuxefQ-RqgmtD/pipes-for-shell-bash-animations-and-fun
  14. lainnya: http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/
  15. http://www.binarytides.com/linux-fun-commands/
  16. Akuarium: https://www.cyberciti.biz/tips/linux-unix-apple-osx-terminal-ascii-aquarium.html
  17. https://www.cyberciti.biz/tips/unix-linux-draw-any-kind-of-boxes-around-text-editor.html
  18. http://www.shellscriptgames.com/
  19. https://lennoxfiles.wordpress.com/2014/07/11/bash-scripting-create-a-simple-animation-script-in-vi/
  20. http://bruxy.regnet.cz/web/linux/EN/housenka-bash-game/ dll

Bikin animasi gak perlu pake galau, bikin yang sederhana saja. Script diatas hanya contoh saja, kalian bisa jadikan referensi.

Have Fun!

Latihan 18 Raspberry-Pi Config

Kepada para mahasiswa peserta kuliah Pemrograman Shell. Pada pertemuan sebelumnya kita telah belajar melakukan instalasi Sistem Operasi pada Raspberry. Hari ini kita akan lanjutkan belajar konfigurasi dan melakukan remote ke Raspberry-pi . Silahkan kerjakan latihan 18 Shell tentang Raspberry-pi config berikut:

  1. Lakukan instalasi OS Raspbian!
  2. Lakukan konfigurasi pada Raspberry anda seperti pada gambar berikut:213456
  3. Lakukan konfigurasi IP Adress sebagai berikut:
    • $  ifconfig
    • $ sudo cp     /etc/dhcpcd.conf  /etc/dhcpcd.conf.bak
    • $ sudo nano /etc/dhcpcd.conf78$ sudo /etc/init.d/networking reload  atau
    • $ ifconfig eth0 down
    • $ ifconfig eth0 up
    • $ sudo reboot
    • $ ifconfig
    • Hubungkan raspberry ke internet dan lakukan update!9$ sudo apt-get update
    • $ sudo apt-get dist-upgrade
  4. Lakukan remote desktop ke Raspberry Pi anda! Remote desktop dapat menggunakan berbagai cara: misalnya melalui SSH seperti pada gambar berikut:10menggunakan SSH + X11 Forwarding:11menggunakan aplikasi TeamViewer:12menggunakan aplikasi TightVNC:13atau menggunakan aplikasi RDC (Remote Desktop Connection)14dll.
  5. Buat shell script sederhana pada Raspberry Pi anda!

Have Fun!

Beberapa bahan bacaan:

Tentang konfigurasi IP pada raspbian:

Setting a Static IP for Raspbian Jessie in 2016

https://tutorkeren.com/artikel/cara-yang-benar-mengatur-ip-address-staticdhcp-di-raspberry-pi.htm

Tentang remote akses pada raspbian:

https://eltechs.com/3-ways-to-run-a-remote-desktop-on-raspberry-pi/

http://www.raspberrypiblog.com/2012/10/how-to-setup-remote-desktop-from.html

 

 

Latihan 17 Instalasi Raspberry-Pi

Kepada mahasiswa peserta mata kuliah Pemrograman Shell, hari ini kita akan belajar melakukan instalasi Raspberry-Pi. Ada 2 metode instalasi, silahkan anda pilih salah satu metode berikut:

Penyiapan SDCard Raspbian Jessy

1.Download Raspbian Jessy https://downloads.raspberrypi.org/raspbian_latest

2.Download  Win32DiskImager atau Rufus, lalu instal

https://sourceforge.net/projects/win32diskimager/files/latest/download

https://rufus.akeo.ie/downloads/rufus-2.11.exe

3.Pasang SDCard (min. 4 GB), pada SDCardReader PC/laptop

unbenannt

4.Jalankan Win32DiskImager, pilih image file Raspbian Jessy di path terkait, klik Write

2

5.Jika sudah selesai proses imaging, klik Exit. SDCard siap digunakan.

Booting Raspbian Jessy

1.Lepaskan SDCard dari CardReader, lalu pasang pada slot SDCard di bagian bawah Raspi) 3

2.Dengan memakai converter HDMI2VGA, sambungkan  layar monitor VGA ke slot HDMI Raspi. Nyalakan layar

3.Pasang USB keyboard dan mouse pada slot USB Raspi

4.Pasang power adapter pada sumber  listrik, lalu masukkan ujung microUSB nya ke slot power Raspi.

4

5.Jika penyiapan SDCard di tahap sebelumnya sukses, maka proses booting Raspi akan terlihat pada layar. Jika tidak muncul sesuatu, cabut adapter dari sumber  listrik, lalu cek semua koneksi kabel. Colokkan kembali power adapter.

5

6.Jika proses booting tetap tidak terlihat, kemungkinan proses imaging gagal. Ulangi lagi proses penyiapan SDCard RaspbianJessy


Cara lain instalasi adalah menggunakan NOOBS (New Out-Of-Box Software)

Penyiapan SDCard NOOBS (New Out Of Box Software)

1.Download NOOBS di https://downloads.raspberrypi.org/NOOBS_latest

2.Download  SDFormatter, lalu instal

https://www.sdcard.org/downloads/formatter_4/eula_windows/SDFormatterv4.zip

6

3.Pasang SDCard (min. 4 GB), pada SDCardReader PC/laptop

4.Jalankan SDFormatter. Jika Size tidak menunjukkan ukuran SDCard sebenarnya, pada Option pilih selain Quick format.  Lalu klik Format.

5.Jika sudah selesai, klik Exit. Ekstrak file NOOBS, lalu salin ke SDCard dengan memakai Windows Explorer.

Booting NOOBS

1.Langkahnya persis seperti booting Raspbian Jessy. Jika pengulangan proses booting dan pengecekan tidak menampilkan sesuatu, ulangi lagi proses penyiapan SDCard NOOBS.

2.Jika berhasil, hubungkan dengan internet (wifi/thetering tanpa portal) saat instalasi sehingga muncul tampilan beberapa sistem operasi yang bisa diinstal. Pilih salah satu, pastikan Language dan Keyboard sesuai. { Silakan pilih English (US, internasional) } Klik Install.

3.Tunggu hingga proses instalasi selesai, dan sistem operasi siap.

7

—Seperti biasa buat laporan dan kumpulkan ke email dengan subject latihan 17 shell

Have Fun!—

Bahan bacaan:

https://www.raspberrypi.org/documentation/installation/noobs.md

https://www.raspberrypi.org/learning/noobs-install/

Introducing the New Out Of Box Software (NOOBS)

http://www.zdnet.com/article/hands-on-with-the-raspberry-pi-zero-part-4-wrap-up/

 

Tugas Besar Pemrograman Shell

Kepada mahasiswa peserta kuliah pemrograman Shell, untuk kajian 3 ini kalian diminta untuk membuat tugas besar. Tugas besar pemrograman shell

Pada tugas ini kalian diminta membuat sebuah aplikasi bash, mempresentasikan aplikasi tersebut dan membuat laporan tentang aplikasi tersebut. Aplikasi yang dibuat dapat dipilih salah satu dari tema berikut:

  1. Aplikasi administrasi jaringan di bash
  2. Game di Bash
  3. Aplikasi lainnya

Ketentuan tentang aplikasi yang dibuat harus memiliki

  1. Menu (minimal 3 submenu)
  2. Mengandung fungsi,
  3. Mengandung looping/perulangan
  4. Mengandung statement logika (if then, while …)
  5. Harus ada Animasi
  6. Tidak boleh sama dengan teman
  7. Dapat menggunakan script yang sudah ada, tapi harus dimodifikasi, serta mencantumkan nama pembuat dan link alamatnya pada bagian komentar.
  8. Harus memiliki komentar yang berisi minimal judul aplikasi, deskripsi aplikasi, nama pembuat, keterangan tentang versi/revisi

Sebelum presentasi kalian harus mengajukan dulu tentang aplikasi yang dibuat ke email saya dengan format

  • Judul aplikasi : ……..
  • deskripsi aplikasi : gambaran singkat tentang aplikasi
  • referensi :  … (web/buku)

Bila pengajuan sudah saya setujui, dapat dilanjutkan. Aplikasi yang diajukan dapat ditolak bila sudah ada yang mengajukan dengan fungsionalitas yang sama.

Penilaian diberikan dari:

  • kompleksitas script,
  • presentasi,
  • tampilan dan
  • laporan.

Have Fun!

Rekap Kajian 2 Pemrograman Shell

Untuk mahasiswa pemrograman shell, setelah lama dinanti akhirnya asesmen kajian 2 pun telah tiba. Nah sebagai temen begadang, berikut saya rangkum semua materi yang sudah kita pelajari dari awal kajian 1 sampai akhir kajian 2. Have Fun!

Latihan 16 Shell Programming

Latihan 15 shell programming

Latihan 14 Shell Programming

Latihan 13 Shell

 

Latihan 12 Shell

Latihan 11 Shell

Latihan 10 Shell Programming

Latihan 9 Shell Programming

 

Latihan 8 Shell Programming

Latihan 7 Shell Programming

Latihan 6 Shell Programming

Latihan 5 Shell Programming

Latihan 4 Shell

Latihan 3 Shell

Latihan 2 Shell

Latihan 1 Shell

Latihan 1 Shell

Latihan 16 Shell Programming

Kepada mahasiswa peserta mata kuliah Pemrograman Shell, hari ini kita akan lanjutkan latihan membuat menu. Kali ini kita akan membuat menu yang menarik dan interaktif. Untuk membuat menu yang menarik kita akan gunakan fitur “dialog” pada linux. Silahkan kerjakan latihan 16 shell berikut:

  1. Pastikan anda memiliki “dialog”. bila belum ada, install “dialog” pada linux anda!
  2. Baca halaman manual dari dialog dan sebutkan 10 jenis opsi yang bisa kita gunakan dengan dialog!
  3. Buat sebuah script shell yang menampilkan “checklist box” dengan menggunakan dialog!
  4. Buat sebuah script shell yang menampilkan “Input Box” dengan menggunakan dialog!
  5. Buat sebuah script shell yang menampilkan “menu box” dengan menggunakan dialog!
  6. Buat sebuah script shell yang menampilkan “yes/no box” dengan menggunakan dialog!
  7. Buat sebuah script shell yang menampilkan “info box” dengan menggunakan dialog!
  8. Buat sebuah script shell yang menampilkan “message box” dengan menggunakan dialog!
  9. Buat sebuah script shell yang menampilkan “gauge box” dengan menggunakan dialog!
  10. Buat sebuah script shell yang menampilkan “calendar box” dengan menggunakan dialog!
  11. Buat sebuah script shell yang meminta user memasukkan password (password box) dengan menggunakan dialog! (password yang diketik tidak ditampilkan di layar)

Buat laporan dan kumpulkan ke email dengan subjek latihan 16 shell.

Have Fun!

Beberapa bahan bacaan:

How to create dialog boxes in an interactive shell script

http://www.cyberciti.biz/tips/spice-up-your-unix-linux-shell-scripts.html

http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_06.html

http://www.bashguru.com/2011/01/menu-driven-shell-script-using-dialog.html

http://www.linuxtoday.com/developer/2009123101035OSHLSW

http://www.unixcl.com/2009/12/linux-dialog-utility-short-tutorial.html

Dialog – Create a Simple Menu for Inexperienced Linux Users

http://www.linuxjournal.com/article/2807

Latihan 15 shell programming

Kepada mahasiswa peserta mata kuliah Pemrograman Shell, hari ini kita akan latihan membuat menu. Silahkan kerjakan latihan 15 shell berikut:

  1. Buat script sederhana yang menyediakan beberapa menu pilihan bagi user!
  2. Buat script sederhana yang menyediakan menu pilihan sebagai berikut:

a. Menampilkan tanggal dan waktu
b. Menampilkan user yang login
c. Menampilkan koneksi Jaringan
Silahkan masukkan pilihan anda [1 – 4]

3. Buat sebuah script sederhana yang dapat digunakan  untuk melakukan pemesanan barang/makanan. Script akan meminta User untuk memilih barang  apa saja yang akan dibeli, kemudian user akan memilih berapa banyak barang yang akan dibeli. Setelah itu script akan menampilkan barang apa saja yang dipesan. Buat tampilan yang menarik dan menggunakan warna!

Have Fun!

Referensi:

https://likegeeks.com/bash-script-easy-guide/

http://mywiki.wooledge.org

http://steve-parker.org/sh/first.shtml

http://tldp.org/LDP/Bash-Beginners-Guide/html/

http://tldp.org/LDP/abs/html/

http://www.ibm.com/developerworks/linux/library/l-bash/index.html

http://www.arachnoid.com/linux/shell_programming.html

http://www.hypexr.org/bash_tutorial.php

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

http://www.panix.com/~elflord/unix/bash-tute.html

http://linuxcommand.org/writing_shell_scripts.php

http://bash.cyberciti.biz/guide/Main_Page

http://linuxconfig.org/bash-scripting-tutorial

http://ryanstutorials.net/bash-scripting-tutorial/

http://wiki.bash-hackers.org/scripting/tutoriallist

https://www.guru99.com/introduction-to-shell-scripting.html

Latihan 14 Shell Programming

Kepada mahasiswa peserta kuliah Pemrograman shell, kali ini kita akan belajar mengenai fungsi (subrutin) pada shell. Untuk itu silahkan kerjakan latihan 14 shell berikut ini:

  1. Jelaskan apa kegunaan sebuah fungsi pada sebuah shell script!
  2. Jelaskan bagaimana cara penulisan sebuah fungsi pada shell script!
  3. Jelaskan bagaimana caranya agar fungsi pada sebuah script berjalan pada background proses!
  4. Jelaskan apa yang dimaksud dengan recursive function!
  5. Buat sebuah script shell yang memiliki sebuah fungsi bebas!
  6. Buat sebuah script shell yang memiliki sebuah fungsi menambahkan sebuah user ke sistem!
  7. Buat sebuah script shell yang memiliki sebuah fungsi menambahkan sebuah grup ke sistem!
  8. Buat sebuah script shell yang memiliki sebuah fungsi mengganti password user!
  9. Buat sebuah script shell yang memiliki sebuah fungsi menghapus sebuah user dari sistem!

Buat laporan dan kirimkan ke email dengan subjek latihan 14 shell

Have Fun!

Referensi:

http://mywiki.wooledge.org

http://steve-parker.org/sh/first.shtml

http://tldp.org/LDP/Bash-Beginners-Guide/html/

http://tldp.org/LDP/abs/html/

http://www.ibm.com/developerworks/linux/library/l-bash/index.html

http://www.arachnoid.com/linux/shell_programming.html

http://www.hypexr.org/bash_tutorial.php

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

http://www.panix.com/~elflord/unix/bash-tute.html

http://linuxcommand.org/writing_shell_scripts.php

http://bash.cyberciti.biz/guide/Main_Page

http://linuxconfig.org/bash-scripting-tutorial

http://ryanstutorials.net/bash-scripting-tutorial/

http://wiki.bash-hackers.org/scripting/tutoriallist

https://www.guru99.com/introduction-to-shell-scripting.html

Latihan 13 Shell

Untuk mahasiswa peserta kuliah pemrograman Shell, silahkan kerjakan latihan 13 perulangan shell berikut:

  1. Buat script perulangan yang menggunakan infinite loop!
  2. Jelaskan apa yang dimaksud dengan nested loop!
  3. Buat script perulangan yang menghasilkan keluaran sebagai berikut:
    1
    22
    333
    4444
    55555
  4. Buat script perulangan yang menghasilkan keluaran sebagai berikut:Bildschirmfoto 2016-03-02 um 05.27.29
  5. Buat sebuah script perulangan yang menghasilkan keluaran papan catur seperti pada gambar di bawah ini!chess-board

Have Fun!