Chereads / Sistem Teknologi Gelap / Chapter 47 - Kembangkan Aplikasi Pelatihan

Chapter 47 - Kembangkan Aplikasi Pelatihan

Ruangan Komputer terasa agak sepi dan tidak ada orang di dalamnya.

Itu karena sekarang sedang liburan musim panas, jadi tidak ada mahasiswa yang menggunakan ruangan tersebut.

Ketika Luzhou berjalan masuk dan menyalakan pendingin ruangan, ia menemukan sebuah komputer dan akhirnya duduk, lalu memasukkan nomor induk mahasiswanya dan kata sandinya agar bisa menggunakan komputer.

Alasan mengapa ia memilih untuk menggunakan komputer yang ada di dalam ruangan komputer adalah, karena sebagian besar program yang ditulis dalam Bahasa Python dijalankan di bawah sistem Linux. Mempelajari Python memakai komputer yang menggunakan sistem Linux berarti sama dengan memecahkan dua masalah dalam waktu yang bersamaan.

Laptop bekas Luzhou tidak bisa diandalkan. Pada saat ia membuat makalahnya dulu, ia membutuhkan banyak waktu hanya untuk mengubah makalahnya ke format pdf. Lalu ketika ia memainkan permainan League of Legends, saat yang lainnya sudah bertarung, ia masih berada di mata air dan tertinggal jauh di belakang.

"Meskipun semua informasinya sudah tertulis dengan jelas di buku, tetapi praktik secara langsung ternyata jauh lebih susah."

Luzhou yang menggunakan Linux untuk pertama kalinya pun merasa kebingungan. Setelah ia membaca instruksinya di buku yang ia pinjam dari perpustakaan, akhirnya ia mengerti.

Pantas saja Windows lebih banyak digunakan oleh masyarakat, karena mudah digunakan, bahkan oleh orang yang belum pernah menggunakan komputer.

Berbeda dengan sistem Linux. Pada dasarnya Linux merupakan mode operasi baris perintah, di mana semua operasinya dapat dilakukan dengan menggunakan keyboard. Untungnya, komputer kampus juga dilengkapi dengan distribusi lingkungan desktop. Jika tidak, Luzhou tidak akan pernah tahu apa itu mouse.

Linux juga memiliki beberapa keunggulan, yakni kemampuan penyesuaiannya dan keamanannya membuat Linux lebih cocok digunakan untuk server jika dibandingkan dengan windows. Sekali terbiasa dengan operasi baris perintah seperti Linux, maka efisiensi dalam penggunaannya akan menjadi berkali lipat lebih tinggi daripada sistem windows. Jadi, banyak perusahaan bertanya-tanya apakah mereka mampu menggunakan sistem Linux ketika hendak merekrut programmer.

Setelah terbiasa dengan operasi dasar sistem Linux, Luzhou lalu membuka perangkat lunak Python, dan juga buku yang ia pinjam dari perpustakaan. Saat ini Luzhou terlihat kebingungan.

"Salah satu kegunaan Python adalah untuk membuat web crawling. Jika ingin menguji hasil pembelajarannya tentang pemrograman, ini merupakan jalan yang terbaik untuk memulainya… tetapi apa itu web crawling?"

(Web Crawling adalah aplikasi script program untuk melakukan scan ke semua halaman di internet dan dibuatkan index untuk data yang di carinya.)

Luzhou kemudian berpikir sebentar.

Bagaimana kalau ia melakukan web crawling di bagian posting blog situs Weibo?

Atau di Baidu?

Sepertinya tidak terlalu menarik.

Yang pasti, data yang telah diperoleh dari web crawling sangatlah banyak hingga tidak ada tempat lagi untuk menyimpannya.

Tiba-tiba, Luzhou teringat tentang betapa sulitnya mendapatkan tiket pulang. Bukan karena kartu komputernya, tetapi karena Desain UI (Desain Antarmuka Pengguna) dari situs web resmi Kementrian Kereta Api benar-benar menyusahkan.

"Melakukan pencarian data untuk setiap stasiun kereta, nomor kereta, dan sisa tiket di situs web 12306 dengan crawling sepertinya bisa bekerja."

Luzhou lalu segera memulai pekerjaannya.

Sebagai contoh dari pengaplikasian Bahasa Python, ada pula templat program crawling yang disebutkan di dalam buku, dan cara untuk memperbaiki algoritma dalam berbagai tingkatan.

Tentu saja, 12306 itu bukanlah forum BBS yang umum, jadi 12306 itu sulit untuk digunakan bagi para pemula.

Bagi seorang mahasiswa terbaik seperti Luzhou, yang telah membaca bukunya secara keseluruhan, itu bukanlah masalah besar. Web Crawling sebenarnya bukanlah hal yang sulit, hanya butuh kurang dari 30 baris kode untuk mengerjakan seluruh programnya, hingga akhirnya dapat berjalan dengan sempurna tanpa bug.

Kemudian diikuti dengan menjelajahi web.

Luzhou memilih untuk menjalankannya dengan menyalin URL situs webnya di belakang kode, lalu data yang dihasilkan dimasukkan ke dalam bentuk tabel dan akhirnya dimasukkan ke dalam folder yang telah dibuat sebelumnya.

Lalu kipas angin yang ada di dalam CPU komputer mulai berdengung, dan komputernya pun macet. Kemudian muncul barisan kode di layar.

Luzhou yang sedang duduk bersandar di atas kursi sambil melihat folder yang terus-menerus diisi.

"Bahasa python benar-benar mudah, tidak heran banyak orang yang merekomendasikannya."

Ketika ia melihat deretan data tersebut, Luzhou membayangkan dirinya menjadi seorang hacker yang sangat hebat.

Tapi tentu saja, itu hanya bayangannya saja. Karena yang ia lakukan sekarang sama sekali tidak ada kaitannya dengan meretas. Web Crawling bukanlah tindakan ilegal, tetapi bisa dikecam oleh pemilik web utama.

Oleh karena itu, banyak situs web yang tergolong 'pelit' dan memiliki program anti-Crawling yang membuat siapapun tidak bisa melakukan web crawling. Lalu program anti-web crawling yang berteknologi rendah juga mampu memantau jumlah kunjungan situs web dan mengunci ip orang yang melakukan web crawling.

Namun situs web 12306 bukanlah situs web yang pelit. Situs tersebut tidak mempedulikan pengalaman pengguna, selama tidak ada satupun yang berani mengg anggu server milik orang lain.

Saat ia melihat data nomor kereta yang terus-menerus menumpuk di dalam folder, Luzhou memalingkan matanya dan bertanya-tanya apakah yang harus ia lakukan.

"Apakah aku harus membuat situs web pemesanan tiket kereta? Sepertinya agak tidak masuk akal…"

Tiba-tiba Luzhou menemukan jalan keluar.

Bagaimana kalau…

Membuat aplikasi pemesanan tiket online?

Lalu ia pun mulai memikirkan ide tersebut dengan serius.

Sekalipun ada banyak aplikasi pemesanan tiket, tetapi masih belum ada aplikasi pemesanan tiket yang resmi. Jika ia dapat membuat sesuatu yang berbeda dan menjualnya kepada para operator yang tertarik, ia mungkin akan bisa mendapatkan bayaran.

Begitu hal ini melibatkan uang, Luzhou tiba-tiba menjadi semakin tertarik.

Secara teknis, mengembangkan aplikasi secara mandiri dari awal sampai akhir merupakan hal yang sulit. Mengembangkan aplikasi secara mandiri berbeda jauh dengan membuat program web crawling yang sederhana, tetapi hal tersebut tidak mustahil untuk dilakukan. Terlebih lagi, algoritma yang tidak dapat dipecahkan masih bisa ia tanyakan pada sistem.

Ketika ia menyelesaikan misi hadiah dan membuka teknologi cabang berupa kecerdasan buatan LV0, pengalaman berharga ini pasti akan berguna.

Tetapi ia khawatir kalau harus menghabiskan banyak uang untuk membeli dan memelihara sebuah server. Luzhou juga khawatir kalau harus mengeluarkan banyak biaya listrik dan berbagai macam biaya perawatan untuk mengoperasikan sebuah server.

Luzhou khawatir jika ia tidak mampu menyalakan servernya.

Luzhou menggertakkan giginya, lalu memutuskan untuk mengatasi kesulitan ini.

Apalagi yang bisa ia lakukan setelah menolak gaji tahunan sebesar 500.000 Yuan?

Luzhou bahkan sudah bekerja sebagai seorang guru les.

Pada akhirnya Luzhou menutup programnya dan ia tidak terburu-buru untuk mulai mengubah kodenya. Sebaliknya, ia membuka dokumen word dan mulai merancang proses pengembangan aplikasi, sama seperti ia menulis garis besar makalah.

"Pemesanan tiket kereta api membutuhkan server yang memiliki daya kinerja tinggi, jadi kodenya harus dibuat sesederhana mungkin."

"Tampilannya harus dibuat sederhana, tetapi informasinya harus akurat dan lengkap, agar bisa merujuk pada aplikasi pemesanan tiket pihak ketiga yang tersebar luas, tetapi tidak boleh terlalu mirip."

Setelah selesai membuat garis besarnya, Luzhou tampak berpikir sebentar sebelum kembali mengetik di atas keyboard.

"Pertama-tama harus bisa membuat pengambilan tiket secara otomatis. CM Browser dan 360 browser sudah memiliki fungsi ini sejak dulu."

"Tapi pengambilan tiket secara otomatis sepertinya belum pernah ada." Luzhou teringat akan liburan musim dingin tahun lalu, saat ia terlambat memesan tiket. Hal tersebut membuat Luzhou tidak bisa merayakan Tahun Baru di rumah. Kemudian ia melihat ada beberapa orang yang berada di dalam kamar asrama, sedang duduk di depan komputer dan menekan tombol F5 selama setengah jam, hanya untuk mendapatkan beberapa lembar tiket untuk pulang.

Dengan memperbaharui situs web resmi secara terus-menerus, maka ada peluang untuk mendapatkan tiket dari pengguna lain yang membatalkan pemesanan tiket. Luzhou masih belum yakin, tetapi fungsi tersebut dapat dipertimbangkan.

Dengan mengatur periode waktu dan beberapa waktu kereta, lalu server akan membantu para pengguna untuk memperbaharui data secara otomatis dan memberikan pesanannya pada saat tiket yang tersisa muncul.

Dan sepertinya algoritmanya tidak begitu sulit untuk diterapkan.

Sembari memikirkan hal tersebut, Luzhou kemudian mengangkat kepalanya dan melihat jam dinding.

Sekarang sudah jam 3 sore!

Akhirnya ia memutuskan untuk menyimpan dokumen word, lalu menggulung lengan bajunya dan menaruh kedua tangannya di atas keyboard.

"Saatnya bekerja!"