Posts

Showing posts from 2022

Pertemuan 12 Socket Programming Gui dengan Python

Image
Modul 10  GUI dengan Python Dasar Teori Python menyediakan berbagai cara untuk membuat aplikasi dengan Graphical User Interface (GUI). Salah satu library yang paling sering digunakan adalah tkinter. Jalankan perintah berikut untuk instalasi library Tcl/Tk: sudo apt-get install python3-tk Verifikasi hasil instalasi melalui terminal dengan perintah berikut. Percobaan Percobaan 1 1. Buatlah file baru 2. Kemudian ketikkan kode program berikut 3. Simpan file tersebut dengan nama hello.py 4. Jalankan file hello.py Analisa : pada program diatas menghasilkan GUI yang mencetak text hello world yang di mainloop dan tidak bisa di ubah ketika import Tkinter, Kita juga bisa memanggil semua metode, kelas, dan atribut dari modul Tkinter dengan menggunakan from Tkinter import * Membuat Jendela Aplikasi GUI, Setiap aplikasi GUI seharusnya memiliki sebuah jendela utama (root window), yang dapat berisi berbagai komponen yang diperlukan dalam aplikasi yang akan dibuat. Untuk membuat jendela utama da...

Pertemuan 11 Latihan Software Security Design

Image
Software Security Design Masalah Desain • Masalah desain terkait business logic flaw (bukan bugs karena kode belum dibuat) • Memperbaiki masalah (security) yang terjadi di production 100x lebih mahal daripada ketika pada fase desain • specification → architectural blueprint  →  code Contoh Kesalahan Desain • Banyak aplikasi tidak melakukan verifikasi email (sebagai identitas) untuk pembuatan akun, reset password, dll • Akibat kesalahan yang dapat berakibat fatal • Orang lain dapat membuat akun kita dengan alamat email orang tersebut, kita tidak  dapat membuat akun dilayanan tersebut • Reset password ke akun orang tersebut. • Yang seharusnya dilakukan adalah: • Pengguna mengisikan alamat email sebagai akun • Email dikirimkan dengan tautan (link) yang unik • Tunggu pengguna melakukan klik terhadap tautan (untuk verifikasi) • Akun baru dibuat Setelah sistem mendapatkan verifikasi tersebut Security is a Concern not a Feature • Contoh: • User authentication pada websi...

Laporan Pertemuan 11 Socket Programming Multirecipient

Image
Modul 9  Multirecipient Dasar Teori      Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Setelah sebelumnya kita mempelajari beberapa metode untuk penanganan request dari banyak client ke server, maka muncul pertanyaan Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Ada beberapa solusi yang dapat diterapkan diantaranya adalah menggunakan fasilitas yang disediakan oleh jaringan yaitu broadcast dan multicast. Dalam penerapannya metode broadcast dan multicast sendiri memiliki keterbatasan, yaitu: ■ Hanya UDP socket yang dapat melakukan broadcast dan multicast ■ Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN). ■ Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan  Internet.      Broadcast merupakan pengiriman data dengan tujuan semua alamat yang...

Tugas Socket Programming

Image
 Multirecipient Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Solusi: Unicast salinan data kesetiap penerima menggunakan single connection. Permasalahan? Tidak efisien, karena: terjadi duplikasi boros bandwith  Menggunakan dukungan jaringan, dengan: Broadcast Multicast Keterbatasan: Hanya UDP socket yang dapat melakukan broadcast dan multicast Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN). Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan Internet. Unicast      Unicast adalah transmisi jaringan one-to-one. Sesuai dengan namanya, aliran data unicast hanya menghubungkan komputer tunggal dengan sistem yang dijadikan sebagai host dan perangkat sistem komputer lainnya sebagai tujuan.      Ketika digunakan, perangkat komputer tunggal asal hanya akan mencoba berkomunikasi dengan satu perangkat komputer tujuan saja.      Pada Transmission Control Protoco...

Tugas 4 Socket Programming

Image
  Multiplexing Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Multiplexing adalah cara menangani beberapa klien dalam satu proses server. Aplikasi ini memungkinkan klien untuk terhubung ke server dan menambahkannya ke watch list. Watch list hanyalah sebuah array deskriptor soket. Kemudian sistem operasi memberitahu aplikasi klien (jika ada) yang perlu dilayani atau jika klien baru telah membuat koneksi. Untuk menangani permintaan dari client, server menggunakan fungsi select(). Fungsi select() merupakan sebuah fungsi sistem yang memungkinkan programmer untuk menentukan socket descriptor yang akan digunakan. Preforking Model ini sama dengan model forking, hanya saja model ini diperuntukan untuk jumlah client yang lebih banyak. kita tahu bahwa dengan banyaknya client maka waktu untuk membuat proses baru (untuk setiap client tersebut) semakin lama(menyebab...

Laporan Pertemuan 10 Socket Programming Multithreading

Image
 Modul 8 Multithreading Dasar Teori Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Forking sebagai salah satu metode penanganan multiple request dari client yang sudah dipelajari sebelumnya memiliki kelemahan, yaitu: a. Performansi b. Portability c. Kompleksitas Salah satu solusi untuk permasalahan diatas adalah penggunaan thread. Thread berjalan secara paralel dan menggunakan shared memory global. Karena semua thread berjalan dalam proses dan ruang memori yang sama, secara otomatis thread berbagi soket yang lewat di antara mereka. Hal ini serupa dengan cara child process mewarisi deskriptor soket. Namun, tidak seperti proses, thread biasanya lebih murah untuk memulai, dan bekerja pada mesin Unix dan Windows di bawah standar Python. Percobaan Percobaan 1 1. Buatlah file baru 2. Kemudian ketikkan kode program berikut 3. Simpan file dengan nama echo_serve...

Tugas 3 Socket Programming

Image
Arsitektur Client Server       Kita tahu bahwa perkembangan teknologi kini telah banyak membuat perubahan pada cara berpikir kita (manusia). Dengan laju pertumbuhan teknologi yang makin cepat, kebutuhan akan informasi dari hari ke hari meningkat sehingga menuntu kelancaran, dan kecepatan proses distribusi informasi.      Arsitektur jaringan Client Server merupakan model konektivitas pada jaringan yang membedakan fungsi computer sebagai Client dan Server. Arsitektur ini menempatkan sebuah komputer sebagai Server. Nah Server ini yang bertugas memberikan pelayanan kepada terminal-terminal lainnya tang terhubung dalam system jaringan atau yang kita sebut Clientnya. Server juga dapat bertugas untuk memberikan layanan berbagi pakai berkas (file server), printer (printer server), jalur komunikasi (server komunikasi).      Pada model arsitektur ini, Client tidak dapat berfungsi sebagai Server, tetapi Server dapat berfungsi menjadi Client (server...