Penerapan Scripting (revisi 140716-r02)

Kembali ke Lab 01

  • Eksekusi program gentext
    $ gentext NPM tanya.txt

    Ganti NPM dengan NPM anda, contohnya:
    $ gentext 1202000818 tanya.txt
  • Di direktori anda akan ada sebuah berkas: tanya.txt. Lihat isi berkas dengan perintah cat.
    $ cat tanya.txt
  • Ternyata di dalamnya hanya ada angka 1 dan 0. Contohnya kalau saya yang menjalankan, berikut yang keluar.
    101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000101011000
    

    Perhatian: isi teks di atas akan berbeda untuk tiap mahasiswa.
  • Buat sebuah berkas dengan nama kodesoal dengan isi di bawah. Ganti Nama dengan nama anda, NPM dengan NPM anda, dan KELAS dengan kelas anda.
    $ vi kodesoal

    # Nama mengerjakan soal scripting. As if I have nothing else to do :/
    # ZCZC NPM KELAS
    
    # Mengambil isi berkas dan memuatnya ke dalam sebuah variabel.
    teks=`cat $1`
    echo "$teks" 
    
    # Mencari jumlah kombinasi 10110.
    
    # Mencari jumlah kombinasi 11100.
    
    # Mencari jumlah kombinasi 10101.
    
    # Mencari angka ke 40 - 45.
    
    # Mencari angka ke 33 - 29 dari belakang.
  • Ubah hak akses berkas kodesoal menjadi 755. Kemudian coba eksekusi script kode dengan input berkas tanya.txt yang telah kita generate.
    $ chmod 755 kodesoal
    $ ./kodesoal tanya.txt

    Sama seperti di tutorial, script ini fungsinya memasukkan isi berkas tanya.txt ke variabel teks dan mencetaknya ke layar.
  • Kini kita akan memodifikasi berkas kodesoal. Dengan pengetahuan yang telah anda dapatkan di tutorial sebelumnya, tambah script di berkas kodesoal untuk mencari hal-hal berikut:
  1. Pertama-tama kita ganti dulu bagian yang mencetak isi berkas tanya.txt menjadi mencetak NPM anda. Ganti NPM dengan NPM anda.
    vi kodesoal

    teks=`cat $1`
    echo "NPM"
  2. Di dalam berkas tanya.txt, cari ada berapa banyak kombinasi angka berikut:
    1. 10110
    2. 11100
    3. 10101
  3. Cari 6 angka yang terdapat di berkas tersebut mulai dari angka ke 40.
  4. Cari 5 angka mulai dari angka ke 33 - 29 dari belakang. Untuk contohnya, di dalam string aaBBccDDyyXX, maka angka ke 6 - 3 dari belakang adalah DDyy. Hint: gabungkan cara mencari panjang string dengan cara mencari substring dari posisi tertentu yang sudah anda lakukan sebelumnya.
  5. Eksekusi script anda dan masukkan outputnya ke berkas jawab.txt dengan isi jawaban anda dengan format sebagai berikut:
    ./kodesoal tanya.txt > jawab.txt

    NPM
    jumlah_10110
    jumlah_11100
    jumlah_10101
    angka 40 - 45
    angka 33 - 29 dari belakang

    Contoh jawaban kira - kira seperti:
    1202000818
    201
    102
    192
    001011
    00011
    
  • Demikian akhir Penerapan Scripting.

Kembali ke Lab 01
Kembali ke Wiki