Penerapan Scripting (revisi 121003-r04)

Kembali ke Lab 03

  • 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. Buka berkas tersebut di vi.
    $ vi 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 TOKEN dengan token anda.
    $ vi kodesoal

    # Nama NPM mengerjakan soal scripting. As if I have nothing else to do :/
    # ZCZC TOKEN
    
    # 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 48 - 52.
    
    # Mencari angka ke 36 - 32 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 5 angka yang terdapat di berkas tersebut mulai dari angka ke 48.
  4. Cari 5 angka mulai dari angka ke 36 dari belakang, dengan kata lain angka ke 36 - 32 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 48 - 52
    angka 36 - 32 dari belakang

    Contoh jawaban adalah:
    1202000818
    384
    24
    192
    01011
    10101
  • Demikian akhir Penerapan Scripting.

Kembali ke Lab 03
Kembali ke Wiki