Friday, December 4, 2020

Manajemen Versi Dan Rilis

MANAJEMEN VERSI DAN RILIS




Versi

merupakan bentuk perubahan baru bersifat signifikan dari bentuk sebelumnya. akan berbeda halnya dengan istilah Software Versioning (memberi versi perangkat lunak) yang berfokus pada proses penetapan nama atau nomor versi unik terhadap identitas perangkat lunak.

Rilis

pelepasan atau peluncuran produk perangkat lunak. Jika sebuah produk dirilis maka, produk itu sudah paten artinya telah melewati fase pengujian dan pengembangan lengkap.

Software Release Life Cycle

jumlah dari tahap pengembangan dan kematangan untuk perangkat lunak komputer: mulai dari pengembangan awal hingga rilis akhirnya, dan termasuk versi terbaru dari versi yang dirilis untuk membantu meningkatkan perangkat lunak atau memperbaiki bug perangkat lunak yang masih ada dalam perangkat lunak.

Proses Software Release Life Cycle:
Pre-Alpha
merujuk pada semua aktifitas pembuatan dan pengembangan software sebelum dilakukan testing, aktifitas ini bisa berupa analisa kebutuhan, desain perangkat lunak, pengembangan unit maupun pengujian unit software.

Alpha
Tahap pertama untuk melakukan pengujian pada software (penggunaan alpha berasal dari huruf pertama dalam sistem alfabet Yunani kuno yang diartikan sebagai angka 1). Pada tahap ini developer software biasanya melakukan pengujian terhadap software dengan menggunakan teknik bernama white box techniques. Tambahan validasi kemudian dilakukan dengan menggunakan teknik bernama black box or gray box techniques oleh tim pengujian yang lain. Perpindahan pada metode pengujian black box dalam sebuah organisasi ini disebut dengan alpha release. Software alpha bisa saja tidak stabil dan dapat menyebabkan error maupun kehilangan data, jarang sekali software pada tahap alpha tersedia secara bebas untuk publik, terkecuali digunakan untuk bonus pre-order.

Beta
Tahap pengembangan software yang mengikuti tahap alpha (penggunaan istilah beta berasal dari bahasa Yunani kuno yang diartikan sebagai angka 2). Tahap ini biasanya tahap dimana software telah memiliki fitur yang lengkap, beberapa organisasi menyebut tahap ini sebagai prototype atau technical preview. Fokus dari tahap beta adalah mengurangi dampak buruk pada pengguna, yang biasanya berupa pengujian penggunaan produk. Beta release biasanya merupakan tahap pertama sebuah perangkat lunak tersedia untuk pihak diluar pengembang software. Pengguna dari versi beta ini disebut beta tester, biasanya adalah pengguna atau calon pengguna dari produk yang ada, mau melakukan pengujian terhadap produk perangkat lunak tanpa bayaran dan biasanya menerima hasil akhir software secara cuma-cuma atau dengan pengurangan harga (untuk software berbayar). Beberapa pengembang software meluncurkan closed beta maupun open beta dimana closed beta version adalah produk yang diluncurkan untuk sekelompok orang atau grup sebagai pengguna penguji sedangkan open beta diluncurkan untuk komunitas pengguna secara umum maupun siapa saja yang tertarik. Pengguna kemudian melaporkan adanya kesalahan yang ditemukan maupun memberi saran untuk tambahan fitur yang seharusnya ada pada produk akhir 22/5/2013 5

Release Candidate
merujuk pada suatu versi perangkat lunak yang dilihat sebagai potensi sebuah produk akhir, yang kemudian akan diluncurkan jika tidak terdapat kesalahan fatal pada produk software yang ada. Pada tahap ini produk sudah lebih stabil dan semua fitur sudah didesain dan diuji melalui beberapa kali beta testing tanpa menunjukkan kesalahan. Beberapa developer software seperti Apple Inc. menggunakan istilah ‘Golden Master’ untuk mengindikasikan versi RC yang dimilikinya. Beberapa developer menggunakan istilah Gamma dan Delta untuk mengindikasikan versi yang sudah komplit tapi masih butuh beberapa pengujian, Omega atau Zenith untuk mengindikasikan versi pengujian akhir yang dipercaya sudah lebih bebas kesalahan dan siap untuk diproduksi.

Release To Manufacturing
disebut juga Going Gold digunakan untuk software yang siap untuk dikirimkan maupun digunakan oleh pengguna. Istilah ini biasanya digunakan untuk software yang digunakan untuk produksi masal dimana software dijual sebagai bagian dari kelengkapan hardware komputer atau distribusi masal retail (berkebalikan dengan software yang khusus diproduksi untuk proyek komersial atau distribusi terbatas). RTM biasanya merupakan tahap sebelum software disediakan untuk umum (GA).

General Availability
titik dimana semua hal yang diperlukan untuk kegiatan komersialisasi produk telah dilakukan dan software sudah siap untuk disediakan pada pasar atau publik baik melalui web atau media fisik. Istilah lain yang memiliki arti yang hampir sama dengan GA adalah First Customer Shipment (FCS), istilah ini digunakan oleh beberapa perusahaan seperti Sun Microsystem dan Cisco untuk mendeskripsikan software yang telah dikirimkan untuk mendapatkan pendapatan. Beberapa versi mungkin di klasifikasikan sebagai Long Term Support (LTS) yang disertai dengan kemampuan untuk diupgrade ke versi LTS selanjutnya dan akan terus didukung, update ataupun ditambah patch untuk waktu yang panjang dibandingkan versi non-LTS. 29/5/2013 9  

Support Release
dalam sistem operasi Windows disebut dengan Service Pack tidak selalu ada dalam sebuah daur hidup perangkat lunak. Biasa disebut juga dengan Update Patch, paket ini berisi koleksi update, perbaikan maupun penambahan fitur dalam sebuah paket yang dapat diinstal. END OF LIFE Tahap ini adalah tahap dimana sebuah software sudah tidak lagi diproduksi, dijual maupun didukung dengan support release. 10       

Semantic Versioning (SemVer) 
Jadi apa itu Semantic Version? Simplenya Semantic Version ini adalah sistem penomoran versi sebuah produk/software. Berfungsi untuk membedakan satu versi dengan versi lainnya.

Dalam SemVer, ada 3 istilah dan melakukan versioning: Major, minor, patch. Gambarannya adalah seperti ini:

contohnya: 2.33.7

  • 2 adalah versi major nya
  • 33 adalah versi minor nya
  • 7 adalah versi patch nya

Kita akan bahas lanjut seputar apa itu major, minor, patch dibawah.

Major version

Versi major adalah tentang perubahan yang terjadi terhadap public API. Bila versi major tersebut bernilai 1, berarti software tersebut baru dirilis ke publik. Ya, jika kamu baru pertama kali merilis software/library kamu ke publik, dengan catatan sudah "stabil", maka seharusnya kamu menggunakan nilai 1 untuk versi major nya.

Kondisi kapan versi major harus ditambah adalah ketika kamu melakukan perubahan terhadap public API yang mana perubahan tersebut sudah tidak mendukung versi sebelumnya.

Kita ambil contoh ketika React merilis versi 16. Apa saja perubahan yang terjadi?

  1. Behavior dalam scheduling dan lifecycle. Salah duanya adalah menggunakan "Fiber" dalam reconciliation dari yang sebelumnya menggunakan "Stack", dan memanggil setState di methods render akan menyebabkan perubahan dari yang sebelumnya tidak.
  2. Perubahan struktur direktori. Dari yang sebelumnya hanya memisahkan antara versi asli dan versi "minified" nya, sekarang ditambah: Versi production dan development meskipun masih tetap ada versi "minified" ataupun aslinya.

Yang artinya, perubahan yang terjadi dari versi major terbaru "berpengaruh" terhadap "behavior" dari versi sebelumnya. Seharusnya, versi major ini jangan cepat berubah. Atau users akan kabur karena sering kali terjadi perubahan yang membuat users harus "mempelajari lagi".

Di level aplikasi, mungkin bumping major version dilakukan ketika user seharusnya tidak bisa menikmati fitur sebelumnya bila memang menggunakan SemVer. Misal, dari yang sebelumnya (v1.x.x) pembayaran bisa menggunakan kartu kredit, di versi sekarang (v2.x.x) tidak bisa karena blablabla.

Minor Version

Jika major version adalah tentang perubahan yang menyebabkan dampak terhadap behavior sebelumnya, di minor version tidak. Kita ambil contoh React Hooks, di versi 16.8.x. React Hooks adalah tentang membuat component dengan gaya fungsional, namun tetap stateful.

Sebelumnya untuk membuat component yang stateful, kita harus menggunakan class-based component. Tidak sedikit masalah yang dihadapi di class-based component: boilerplate, this binding, constructor, dsb. Dengan React hooks, kita bisa menyelesaikan masalah tersebut. Karena boilerplate-free, automatic this bindung, dan zero constructor. Because it just a function!

Hooks tidak mengubah cara kita membuat component, melainkan "menambah". Ya, minor version adalah tentang "fitur baru". Asiknya, upgrade minor version tidak akan menyebabkan dampak yang terjadi terhadap kondisi yang sudah ada.

Aman untuk diupgrade (sebagai users), dan aman untuk di rilis (sebagai owner).

Juga, bila terjadi "deprecated" terhadap public API, maka minor version harus ditambah nilainya. Deprecated adalah kondisi dimana API tersebut akan "dihilangkan" dan users harus menggantinya ke API terbaru sebelum melakukan upgrade ke major version terbaru. Bila version minor ditambah, maka versi patch harus di reset ke 0.

Patch Version

Di versi ini adalah tentang fix bug yang tidak menyebabkan perubahan terhadap public API. Karena fix bug biasanya hanya terkait terhadap kode internal, bukan public API yang digunakan oleh users.

Biasanya, versi patch di version ditambah bila terjadi bug yang sangat krusial. Bila perubahan tersebut tidak terlalu krusial, alias hanya berdampak "kecil" terhadap public API, seperti fix typo; Enhancement in performance dsb, rilis tersebut dilakukan di versi minor. Alias, digabung dan dianggap sebagai "fitur".

Namun bila bug seperti memory leak, seputar security dsb, maka harus melakukan bumping version patch dengan catatan tidak merubah behavior yang ada di public API.

Demo sederhana

Kita membuat library untuk berinteraksi dengan AWS S3. Karena belum stabil, kita rilis kode tersebut dengan versi 0.1.0 dengan catatan kode tersebut sudah bisa digunakan untuk melakukan proses upload dan membaca file dari S3.

Lalu kita menambah fitur baru, delete file. Kita tambah versi minornya, yang berarti menjadi 0.2.0. User yang sudah menggunakan kode kamu, bisa melakukan upgrade version terhadap library kamu untuk bisa menikmati fitur delete tanpa harus meragukan kompatibilitas terhadap kode yang ada sebelumnya yang bergantung dengan library kamu.

Lalu kamu menemukan bug dan mem-fix nya. Memory leak, proses tetap berjalan meskipun user sudah membatalkan proses tersebut yang menyebabkan library tetap mengupload namun konten nya kosong. Maka kamu harus melakukan bump version patch, yang berarti menjadi 0.2.1.

Lalu kamu membuat fitur baru: Rename file yang sudah ada. Selain itu, kamu juga melakukan fix terhadap bug-bug kecil seperti typo yang mengganggu. Dan juga, kamu melakukan beberapa improvement. Misal, bila user membaca file yang sama dalam 10 detik, maka library akan memberikan versi cache nya daripada harus me-request terus-menerus ke file yang sama dalam 10 detik oleh user yang sama.

Maka kamu melakukan bumping version terhadap versi minor, dan me-reset versi patch nya, yakni menjadi 0.3.0.

Ketika kita sudah merasa bahwa library ini sudah stabil untuk digunakan, kita bisa merilis fitur major nya yang berarti versi 1.0.0 dengan fitur-fitur yang sudah dijelaskan di minor version (namun bukan yang seputar patch nya).

Lalu perubahan terjadi, sekarang oktober 2019 dan AWS sudah tidak akan mendukung S3 per-desember 2019 nanti. Sebagai gantinya, AWS merilis S4 (Super Simple Storage Service) yang mana hampir sama dengan S3 namun menggunakan protokol http3 untuk proses read nya dan menggunakan protokol TUS untuk uploadnya.

Maka kita harus melakukan bumping version versi minor, bahwasannya API uploadFile akan deprecated, sebagai gantinya gunakan updateFile namun tetap di versi tersebut method uploadFile masih berjalan. Yang berarti, versi sekarang harus ditambah minor nya menjadi 1.1.0.

Lalu sekarang 10 desember, dan 20 desember AWS sudah tidak mendukung AWS S3 lagi. Maka kamu merilis versi baru library kamu yang berarti menjadi versi 2.0.0 dengan catatan method uploadFile sudah tidak bisa digunakan lagi dan menjadi updateFile sebagai gantinya.


Referensi:

Sunday, September 13, 2020

Software Quality Requirements and Evaluation Berdasarkan Model ISO/IEC 25010:2011

How quality of Software is maintained? |Professionalqa.com


System/Software Product Quality berdasarkan model ISO/IEC 25010:2011 memiliki 8 karakteristik:

Functional Suitability

Sejauh mana suatu produk atau sistem menyediakan fungsi yang memenuhi kebutuhan (yang dinyatakan dan yang tersirat) bila digunakan dalam kondisi yang telah ditentukan.

Functional Suitability memiliki 3 karakteristik:

·         Functional Completeness

Sejauh mana seperangkat fungsi mencakup semua tugas dan tujuan pengguna yang telah ditentukan

·         Functional Correctness

Sejauh mana suatu produk atau sistem memberikan hasil yang benar dengan tingkat presisi yang diperlukan

·         Functional Appropriateness

Sejauh mana fungsi-fungsi memfasilitasi pemenuhan tugas dan tujuan yang telah ditentukan. Misalnya pengguna hanya disajikan dengan langkah-langkah yang diperlukan untuk menyelesaikan tugas, tidak termasuk langkah-langkah yang tidak perlu

 

Performance Efficiency

Kinerja relatif terhadap jumlah sumber daya yang digunakan dalam kondisi yang ditetapkan

Karekteristiknya adalah:

·         Timely-Behavior
Sejauh mana respon, waktu proses, dan tingkat keseluruhan produk atau sistem memenuhi persyaratan ketika melakukan fungsinya

·         Resource Utilization

Sejauh mana jumlah dan jenis sumber daya yang digunakan oleh produk atau sistem memenuhi persyaratan ketika melakukan fungsinya

·         Capacity

      Sejauh mana batas maksimum parameter produk atau sistem memenuhi persyaratan

Compatibility

Sejauh mana produk, sistem, atau komponen dapat bertukar informasi dengan produk, sistem, atau komponen lain dan/atau menjalankan fungsi-fungsi yang diperlukan sementara berbagi lingkungan perangkat keras atau perangkat lunak yang sama.

Karekteristiknya adalah:

·         Interoperability

Sejauh mana dua atau lebih sistem, produk, atau komponen dapat saling bertukar informasi dan menggunakan informasi yang telah ditukar

·         Co-existence

Sejauh mana suatu produk dapat melakukan fungsi yang diperlukan secara efisien sementara berbagi lingkungan dan sumber daya umum dengan produk lainnya, tanpa adanya dampak merugikan pada produk lain

 

Usability

Sejauh mana suatu produk atau sistem dapat digunakan oleh pengguna tertentu untuk mencapai tujuan tertentu dengan efektivitas, efisiensi, dan kepuasan dalam konteks penggunaan yang telah ditentukan

 

Karekteristiknya adalah :

·         Operability

Sejauh mana suatu produk atau sistem memiliki atribut yang membuatnya mudah dioperasikan dan dikendalikan

·         Learnability

Sejauh mana suatu produk atau sistem dapat digunakan oleh pengguna tertentu untuk mencapai tujuan tertentu dari pembelajaran untuk menggunakan produk atau sistem dengan efektivitas, efisiensi, kebebasan dari risiko dan kepuasan dalam konteks penggunaan yang telah ditentukan

·         Appropriateness Recognisability

Sejauh mana pengguna dapat mengenali apakah suatu produk atau sistem tepat untuk kebutuhan mereka

·         User Error Protection

Sejauh mana suatu sistem melindungi pengguna dari membuat kesalahan

·         User Interface Aesthetics

Sejauh mana antarmuka pengguna memungkinkan interaksi menyenangkan dan memuaskan bagi pengguna

·         Accessibility

Sejauh mana suatu produk atau sistem dapat digunakan oleh orang-orang dengan cakupan karakteristik dan kemampuan yang luas untuk mencapai suatu tujuan tertentu dalam konteks penggunaan yang telah ditentukan

 

Reliability

Sejauh mana sistem, produk, atau komponen melakukan fungsi tertentu dalam kondisi tertentu untuk jangka waktu tertentu

 

Karekteristiknya adalah :

·         Maturity

Sejauh mana sistem, produk, atau komponen memenuhi kebutuhan untuk keandalan pada operasi normal

·         Availability

Sejauh mana sistem, produk, atau komponen operasional (dapat beroperasi) dan dapat diakses bila diperlukan untuk digunakan

·         Fault Tolerance

Sejauh mana sistem, produk, atau komponen beroperasi sebagaimana dimaksud meskipun adanya kesalahan perangkat keras atau perangkat lunak

·         Recoverability

Sejauh mana, ketika terjadi gangguan atau kegagalan, produk atau sistem dapat memulihkan data yang secara langsung terkena dampak dan membangun kembali keadaan yang diinginkan system

 

Security

Sejauh mana suatu produk atau sistem melindungi informasi dan data sehingga orang, produk, atau sistem lain memiliki tingkat akses data yang sesuai dengan jenis dan tingkat otorisasi mereka.

 

Karekteristiknya adalah :

·         Confidentiality

Sejauh mana suatu produk atau sistem memastikan bahwa data hanya dapat diakses oleh mereka yang berwenang untuk memiliki akses.

·         Integrity

Sejauh mana sistem, produk, atau komponen mencegah akses tidak sah terhadap, atau modifikasi, program komputer atau data

·         Non-repudiation

·         Sejauh mana tindakan atau kejadian dapat dibuktikan telah terjadi, sehingga peristiwa atau tindakan tersebut tidak dapat ditolak/disangkal kemudian

·         Accountability

·         Sejauh mana tindakan dari suatu entitas dapat ditelusuri secara unik untuk entitas tersebut

·         Authenticity

Sejauh mana identitas subjek atau sumber daya dapat terbukti menjadi salah satu yang diklaim


Maintainability

Sejauh mana efektivitas dan efisiensi di mana suatu produk atau sistem dapat dimodifikasi oleh pengembang yang dimaksudkan

 

Karekteristiknya adalah :

·         Modularity

Sejauh mana sistem atau programkomputer terdiri dari komponen berlainan sehingga perubahan pada salah satu komponen memiliki dampak minimal pada komponen lainnya

·         Reusability

Sejauh mana aset dapat digunakan di lebih dari satu sistem, atau dalam membangunaset lainnya

·         Analysabilty

Sejauh mana efektivitas dan efisiensi di mana dimungkinkan untuk menilai dampak perubahan yang dimaksudkan untuk satu atau lebih bagian-bagian produk atau sistem, untuk mendiagnosis kekurangan/cacat atau penyebab kegagalan suatu produk, atau untuk mengidentifikasi bagian yang akan dimodifikasi

·         Modifability

Sejauh mana suatu produk atau sistem dapat secara efektif dan efisien dimodifikasi tanpa menimbulkan kerusakan/cacat atau menurunkan kualitas produk yang sudah ada

·         Testability

Sejauh mana efektivitas dan efisiensi di mana kriteria uji dapat dibentuk untuk sistem, produk, atau komponen dan tes dapat dilakukan untuk menentukan apakah kriteria tersebut telah dipenuhi

 

Portability

Sejauh mana efektivitas dan efisiensi di mana sistem, produk, atau komponen dapat ditransfer dari satu perangkat keras, perangkat lunak, atau lingkungan operasional atau penggunaan lain ke lainnya

 

Karakteristiknya adalah:

·         Adaptability

Sejauh mana suatu produk atau sistem dapat secara efektif dan efisien disesuaikan untuk perangkat keras, perangkat lunak atau lingkungan operasional atau penggunaan lain yang berbeda atau lebih berkembang

·         Installability

Sejauh mana efektivitas dan efisiensi di mana suatu produk atau sistem dapat berhasil dipasang (di-instal) dan/atau dihapus (dilepas) di lingkungan yang telah ditentukan

·         Replaceability

Sejauh mana suatu produk dapat menggantikan produk perangkat lunak lain (yang telah ditentukan) dengan tujuan yang sama dalam lingkungan yang sama



Reference:

D. H. Trenggono, “Perancangan Sistem Peminjaman Berbasis Web Sebagai Media Layanan di Studio Multimedia SMK 2 Sewon,” Skripsi, pp. 10–17, 2014.

Tuesday, August 22, 2017

Net, WEB dan CYBERSPACE

Di zaman yang canggih ini tentu saja kita tidak luput dari dunia maya untuk mencari informasi di WEB. Untuk terhubung ke dunia maya tentunya kita pasti membutuhkan koneksi ke internet. Tapi tahukah kalian apa itu Internet, Dunia Maya ataupun WEB ?


Pada kesempatan kali ini saya akan membahas tentang apa itu WEB, Internet dan juga Dunia Maya. langsung saja kita mulai.


1. NET


NET / Internet adalah seluruh jaringan komputer yang saling terhubung. untuk mengakses internet terdapat dua bentuk akses internet yang umum yaitu dial-up ( seperti jaringan telepon contoh : telkomsel, im3, dan lain lain) dan jalur lebar / broadband (koneksi Internet transmisi data kecepatan tinggi seperti WIFI di rumah ).


2. WEB


WEB / Website adalah sekumpulan halaman informasi yang disediakan melalui jalur internet sehingga bisa di akses di seluruh dunia dengan jaringan internet ( seperti Google, facebook, dan lain lain ).

3. CYBERSPACE


Cyberspace / Dunia Maya adalah media elektronik dalam jaringan komputer yang banyak di pakai untuk keperluan komunikasi secara online.Dunia maya ini merupakan integrasi dari berbagai peralatan teknologi komunikasi dan jaringan komputer yang dapat menghubungkan peralatan komunikasi yang tersebar di seluruh penjuru dunia.Cyberspace tidak hanya terdiri dari web, chat rooms, blog, dan layanan member-based seperti America online, tetapi juga segala sesuatu seperti conference calls dan mesin teller otomatis, jadi cyberspace adalah semua tentang dunia online dan internet termasuk juga seluruh komunikasi baik itu wire ataupun wireless secara umum.

Manakah yang Paling Besar dan yang Paling Kecil ?

Tentu saja dari pembahasan di atas kita pasti sudah tahu yang lebih besar adalah INTERNET karena internet menghubungkan seluruh jaringan. sedangkan CYBERSPACE berada di dalam jaringan itu dan tentu saja WEB berada di dalam CYBERSPACE jadi yang terkecil tentu saja WEB




Itulah perbedaan antara NET, WEB, dan CYBERSPACE. Terimakasih Telah Berkunjung

sumber : wikipedia.com

Sunday, October 9, 2016

Konfigurasi Proxy Server Debian 7

kelompok
-prima
-jimmy
-kenny
-chairdian
-herdiansyah
-farentinus


studi kasus: 
 ip server  = 192.168.100.100
dns server = immanuel.sch.id
hostname   = immanuel
cache_mgr  = smk_immanuel@gmail.com
lab sekolah smk immanuel memilik 50pc , lab tersebut dibagi menjadi 2 yaitu;lab komputer 25pc dan lab akuntansi 25pc
lab akuntansi dan lab komputer
*ip lab akuntansi adalah 192.168.100.10-192.168.100.34
*ip lab komputer adalah  192.168.100.35-192.168.100.59

 -untuk lab akuntansi diberikan hak untuk internet
  namun dapat membuka web dari server
 -untuk lab komputer tidak diberikan hak untuk internet
  namun 2 pc pada lab komputer bisa internet karena itu adalah pc khusus guru
  yaitu 192.168.100.35 dan 192.168.100.36
 -ip selain dari yang dicantumkan diblok
domain yang diblok dari server adalah sebagai berikut
1.aneh.com
2.game.com
 

cara instalasi proxy server 

   1. apt-get install squid 
   2. jika tidak bisa coba la untuk memasukkan cd debian2 


 
 3.tuliskan perintah "apt-cdrom add" untuk menambahkan software pada dvd2
 4.tuliskan perintah "apt-get install squid" untuk menginstall squid
 5.setelah menginstall squid tulis perintah "nano /etc/squid/squid.conf" untuk masuk ke konfigurasi squid
 6. setelah itu tekan ctrl+w dan tulis "http_port 3128" dan tambakan transparent
 7.tekan ctrl+w dan tulis "acl conn" dan tulis seperti gambar dibawah ini


8.kemudian tekan ctrl+x untuk exit dari konfigurasi squid
9.tuliskan peritah "service squid restart" untuk merestart squid
10.setelah ini sebagai server kita akan membuat jaringan membuat adhoc
12.setelah membuat adhoc . kita akan menghubungkan virtualbox debian dengan jaringan adhoc
     >caranya adalah pada mesin virtual pilih "setting" , lalu "network" dan pilih bridge adapter untuk
        menggunakan jaringan virtual yang kita buat

13.setelah ini kita akan mengecek ip adhoc kita
      > masuk ke open network and sharing center
       > masuk  ke change adapter setting

       > pilih wireless network connection 2 dan pilih properties

      > pilih ipv4
      > masukkan ip yang kiranya tidak di deny oleh debian server misalnya 192.168.100.14


14.berikutnya kita akan konfigurasi kembali ip jaringan debian server kita
      > masuk ke konfigurasi dengan perintah "nano /etc/network/interfaces"
      > ip gateway berasal dari ip adhoc kita


15.setelah ini konfigurasi dari pihak server sudah selesai . sekarang untuk uji coba kita akan menggunakan pc lain untuk mengetest nya

pc client

1.  connect ke jaringan yang dibuat oleh server 


2. pilih open network and sharing center

3. pilih jaringan tersebut

4.pilih properties
5.pilih ipv4

6.untuk ip kita akan mencoba ip yang di allow kan dulu misalnya ip 192.168.100.20

7.berikutnya kita akan setting firerox secara manual proxy configuration


8.hasilnya
9.sekarang kita akan ubah ip menjadi ip yang di deny misalnya 192.168.100.2
10.hasilnya


   hasilnya berhasil dan sesuai dengan ketentuan soal , demikian cara konfigurasi proxy server . semoga bermanfaat dan semoga berhasil .