MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

16
MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING A. TUJUAN PERKULIAHAN a. Mahasiswa mengenali konsep FTP b. Mahasiswa mengenali konsep File Reading c. Mahasiswa mampu mengimplementasikan pengiriman file dengan FTP d. Mahasiswa mampu membaca file dengan PHP B. ALOKASI WAKTU 3 x 50 menit C. DASAR TEORI 1. DEFINISI FTP File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP. FTP dikembangkan oleh Abhay Bhushan (alumni IIT dan MIt) pada tahun 1970-an, saat masih bekerja pada proyek ARPAnet. Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client. FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client. FTP client adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file. Setelah terhubung dengan FTP server, maka client dapat men-download, meng-upload, merename, men-delete, dll sesuai dengan permission yang diberikan oleh FTP server.

Transcript of MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

Page 1: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

MODUL 10

PEMROGRAMAN WEB

FTP DAN FILE READING

A. TUJUAN PERKULIAHAN

a. Mahasiswa mengenali konsep FTP

b. Mahasiswa mengenali konsep File Reading

c. Mahasiswa mampu mengimplementasikan pengiriman file dengan FTP

d. Mahasiswa mampu membaca file dengan PHP

B. ALOKASI WAKTU 3 x 50 menit

C. DASAR TEORI

1. DEFINISI FTP

File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file

dalam suatu network yang menggunakan TCP koneksi bukan UDP. FTP dikembangkan oleh

Abhay Bhushan (alumni IIT dan MIt) pada tahun 1970-an, saat masih bekerja pada proyek

ARPAnet.

Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client. FTP server adalah suatu

server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar

file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan

(request) dari FTP client.

FTP client adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar

file. Setelah terhubung dengan FTP server, maka client dapat men-download, meng-upload,

merename, men-delete, dll sesuai dengan permission yang diberikan oleh FTP server.

Page 2: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

2. FUNGSI FTP

Ada beberapa fungsi FTP yang saat ini banyak digunakan, seperti untuk mengunggah halaman

website melalui Internet ke dalam web hosting. Fungsi lain seperti memperbarui revisi dari

program yang dilakukan oleh aplikasi FTP developer. Lengkapnya, berikut ini adalah fungsi

dari FTP yang saat ini ada.

• Melakukan upload halaman website ke dalam web server/web hosting ke internet

• Menjelajah dan mengunduh file dari situs perangkat lunak publik

• Mengirimkan file yang berukuran besar yang mungkin saja terlalu besar untuk lampiran

di dalam email

• Mendistribusikan revisi terakhir program yang dilakukan oleh pengembang perangkat

lunak

• Pengiriman file dapat dilakukan secara terjadwal dan terencana

Tentu saja tidak hanya itu, ada banyak fungsi FTP lain yang bisa dimanfaatkan dalam

melakukan pekerjaan sehari-hari. Anda dapat mengembangakannya sendiri dan menyesuaikan

dengan kebutuhan penggunaan yang dibutuhkan. Namun, pada dasarnya fungsi sederhana dari

FTP adalah untuk memudahkan pengguna memindahkan file dari satu tempat ke tempat yang

lainnya.

3. FTP CLIENT

Di internet saat ini banyak sekali aplikasi FTP client yang tersedia. Salah satu aplikasi FTP

yang terkenal adalah FileZilla. Aplikasi FTP ini banyak digunakan untuk melakukan remote

FTP. Tidak hanya lengkap, melainkan juga dapat digunakan di berbagai macam sistem operasi,

seperti Linux dan Windows. Berikut ini adalah 3 contoh FTP client yang tersedia di internet.

• FileZilla

FileZilla FTP Client merupakan FTP client yang banyak digunakan untuk melakukan koneksi

remote FTP dengan fitur yang lengkap. Aplikasi FTP ini mendukung di beberapa sistem

operasi terkenal seperti Linux dan Windows. Kelebihannya adalah dapat melakukan transisi

simultan. Ketika meng-upload file tetapi koneksi terputus maka dapat diulang kembali. Namun

aplikasi FTP ini memiliki kekurangan yaitu membutuhkan waktu yang lama untuk

mengunggah berkas (file), jadi semakin banyak dan semakin besar berkasnya maka semakin

lama pula proses uploadnya.

Page 3: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

• WINSCP

Meskipun tidak sepopuler FileZilla, WinSCP merupakan aplikasi yang juga cukup populer,

apalagi untuk pengguna Windows. Beberapa protokol yang dapat ditangani oleh WinSCP

adalah SFTP, SCP, FTP, dan WebDev. Kelebihan dari WinSCP adalah dukungan SSH

password, keyboard interaktif, public key, dan otentikasi Kerberos. Selain juga terintegrasi

dengan Pageant atas dukungan penuh otentikasi kunci publik dengan SSH. Sayangnya, aplikasi

FTP ini hanya bisa digunakan di Windows saja.

Page 4: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

• GFTP

Apa itu FTP GFTP? GFTP merupakan aplikasi FTP client yang hanya tersedia di sistem

operasi Linux. Aplikasi ini adalah proyek sumber terbuka, jadi boleh dikembangkan dan

dipakai oleh siapa saja. Sudah mendukung protokol FTP, FTPS, HTTP, HTTPS, SSH, FSP.

Sayangnya aplikasi FTP ini hanya bisa digunakan untuk melakukan koneksi FTP

menggunakan antar jaringan lokal saja.

Page 5: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

Selain tiga aplikasi di atas, tentunya masih ada beberapa aplikasi FTP client yang saat ini tersedia.

Adapun cara lain untuk upload file ke dalam server, bisa dilakukan dengan kode PHP. Perintah

yang biasa digunakan untuk upload file dengan FTP adalah :

• ftp_connect($ftp_server) → Digunakan untuk mengakses alamat FTP server terlebih

dahulu sebelum masuk ke kredensial. Parameter yang digunakan adalah alamat FTP server

• ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) → Digunakan untuk

memasukkan username dan password yang menjadi kredensial login FTP server.

Parameter yang digunakan adalah status dari ftp_connect, username dan password dari FTP

server

• ftp_put($conn_id, $server_file, $source_file, $mode) → Digunakan untuk

mengirim file sesuai ke dalam FTP server. Parameter yang digunakan adalah status dari

ftp_connect, nama file yang diinginkan di server, nama file awal, serta mode transmisi data

file.

• ftp_close → Digunakan untuk menutup sesi pengiriman file dengan FTP.

4. CARA KERJA FTP

Page 6: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

Cara kerja FTP dapat dijabarkan dengan urutan sebagai berikut :

a. FTP server menunggu request dari perangkat client

b. FTP client di install di komputer client

c. Komputer client melakukan request masuk ke FTP server melalui port nomor 21, dan

melakukan autentifikasi username dan password

d. Komputer server me-respon dengan memberikan koneksi melalui port nomo 1043

e. Komputer client melakukan aktivitas download melalui port 21 dan upload melalui port 20

f. Komputer server menerima akses download dengan port nomor 1043 dan upload engan

nomor port 1045

Page 7: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

5. FILE WRITING AND READING

Dalam modul ini, Anda akan belajar beberapa fungsi penting dalam PHP yang memadai untuk

semua file dasar membaca dan menulis kebutuhan. Anda akan belajar bagaimana untuk

membaca file, menulis ke file, menulis ke file teks, dan memeriksa jika file tersedia. PHP juga

menyediakan banyak fungsi untuk membaca dan menulis data ke file sesuai dengan ekstensi

masing-masing. Ekstensi file yang biasa dipakai dalam file reading adalah *.txt, *.xml, *.xls

dan masih banyak lagi. Di dalam modul ini akan dijelaskan cara memeriksa keberadaan file,

membaca file dan menulis konten ke dalam file secara umum.

1 Periksa Keberadaan File

Langkah pertama ketika Anda mencoba untuk membaca data dari sebuah file atau menulis

sesuatu yakni harus memeriksa jika file yang sudah ada. Jika kode membaca data dari

sebuah file yang tidak ada maka dapat mengakibatkan peringatan dari PHP dan mungkin

akan muncul error dari kode Anda.

Cara termudah untuk memeriksa apakah file ada adalah dengan menggunakan fungsi

file_exists($filename) PHP.

Kode akan memiliki nilai balikan true jika file atau direktori dengan $filename tertentu

ada dan false jika tidak.

Parameter $filename tidak harus berupa nama file, namun bisa diisi dengan path direktori

Anda. Sebagai contoh, kita bisa menggunakan prime_numbers.txt atau science/project/

prime_numbers.txt.

Penting untuk diperhatikan bahwa fungsi ini juga akan return false untuk file yang tidak

dapat diakses karena pembatasan safe mode.

Fungsi lain yang dapat Anda gunakan untuk memeriksa keberadaan file adalah is_file().

Berbeda dengan file_exists(), fungsi ini hanya akan mengembalikan true jika yang

diakses adalah benar-benar merupakan file yang valid.

2 Memastikan File Benar-benar Ada

Jika Anda melakukan banyak operasi file pada kode Anda, Anda mungkin mendapatkan

hasil yang salah menggunakan fungsi di atas. Hal ini karena hasil eksekusi file_exists()

dan is_file() menggunakan cache untuk meningkatkan kinerja pengaksesan file. PHP

juga melakukan caching nilai-nilai yang dikembalikan oleh fungsi file system lainnya

seperti filesize(), filemtime(), dll.

Page 8: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

Untuk menghindari hal tersebut. Anda dapat menggunakan clearstatcache() untuk

memastikan bahwa setiap informasi yang Anda akses file up-to-date.

Hal ini umumnya hanya akan bermasalah jika file yang sama sedang diakses beberapa kali

dalam satu skrip. Mungkin saja Anda tidak akan menghadapi masalah terkait caching, tapi

lebih baik untuk tahu bahwa Anda bisa membersihkan cache dalam hal expiring file.

3 Membaca dari Dalam File

Salah satu cara untuk membaca data dari file dalam PHP adalah dengan bantuan dari fungsi

file_get_contents ($filename, $include_path, $context, $offset, $maxlen).

Berikut penjelasan masing-masing parameter:

• Perintah ini akan membaca seluruh file dan menyajikannya kepada Anda dalam

bentuk string. Semua parameter kecuali yang pertama bersifat opsional. Parameter

pertama adalah nama dari file yang hendka dibaca

• Parameter kedua menerima sebuah nilai boolean untuk menentukan lokasi jika

harus mencari file dalam lokasi yang ditentukan oleh sertakan path, yang dapat

diatur menggunakan fungsi include_path().

• Parameter ketiga digunakan untuk menentukan opsi bagaimana file yang diakses.

Anda dapat menggunakannya untuk menentukan nilai header seperti cookie dan

Host serta metode HTTP.

• $offset parameter menentukan titik mana membaca dimulai pada file sumber.

Berikan nilai negatif jika akan mulai menghitung dari ujung belakang. Dukungan

untuk offset negatif hanya ditambahkan pada PHP 7.1.0.

• Fungsi file_get_contents() membaca seluruh file sekaligus secara default.

Apabila anda memberikan nilai $maxlen parameter, maka panjang karakter

dihitung sebanyak nilai offset dari $maxlen.

Fungsi ini akan return false jika gagal untuk membaca data dari file yang Anda tentukan.

Anda dapat menggunakan fungsi ini untuk membuka berkas remote, tapi itu akan mungkin

hanya jika nilai opsi allow-url-fopen dalam php.ini true atau 1.

Selain fungsi file_get_contents(), Anda juga dapat menggunakan fungsi fread()

untuk membaca file. Baca dokumentasi selengkapnya di w3schools

https://www.w3schools.com/php/php_file_open.asp

Page 9: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

4 Menulis ke Dalam File

Untuk menulis data ke file di PHP dapat dilakukan dengan fungsi

file_put_contents ($filename, $data, $flags, $context).

Berikut adalah penjelasan dari masing-masing parameter:

• $filename menentukan nama berkas di mana data akan ditulis.

• Parameter kedua adalah data yang Anda ingin menulis ke file. Ingat bahwa PHP

akan secara otomatis membuat file dengan nama yang diberikan oleh Anda.

Namun, parameter ini tidak akan membuat direktori. Ini berarti bahwa Anda dapat

menyimpan file dengan nama coba.txt tanpa kesalahan. Namun akan

mengakibatkan kesalahan untuk folder/subfolder/coba.txt, jika folder/subfolder/

tidak ada.

• $flags menentukan bagaimana konten akan ditulis ke file. Parameter ini dapat diisi

salah satu atau semua tiga nilai berikut:

o FILE_USE_INCLUDE_PATH—nilai ini memberitahu PHP untuk mencari

nama file tertentu dalam direktori.

o FILE_APPEND— nilai ini akan memberitahu PHP untuk menambahkan data

Anda dikirimkan ke fungsi untuk data yang ada dalam file. Hal ini sangat

berguna jika Anda menyimpan data dalam file seperti log atau sebuah diary

pribadi.

o LOCK_EX— nilai ini akan memberitahu PHP untuk mendapat kunci pada file

sebelum mulai menulis konten ke dalamnya. Hal ini dapat mencegah hal-

hal tak terduga terjadi ketika dua skrip yang berbeda membaca atau menulis

data ke file yang sama. Dengan nilai yang tertentu ini, Anda akan

mendapatkan kunci eksklusif pada file. Anda dapat membaca lebih lanjut

tentang ini kunci dalam dokumentasi PHP fungsi flock().

• $context mengembalikan jumlah byte yang ditulis untuk file jika berhasil dan

false pada jika gagal.

Selain mnggunakan fungsi file_put_content(), Anda juga dapat menggunakan fungsi

fwrite() untuk menuliskan isi dalam file. Baca dokumentasi selengkapnya di w3schools

https://www.w3schools.com/php/php_file_create.asp

Page 10: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

5 CONTOH a. Menulis dan Membaca file

<?php

$filename = 'file/baru.txt';

if (file_exists($filename)){

//membaca file dilanjutkan menulis file

$book_content = file_get_contents($filename);

file_put_contents('coba.txt', $book_content, LOCK_EX);

} else {

echo "file tidak ditemukan";

}

$filename = 'file/123.txt';

if (file_exists($filename)){

//membaca file dilanjutkan menampilkan isinya

$txt_content = file_get_contents($filename);

$txt_content_lowercase = strtolower($txt_content);

$individual_words = explode(' ', $txt_content_lowercase);

echo "Ada sejumlah ".count($individual_words)." Kata dalam

file ".substr($filename, 0, -4).".\n";

echo "<br> Isinya : $txt_content_lowercase";

} else {

echo "file tidak ditemukan";

}

?>

b. Mengirim file dengan PHP

<?php

$ftp_server = "saddang.com";

$ftp_username = "[email protected]";

$ftp_password = "pemrogramanweb";

$source_file = 'file/123.txt';

$target_file = 'target.txt';

// set up koneksi

$conn_id = ftp_connect($ftp_server);

Page 11: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

// login dengan username dan password

$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);

ftp_pasv($conn_id, true);

// cek koneksi

if ((!$conn_id) || (!$login_result)) {

echo "<h1>FTP gagal tersambung!</h1>";

exit;

} else {

echo "<h1>Koneksi ke $ftp_server berhasil</h1>";

}

// upload file

$upload = ftp_put($conn_id, $target_file, $source_file, FTP_BINARY);

// cek status upload

if (!$upload) {

echo "FTP upload gagal!";

} else {

echo "File $source_file berhasil diupload ke $ftp_server dengan nama

$target_file";

}

// tutup sesi FTP

ftp_close($conn_id);

?>

D. PRAKTIKUM : SAVE AND READ FILE

A. Brief Overview

Kita akan membuat kode untuk menyimpan data ke dalam file dengan format TXT dan

kemudian membacanya TXT itu adalah file text dasar yang biasa dibuka menggunakan

notepad atau text editor sederhana. pertama kali kita perlu memahami dahulu fungsi

apa saja yang akan digunakan. fungsi-fungsi tersebut ada tiga buah yaitu

- fopen()

- fwrite()

- fclose()

Page 12: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

1 Buat folder “pemweb/pertemuan12” di dalam root diectory dari web server

c:\xampp\htdocs\. Di dalamnya, buat lagi folder dengan nama “file”

2 Gunakan bootstrap sebagai template aplikasi kita. Ambil saja starter template yang

tersedia di https://getbootstrap.com/docs/5.0/getting-started/introduction/

3 Tambahkan navigasi untuk memudahkan kita dalam mengakses file lainnya. Ubah

baris kode di bagian body menjadi seperti berikut.

Page 13: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

4 Selanjutnya kita isi di bagian bawah navigasi dengan form untuk membuat file yang

terdiri dari nama file dan isi file. Form akan mengarah pada file simpan.php.

5 Buat file simpan.php yang akan menerima input parameter dari index.php. isi dengan

kode berikut.

Page 14: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

6 Kembali ke index.php, tambahkan kode berikut di antara main container dan main

card.

7 Selamat! Halaman penyimpanan file sudah berhasil dibuat. Selanjutnya kita buat

halaman pembacaan file. Buat file dengan nama baca.php lalu ubah bagian <main>

menjadi seperti berikut

Page 15: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

8 Panggil seluruh daftar file yang ada di dalam folder “file” dengan menambah kode

berikut pada card pertama.

9 Baca isi file yang dipilih dengan menambah kode berikut pada card kedua.

Page 16: MODUL 10 PEMROGRAMAN WEB FTP DAN FILE READING

10 Hasil akhir

11 Oke, sudah semua. Sekarang simpan file dan kompres rar/zip file dengan format

NIM_Nama_PW12

12 Kirim semua file yang telah dibuat (php dan txt) dengan menggunakan FTP dengan

konfigurasi berikut

Host : saddang.com

Username : [email protected]

Password : pemrogramanweb

Port : kosongkan / 21

E. REFERENSI

https://www.w3schools.com/php/php_file.asp

https://www.belajarwebpedia.com/2017/11/menyimpan-data-pada-file-txt-dengan-php.html

https://code.tutsplus.com/id/tutorials/reading-and-writing-data-to-files-in-php--cms-32117

http://notepadsederhana.blogspot.com/2011/11/membuat-dan-membaca-file-txt.html