Jelaskan perbedaan mendasar antara transfer digital o n dengan transfer fisik o 1

Programmer yang baik harus mampu memprediksi jumlah sumber daya yang akan ‘dihabiskan’ oleh kode yang ditulisnya. Untuk dapat mengukur hal tersebut, seorang programmer harus mengetahui seberapa efisien algoritma yang telah dia tulis. Efisiensi algoritma dapat diukur dengan sebuah notasi yang bernama Big O. Big O adalah sebuah metrik yang digunakan untuk mengukur kompleksitas suatu algoritma. Kompleksitas dalam konteks ini berkaitan dengan efisiensi kode. Semakin rendah kompleksitasnya, semakin efisien pula kode tersebut.

Notasi Big O mengukur kompleksitas algoritma dalam dimensi waktu. Selain Big O, ada dua notasi lain yang dapat digunakan untuk mengukur kompleksitas waktu sebuah algoritma, yaitu Big Theta dan Big Omega. Konsep Big Omega mirip dengan Big O. Perbedaan kedua konsep tersebut terletak pada semantiknya. Nilai Big Omega menunjukkan batas bawah kompleksitas waktu suatu algoritma, sedangkan Big O sebaliknya. Apabila sebuah algoritma memiliki nilai batas atas dan batas bawah yang sama, algoritma tersebut dikatakan memenuhi konsep Big Theta.

Jika Anda seorang programmer, Anda tidak perlu memahami semua notasi yang ada. Notasi Big O, Big Omega, dan Big Theta lebih sering digunakan oleh para akademisi. Dalam praktiknya di industri teknologi, orang-orang menganggap Big O dan Big Theta sebagai satu konsep yang sama. Di samping itu, notasi Big Omega sangat jarang digunakan. Alasannya cukup sederhana. Sebagian besar orang cenderung lebih tertarik untuk mengetahui waktu eksekusi paling lama yang mungkin terjadi. Dengan kata lain, konsep Big O saja sudah cukup untuk keperluan analisis algoritma seorang programmer.

Sebagai sesuatu yang abstrak, konsep Big O dapat lebih mudah dipahami dengan menggunakan sebuah analogi. Bayangkan Anda memiliki sebuah hard drive berisi data penting yang perlu diberikan kepada teman Anda di luar kota secepatnya. Dalam kasus ini, ada dua alternatif yang dapat dilakukan. Anda bisa melakukan transfer data secara digital atau memberikan hard drive tersebut kepada teman Anda. Dengan alasan efisiensi waktu, tentu saja Anda akan memilih alternatif pertama karena mengirimkan hard drive dapat memakan waktu 3 hingga 5 jam. Namun, bagaimana jika data yang harus dikirimkan sangat besar, misalnya 1 TB? Dengan kecepatan rata-rata internet saat ini (16 Mbps), diperlukan waktu lebih dari satu hari untuk menyelesaikan pengiriman data. Dengan kondisi tersebut, alternatif kedua tentunya menjadi pilihan.

Dalam analogi di atas, proses transfer data mewakili waktu eksekusi (runtime) algoritma. Dalam notasi Big O, proses tersebut dapat dideskripsikan sebagai berikut.

  1. Transfer digital: O(n), di mana n adalah ukuran data. Notasi tersebut menunjukkan bahwa waktu yang diperlukan untuk transfer data akan bertambah secara linear mengikuti besar ukuran data.
  2. Transfer fisik: O(1), di mana 1 adalah suatu konstanta. Nilai konstan dalam notasi tersebut menunjukkan bahwa ukuran data tidak memengaruhi waktu transfer data. Artinya, data akan selalu sampai dalam rentang waktu 3 – 5 jam, tidak peduli seberapa besar data yang dikirimkan

Selain O(n) dan O(1), masih banyak variasi runtime lainnya. Beberapa jenis runtime yang umum ditemui adalah O(log n), O(n log n), O(n^2), O(2^n), dan O(n!). Grafik di bawah ini menunjukkan perbandingan setiap runtime tersebut.

Jelaskan perbedaan mendasar antara transfer digital o n dengan transfer fisik o 1

Sebuah runtime mungkin saja memiliki lebih dari satu variabel. Sebagai contoh, Anda ingin mengecat dinding kamar. Apabila dinding tersebut memiliki lebar l dan memerlukan n lapis cat, waktu total yang diperlukan dapat dirumuskan sebagai O(ln). Penjelasan lebih detil terkait penentuan nilai kompleksitas dari sebuah algoritma akan dijelaskan dalam artikel berikutnya.

Kompleksitas algoritma adalah hal mendasar yang seharusnya dipahami oleh programmer. Pemahaman yang kurang terhadap hal tersebut dapat menimbulkan kerugian. Sebagai seorang programmer, Anda tidak bisa menilai dalam kasus apa algoritma Anda berjalan lebih cepat atau lebih lambat. Selain itu, ketidakmampuan tersebut mungkin saja akan berujung pada kritik dan penilaian buruk terhadap kinerja Anda. Oleh karena itu, menguasai konsep Big O adalah suatu kewajiban jika Anda ingin menjadi programmer yang unggul.

Tulisan ini aslinya ditulis oleh Rafi Ramadhan pada 12 Juli 2017 untuk blog di website Refactory

Lihat semua pos dari mul14

Jawaban:buat tabel

Penjelasan:

Jenis:

1.transfer digital:o (n)

Keterangan:hal ini dapat terjadi jika n adalah ukuran data,notasi tersebut menunjukkan bahwa waktu yang diperlukan untuk transfer data akan bertambah secara linear mengikuti besar ukuran data.

Jenis:

2.transfer fisik:o(1)

Keterangan:hal ini dapat terjadi jika 1 adalah suatu konstanta,nilai konstan dalam notasi tersebut menunjukkan bahwa ukuran data tidak mempengaruhi waktu transfer data,artinya data akan selalu sampai dalam rentang waktu 3-5 jam,tidak peduli seberapa besar data yang dikirim

Jelaskan tata cara penerapan informasi dikantor!

Tuliskan perintah access yang akan memblokir setiap request dari host 120. 10.10.128 menuju port 80 #ngasal report​

faktor yang tidak menjadi pertimbangan dalam memilih IDE (Integrated Development Environment) adalah...​

Buatlah program Java nested loops..mohon bantuannya ka​

Bantu soal kriptografi

Subnetting kelas c IP address : 192.168.100.1/18 Jumlah Subnet = Jumlah Host per subnet = Blok Subnet =

2) Jika disebuah lab memiliki 70 komputer buatlah rendang IP yang digunakannya(table subneting) ​

Program Java Do-While Buatlah program dengan menggunakan bahasa pemrograman java untuk menginput 1 buah bilangan bulat positif dan menampilkan angka b … erapa saja yang dapat membagi angka tersebut tanpa sisa (gunakan perulangan do-while) [Bobot: 20] Contoh output program: Input Sebuah angka : 30 ==================================== Angka yang dapat membagi 30 tanpa sisa adalah: 1, 2, 3, 5, 6, 10, 15, 30

Program Java Array Buatlah program dengan menggunakan bahasa pemrograman java untuk menampung 5 angka kedalam 1 buah array, dan menampilkan seluruh is … i array tersebut, seperti dibawah ini: [Bobot 10] Input bilangan ke-1 : 10 Input bilangan ke-2 : 20 Input bilangan ke-3 : 30 Input bilangan ke-4 : 40 Input bilangan ke-5 : 50 ==================================== Data yang diinput adalah : 10 20 30 40 50

Program Java Perulangan For Buatlah program dengan menggunakan bahasa pemrograman java untuk menginput 1 buah bilangan bulat positif dan menampilkan s … eluruh angka yang merupakan kelipatan 3 atau kelipatan 5 yang kurang dari angka yang diinputkan, serta menampilkan jumlah angka ganjil dan angka genap dari deret bilangan tersebut! (gunakan perulangan for) [Bobot: 25] Contoh output program Input batasan angka : 20 ==================================== Angka-angka yang merupakan kelipatan 3 atau 5 kurang dari 20 adalah: 3 5 6 9 10 12 15 18 Jumlah angka genap : 4 angka Jumlah angka ganjil : 4 angka

Contoh aktivitas masyarakat digital dalam bidang digital commerce adalah​

dampak komputer yang paling penting bagi perkembangan peradaban manusia​

Carilah Perangkat Hardware dengan memisahkan input, proses, output, storage?​

Apa dampak positif dan negatif mengenal informatika

Carilah subneting dari ip 192.168.1.1 /26 : 1. jumlah subnet 2. jumlah host/subnet 3. blok subnet 4. alamat host

plis jawab semua oke jan ngasal​

1.Jaringan Komputer dapat di beda kan menjadi beberapa jenis di lihat dari luas areanya, Sebutkan dan Jelaskan ! 2. Tuliskan di bawah ini terdapat beb … erapa istilah yang- sering digunakan dalam akses internet atau Penyimpanan data a. I byle (B) = b. 1 Kilobyte (KB): C. I Megabyte (MB) = d. I giga byte (GB) = e. I terabyte (18 f | Petabyte (PB)= = ... .... bit ** byte Kilobyte Megabyte gigabyte terabyte​

sebutkan bebebrapa aplikasi dan layanan yang ada di internet ​

TUGAS TI1.SEBUTKAN MACAM² PRINTER2.SEBUTKAN MACAM KEYBOARD​

TUGAS T.I.K TOLONG BANTU BESTI BESTI BRAINLY KU .-.SOAL=1.APAKAH YANG DI MAKSUD MATHERBOT=2.SEBUTKAN ISI DARI CPU=PELAJARAN SMP .-.​