Makalah Matriks Dan Pemrograman Berbasis Matlab

 

MAKALAH 

Matriks Dan Pemrograman Berbasis Matlab 

Disusun untuk memenuhi tugas Mata Kuliah Fisika Komputasi 

Dosen Pengampu: 

Winda Setya M.Sc 

  

 

Disusun oleh: 

Alfan Raihan 

1222070004 

Aura Eka Hermila 

1222070012 

Dea Maharani 

1222070020 

Diana Vijar Mutiara 

1222070023 

Ilham Januar 

1222070031 

 

PROGRAM STUDI PENDIDIKAN FISIKA JURUSAN PENDIDIKAN MIPA 

FAKULTAS TARBIYAH DAN KEGURUAN 

UIN SUNAN GUNUNG DJATI 

BANDUNG 

2025 

KATA PENGANTAR 

Segala puji bagi Allah tempat kita memuji dan memohon pertolongan kepada-Nya. Barangsiapa yang diberi petunjuk oleh Allah maka tidak aka nada yang dapat menyesatkanya, dan barang siapa, dan barangsiapa disesatkan-Nya maka tidak ada yang dapat memberi petunjuk kepada-Nya. 

Rasa syukur juga tak lupa lita ucapkan kepada kehadirat Allah SWt yang maha pengasih lagi maha penyayang yang senantiasa memberikan bimbingan dalam memberikan petunjuk-Nya kepada kita. Sehingga kami dapat menyelesaikan makalah ini dengan sebaik-baiknya. Alhamdulillah berkat karunia, nikmat dan dengan izin-Nya kami dapat Menyusun, menulis dan menyelesaikan makalah ini yang berjudul “Matriks Dan Pemrograman Berbasis Matlab”. Makalah ini disusun sebagai tugas kelompok mata kuliah Fisika Komputasi. kami menyadari bahwa makalah ini masih banyak memiliki kekurangan dari Teknik penulisan, segi penyusunan maupun yang lainnya. Maka dari itu kami berharap atas masukan dan kritik yang bersifat membangun akan kami terima dengan senang hati demi perbaikan dan kesempurnaan makalah ini. 

Semoga makalah ini bisa memberikan informasi mengenai konsep dan teori belajar dan bermanfaat bagi para pembacanya. Atas perhatian dan kesempatan yang diberikan untuk membuat makalah ini kami ucapkan terima kasih. 

  

Bandung, 18 Maret 2025 

 

 

  

Penulis


 

 


 

BAB I 

PENDAHULUAN 

A.    Latar Belakang 

Dalam berbagai bidang ilmu seperti matematika, teknik, fisika, dan ilmu komputer, matriks menjadi salah satu konsep fundamental yang sering digunakan untuk memodelkan dan menyelesaikan berbagai permasalahan. Matriks berperan penting dalam analisis data, pemrosesan citra, sistem kontrol, optimasi, dan banyak aplikasi lainnya. Oleh karena itu, pemahaman tentang konsep dasar matriks, jenis-jenisnya, serta operasi-operasi yang dapat dilakukan terhadap matriks menjadi hal yang sangat penting. 

Selain itu, dalam perhitungan numerik, terdapat konsep angka penting, akurasi, presisi, serta galat yang dapat memengaruhi hasil perhitungan. Kesalahan kecil dalam perhitungan dapat menyebabkan perbedaan signifikan dalam hasil akhir, terutama dalam sistem persamaan linear dan pemodelan matematis lainnya. Oleh sebab itu, memahami aturan angka penting, jenis-jenis galat, serta bagaimana meningkatkan akurasi dan presisi dalam perhitungan menjadi bagian yang tidak terpisahkan dalam analisis berbasis matriks. 

MATLAB (Matrix Laboratory) adalah salah satu perangkat lunak yang dirancang untuk menangani perhitungan berbasis matriks secara efisien. Dengan berbagai fungsi dan fitur yang tersedia, MATLAB memungkinkan pengguna untuk melakukan operasi matriks, menyelesaikan sistem persamaan linear, serta menganalisis data secara lebih cepat dan akurat dibandingkan dengan perhitungan manual. Penggunaan MATLAB dalam komputasi numerik tidak hanya meningkatkan efisiensi tetapi juga mengurangi potensi kesalahan yang terjadi akibat perhitungan manual. 

Berdasarkan latar belakang tersebut, pembahasan mengenai konsep dasar matriks, aturan angka penting, jenis-jenis matriks, operasi matriks, serta penyelesaian sistem persamaan linear dengan MATLAB menjadi hal yang sangat relevan dalam dunia akademik dan industri. 

B.    Rumusan Masalah

                   1.      Bagaimana konsep dasar matriks, aturan angka penting, serta penerapannya dalam perhitungan numerik?

                   2.      Bagaimana konsep akurasi, presisi, dan galat dalam perhitungan numerik serta dampaknya terhadap operasi matriks?

                   3.      Bagaimana MATLAB dapat digunakan untuk mengimplementasikan operasi matriks dan menyelesaikan sistem persamaan linear secara efisien?

C.    Tujuan Masalah

                   1.      Menjelaskan konsep dasar matriks, aturan angka penting, serta penerapannya dalam perhitungan numerik.

                   2.      Menganalisis konsep akurasi, presisi, dan galat dalam perhitungan numerik serta dampaknya terhadap operasi matriks.

                   3.      Mempelajari dan mengimplementasikan penggunaan MATLAB dalam operasi matriks serta penyelesaian sistem persamaan linear secara efisien.

 

 

 

 

 


 

BAB II

PEMBAHASAN

 

A.    Konsep dasar membentuk Array dan matriks

Dalam dunia pemrograman numerik, array dan matriks merupakan struktur data yang sering digunakan untuk menyimpan dan memproses data dalam bentuk angka. MATLAB (Matrix Laboratory) adalah salah satu bahasa pemrograman yang secara khusus dirancang untuk bekerja dengan matriks dan array secara efisien. Oleh karena itu, memahami cara membentuk array dan matriks merupakan keterampilan dasar yang sangat penting dalam MATLAB.

1.     Membentuk Array

Array adalah kumpulan elemen dengan tipe data yang sama yang tersusun dalam satu dimensi atau lebih. Array dapat berbentuk array satu dimensi (vektor), dua dimensi (matriks), atau lebih dari dua dimensi (array multidimensi).  Dalam MATLAB, array dapat dibentuk menggunakan berbagai metode, dua di antaranya adalah dengan membentuk deret sederhana dan menggunakan increment.

a.     Membentuk Deret Sederhana 

MATLAB menyediakan cara yang sangat mudah untuk membentuk array dengan elemen-elemen yang tersusun dalam suatu deret tertentu. Cara paling sederhana adalah dengan menuliskan angka-angka secara langsung dalam tanda kurung siku ([]). 

Contoh Array Sederhana: 

matlab

A = [1 2 3 4 5]  % Array baris

B = [10, 20, 30, 40]  % Cara lain dengan koma sebagai pemisah

Dalam contoh di atas, A adalah array baris dengan elemen 1 hingga 5, sementara B adalah array dengan nilai yang lebih besar. Selain juga bisa membuat array dengan operator titik dua (:), yang memungkinkan kita untuk membuat deret angka dengan aturan tertentu. 

Contoh Penggunaan Operator : untuk Membuat Deret: 

matlab

C = 1:5  % Array dengan elemen dari 1 sampai 5

D = 1:2:10  % Array dari 1 sampai 10 dengan selisih 2 (1, 3, 5, 7, 9)

Pada contoh di atas:

- C adalah array yang berisi elemen 1, 2, 3, 4, dan 5.

- D adalah array yang dimulai dari angka 1, dengan selisih antar elemen sebesar 2, hingga mencapai angka 10.

 

b.     Menggunakan Increment 

Increment dalam array digunakan untuk menentukan pola kenaikan atau penurunan elemen dalam array. Selain menggunakan operator :, MATLAB juga menyediakan fungsi linspace() yang berguna untuk membuat array dengan jumlah elemen tertentu dalam rentang nilai tertentu.

Contoh Penggunaan linspace() untuk Array dengan Increment Tertentu: 

matlab

E = linspace(1, 10, 5)  % Array dari 1 sampai 10 dengan 5 elemen

Pada contoh di atas, E akan berisi nilai yang dibagi rata dari 1 sampai 10 dengan total 5 elemen. Hasilnya adalah [1 3.25 5.5 7.75 10].

MATLAB juga mendukung operasi element-wise, sehingga kita bisa menggunakan perhitungan langsung pada array.

Contoh Operasi pada Array:

matlab

F = 1:5;

G = F  2;  % Mengalikan semua elemen dalam array dengan 2

Hasilnya, G akan berisi [2 4 6 8 10], yang merupakan hasil perkalian setiap elemen dalam F dengan 2.

 

2.     Membentuk Matriks

Matriks adalah array dua dimensi yang terdiri dari baris dan kolom. Dalam MATLAB, matriks dapat dibentuk dengan berbagai cara. Ada tiga metode utama dalam menulis matriks:

·       Metode 1: Menulis Matriks Secara Langsung 

Cara paling sederhana untuk membentuk matriks adalah dengan menuliskan elemen-elemen dalam tanda kurung siku [], di mana:

- Elemen dalam satu baris dipisahkan dengan spasi atau koma (,)

- Setiap baris baru dipisahkan dengan titik koma (;)

Contoh Membentuk Matriks Secara Langsung: 

matlab

M = [1 2 3; 4 5 6; 7 8 9]  % Matriks 3x3

Matriks M adalah matriks dengan tiga baris dan tiga kolom, di mana setiap elemen di dalamnya dipisahkan oleh spasi, dan setiap baris baru dipisahkan dengan titik koma.

·       Metode 2: Menggunakan Fungsi reshape() 

Fungsi reshape() digunakan untuk mengubah array satu dimensi menjadi matriks dengan ukuran tertentu.

Contoh Penggunaan reshape(): 

matlab

A = 1:9; 

M = reshape(A, [3,3])  % Mengubah array menjadi matriks 3x3

Matriks M akan berisi nilai dari A yang diatur dalam bentuk 3x3.

·       Metode 3: Menggunakan Fungsi zeros(), ones(), dan rand() 

MATLAB menyediakan fungsi untuk membuat matriks dengan elemen tertentu secara otomatis:

- zeros(m,n): Membuat matriks berukuran m x n dengan elemen 0 

- ones(m,n): Membuat matriks berukuran m x n dengan elemen 1 

- rand(m,n): Membuat matriks berukuran m x n dengan elemen acak antara 0 dan 1 

Contoh Penggunaan:

matlab

Z = zeros(3,3)  % Matriks 3x3 dengan elemen 0

O = ones(2,4)   % Matriks 2x4 dengan elemen 1

R = rand(3,3)   % Matriks 3x3 dengan elemen acak

 

 

 

3.     Membentuk Matriks Khusus

MATLAB juga menyediakan beberapa fungsi untuk membuat matriks khusus yang sering digunakan dalam berbagai aplikasi:

·       Matriks Identitas (eye()) 

Matriks identitas adalah matriks persegi yang elemen diagonalnya bernilai 1 dan sisanya 0.

Contoh Matriks Identitas:

matlab

I = eye(3)  % Matriks identitas 3x3

·       Matriks Diagonal (diag()) 

Matriks diagonal hanya memiliki elemen di sepanjang diagonal utamanya, sedangkan elemen lainnya adalah nol.

Contoh Matriks Diagonal:

matlab

D = diag([1 2 3 4])  % Matriks diagonal dengan elemen utama [1,2,3,4]

·       Matriks Segitiga (triu() dan tril()) 

- triu(A): Menghasilkan matriks segitiga atas 

- tril(A): Menghasilkan matriks segitiga bawah

Contoh Matriks Segitiga:

matlab

U = triu(rand(4))  % Matriks segitiga atas dari matriks acak 4x4

L = tril(rand(4))  % Matriks segitiga bawah dari matriks acak 4x4

·       Matriks Magic (magic()) 

Matriks magic adalah matriks persegi yang jumlah elemen di setiap baris, kolom, dan diagonal utamanya selalu sama.

Contoh Matriks Magic:

matlab

M = magic(3)  % Matriks magic 3x3

 

B.    Oprasi Aljabar dan matriks

Simbol

Keterangan

Contoh

*

Mengalikan dengan elemen, dengan ketentuan memiliki ukuran yang sama.

C = A *B

^

Memangkatkan matriks dengan skalar

C = A^K

.^

Memangkatkan elemen per elemen matriks dengan skalar

C = A.^K

Tranpose matriks

A’

./

Membagi elemen dengan ketentuan memiliki ukuran yang sama

C =A ./B

\

Menghasilkan AX=B

C = A\B

/

Menghasilkan XA=B

C = A/B

Inv

Menghasilkan invers matriks dengan ketentuan matriks merupkan bujur sangkar

C = Inv(A)

 

Nilai matriks 2x3

>> A = [2 3 4;4 5 6]

 

A =

     2     3     4

     4     5     6

 

>>  B = [3 4 5;5 6 7]

B =

     3     4     5

     5     6     7

Perkalian matriks

C = A*B

ans =

     6    15

    10    20

Pangkat skalar

C = A^K

     4     9    16

    16    25    36

Mengubah matriks (transpose)

C = A ./B

     2     4

     3     5

     4     6

Menghasilkan AX=B

C = A\B

    0.5000    0.0000   -0.5000

         0         0         0

    0.5000    1.0000    1.5000

Menghasilkan XA=B

C = A/B

    1.5000   -0.5000

    0.5000    0.5000

C = Inv(A)

 

C.    Membuat fungsi M-Fail

Fungsi M-File adalah jenis file yang digunakan di MATLAB untuk menyimpan kode program dalam bentuk fungsi terpisah yang dapat digunakan berulang kali. Fungsi ini sangat berguna dalam pemrograman karena memungkinkan kita untuk membagi kode menjadi bagian yang lebih kecil dan lebih terstruktur, sehingga lebih mudah dibaca, dipahami, dan digunakan kembali.

Dalam MATLAB, ada dua jenis utama file .m yang bisa dibuat:

1.         Script M-File

                       Berisi sekumpulan perintah MATLAB yang dijalankan secara berurutan.

                       Tidak memiliki parameter input atau output.

                       Semua variabel yang dibuat dalam script akan langsung masuk ke dalam workspace MATLAB.

2.         Function M-File

                       Memiliki struktur khusus dengan parameter input dan output.

                       Dapat dipanggil dari script lain atau Command Window dengan memberikan nilai input tertentu.

                       Variabel dalam function bersifat lokal, artinya tidak akan berpengaruh terhadap workspace utama MATLAB.

Mengapa Menggunakan Fungsi M-File?

Menggunakan fungsi M-File dalam MATLAB memberikan banyak keuntungan, di antaranya:

1.         Meningkatkan Efisiensi

            •Kita tidak perlu menulis ulang kode berulang kali. Cukup buat fungsi sekali, lalu gunakan berkali-kali.

2.         Membantu Modularisasi

                       Dengan membagi program menjadi fungsi-fungsi kecil, kita bisa lebih mudah memahami setiap bagian program.

3.         Memudahkan Debugging

                       Jika terjadi kesalahan dalam program, kita bisa lebih mudah memperbaiki kode karena setiap bagian memiliki fungsi yang jelas.

4.         Menghemat Waktu

                       Misalnya, jika kita sering menghitung luas lingkaran di berbagai bagian program, kita bisa cukup membuat satu fungsi hitungLingkaran.m dan memanggilnya kapan saja.

 

Struktur Dasar Fungsi M-File di MATLAB

 

Setiap function M-File memiliki struktur dasar seperti berikut:

 

function [output1, output2, ...] = namaFungsi(input1, input2, ...)

    % Komentar: Penjelasan tentang fungsi ini

    % Kode program untuk melakukan perhitungan atau operasi tertentu

end.

Penjelasan bagian-bagian kode di atas:

                       function → Kata kunci yang menandakan bahwa kita sedang membuat sebuah fungsi.

                       [output1, output2, ...] → Variabel yang digunakan untuk menyimpan hasil keluaran dari fungsi. Bisa satu atau lebih.

                       namaFungsi → Nama yang diberikan untuk fungsi ini. Harus sama dengan nama file .m yang dibuat.

                       (input1, input2, ...) → Parameter masukan yang digunakan dalam perhitungan di dalam fungsi. Bisa satu atau lebih.

                       % → Simbol untuk membuat komentar agar kode lebih mudah dipahami.

 

Contoh Fungsi M-File Sederhana

 

Misalkan kita ingin membuat fungsi untuk menghitung luas dan keliling lingkaran berdasarkan jari-jari yang diberikan. Maka kita bisa menulis kode berikut:

function [luas, keliling] = hitungLingkaran(r)

    % Fungsi ini menghitung luas dan keliling lingkaran berdasarkan jari-jari r

   

    % Menghitung luas lingkaran

    luas = pi  r^2;

   

    % Menghitung keliling lingkaran

    keliling = 2  pi  r;

end.

Langkah-Langkah Membuat dan Menjalankan Fungsi M-File

 

1. Membuka Editor MATLAB

                       Buka MATLAB.

                       Ketik edit di Command Window atau klik New Script di toolbar.

                       Jendela editor MATLAB akan terbuka.

 

2. Menulis Kode Fungsi

                       Tulis fungsi sesuai kebutuhan, misalnya fungsi hitungLingkaran di atas.

 

3. Menyimpan File

                       Simpan dengan nama hitungLingkaran.m.

                       Nama file harus sama dengan nama fungsi agar MATLAB dapat mengenali dan menjalankannya.

 

4. Menjalankan Fungsi di Command Window

 

Untuk menggunakan fungsi, kita cukup mengetikkan perintah seperti berikut di Command Window:

[L, K] = hitungLingkaran(7);

disp(['Luas: ', num2str(L)]);

disp(['Keliling: ', num2str(K)]);

Output yang akan muncul:

Luas: 153.9380

Keliling: 43.9823

 

Sifat-Sifat Fungsi M-File

Fungsi dalam MATLAB memiliki beberapa karakteristik utama:

1.         Memiliki Ruang Kerja Sendiri (Local Scope)

                       Variabel yang dibuat dalam fungsi tidak akan mempengaruhi variabel lain di MATLAB kecuali jika dikembalikan sebagai output.

2.         Dapat Menerima Input dan Menghasilkan Output

                       Fungsi dapat menerima banyak parameter input dan memberikan lebih dari satu nilai sebagai output.

3.         Dapat Dipanggil Berulang Kali

                       Setelah dibuat, fungsi dapat digunakan kapan saja tanpa harus menulis ulang kodenya.

4.         Memudahkan Pengorganisasian Kode

                       Dengan fungsi, kode menjadi lebih modular dan lebih mudah dikelola.

5.         Dapat Digunakan dalam Skrip atau Program Lain

                       Fungsi yang telah dibuat dapat dipanggil dari skrip MATLAB lainnya atau bahkan dari fungsi lain.

 

Contoh Fungsi M-File yang Lebih Kompleks

Misalkan kita ingin membuat fungsi untuk menghitung luas permukaan dan volume bola, maka kita bisa membuat M-File dengan kode berikut:

function [luasPermukaan, volume] = hitungBola(r)

    % Fungsi untuk menghitung luas permukaan dan volume bola

   

    % Menghitung luas permukaan bola

    luasPermukaan = 4  pi  r^2;

   

    % Menghitung volume bola

    volume = (4/3)  pi  r^3;

end.

Cara Menjalankan Fungsi

Di Command Window, kita bisa mengetik:

[LuasBola, VolumeBola] = hitungBola(5);

disp(['Luas Permukaan: ', num2str(LuasBola)]);

disp(['Volume: ', num2str(VolumeBola)]);

Output yang akan muncul:

Luas Permukaan: 314.1593

Volume: 523.5988.

 

D.    Kontrol  program Matlab

MATLAB adalah perangkat lunak yang banyak digunakan dalam berbagai bidang ilmu, seperti teknik, matematika, fisika, dan ilmu komputer. Salah satu keunggulan MATLAB adalah kemampuannya dalam menangani komputasi numerik dengan efisien serta menyediakan berbagai struktur kendali (control flow) yang memudahkan pengguna dalam menulis kode yang modular, efisien, dan mudah dipahami. Pengaturan alur program memungkinkan pengguna untuk mengulangi perhitungan secara berulang-ulang ataupun memilih serta memutuskan kondisi-kondisi yang sesuai/diinginkan. MATLAB menyediakan empat bentuk pengaturan alur program yang akan dibahas berikut ini :

                   1.     Perulangan For-End

Perulangan for-end digunakan untuk menjalankan blok perintah dalam jumlah iterasi yang telah ditentukan.

for variabel = nilai_awal:step:nilai_akhir

    % Perintah yang akan diulang

end

Penjelasan :

·       nilai_awal → Nilai awal variabel iterasi.

·       step → Langkah kenaikan atau penurunan variabel (opsional, default = 1).

·       nilai_akhir → Batas akhir literasi.

Contoh :

Hasilnya :

                   2.     Perulangan While-End

Perulangan while-end digunakan untuk menjalankan perintah selama kondisi tertentu masih terpenuhi (true). Loop for mengerjakan sekelompok perintah pengulangan yang diulang sebanyak suatu junk yang kita tentukan, tetapi loop while mengerjakan sekelompok perintah yang diulang secara tidak terbatas.  Sintaks dasar dalam MATLAB dari Loop While adalah:

while kondisi

    % Perintah yang akan diulang

end

contoh :

hasil :

Penjelasan :

·       Perulangan berjalan dari 1 hingga 10 dengan langkah 2.

·       Program mencetak teks dengan nomor literasi setiap kali perulangan dilakukan.

 

                   3.     Percabangan If-Elseif-Else-End

Percabangan if-elseif-else-end digunakan untuk mengeksekusi perintah berdasarkan kondisi tertentu. Jika kondisi pertama bernilai benar (true), maka blok kode di dalamnya dieksekusi. Jika tidak, program akan mengecek kondisi berikutnya dalam elseif, dan jika tidak ada kondisi yang terpenuhi, bagian else akan dieksekusi sebagai alternatif terakhir.

if kondisi1

    % Perintah yang dijalankan jika kondisi1 benar

elseif kondisi2

    % Perintah yang dijalankan jika kondisi2 benar

else

    % Perintah jika tidak ada kondisi yang benar

end

contoh :

hasil :

Penjelasan :

·       Jika x lebih dari 0, program mencetak "Bilangan positif".

·       Jika x kurang dari 0, program mencetak "Bilangan negatif".

·       Jika x sama dengan 0, program mencetak "Bilangan nol".

                   4.     Percabangan Switch-Case-Otherwise-End

Struktur kendali switch-case-otherwise-end digunakan untuk memilih satu dari beberapa blok perintah berdasarkan nilai tetap suatu variabel. Berbeda dengan if-else, switch hanya mengevaluasi kesetaraan nilai variabel tanpa menggunakan ekspresi logika kompleks.

switch variabel

    case nilai1

        % Perintah jika variabel == nilai1

    case nilai2

        % Perintah jika variabel == nilai2

    case {nilai3, nilai4}

        % Perintah jika variabel == nilai3 atau nilai4

    otherwise

        % Perintah jika tidak ada case yang cocok

end

contoh :

hasil :

Penjelasan :

·       Jika hari bernilai 3, maka program mencetak "Rabu".

·       Jika hari bernilai 6 atau 7, program mencetak "Akhir Pekan".

·       Jika tidak ada yang cocok, program mencetak "Hari tidak valid".

E.    Contoh Latihan dalam fisika

HUKUM GAUSS

Gambar di bawah ini memperlihatkan sebuah bola pejal yang bersifat menginsulasi dengan jari-jari a membawa muatan positif 3Q yang didistribusikan ke seluruh volumenya. Konsentris dengan bola ini adalah sebuah konduktor dengan jari-jari dalam b dan jari-jari luar c, serta memiliki muatan netto -Q

 

 

Sesuai dengan Hukum Gauss, medan listrik untuk setiap bagian bola tersebut adalah sebagai berikut:

Untuk  (di dalam bola padat)

                                                               (2.3)

Untuk  (di antara bola padat dan bola berongga)

                                                                                             (2.4)

Untuk  (di dalam kulit bola berongga)

                                                                                                       (2.5)

Untuk  (di kulit terluar dan di luar bola berongga)

                                                                                             (2.6)

Buatlah fungsi dari persamaan (2.3) sampai (2.6) menggunakan statement if dengan input variasi posisi titik uji r. Output program untuk mengetahui medan listrik pada titik uji r tersebut serta informasi karakter (titik uji ada di dalam bola padat, di antara bola padat dan bola berongga, di kulit bola berongga atau di luar bola berongga). Dari fungsi tersebut, buatlah grafik medan listrik  vs posisi r.

Jawab: ketik kode berikut di script yang baru sebagai berikut.

%% Hukum Gauss - Medan Listrik

clc; clear; close all;

 

epsilon_0 = 8.85e-12; % Permitivitasi vakum

a = 1;  % Jari-jari bola padat

b = 2;  % Jari-jari bola berongga dalam

c = 3;  % Jari-jari bola berongga luar

Q = 1e-6; % Muatan total

 

r = input('Masukkan nilai r: ');

 

if r < a

    rho = 3*Q / ((4/3)*pi*a^3);

    E = (rho * r) / (3 * epsilon_0);

    disp('Titik uji ada di dalam bola padat');

elseif r < b

    E = (3*Q) / (4*pi*epsilon_0*r^2);

    disp('Titik uji ada di antara bola padat dan bola berongga');

elseif r < c

    E = 0;

    disp('Titik uji ada di dalam kulit bola berongga');

else

    E = (2*Q) / (4*pi*epsilon_0*r^2);

    disp('Titik uji ada di luar bola berongga');

end

 

disp(['Medan listrik di r = ', num2str(r), ' adalah ', num2str(E), ' N/C']);

 

Setelah itu simpan dengan format file dan beri nama (contoh: mainhukumgauss2.m)

Lalu di Command Windows ketik nama script yang telah dibuat (misalnya mainhukumgauss2)

Bila muncul kode seperti ini

mainhukumgauss2

Execution of script mainhukumgauss2 as a function is not supported:

/MATLAB Drive/mainhukumgauss2.m

 

Error in mainhukumgauss2 (line 10)

r = input('Masukkan nilai r: ');

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^

 

Masukkan nilai r:

 

Maka, kita hanya perlu masukkan nilai r di baris baru.

0.5-0.9 (untuk titik uji ada di dalam bola padat)

1.0-1.9 (untuk titik uji ada di antara bola padat dan bola berongga)

2.0-2.9 (untuk titik uji ada di dalam kulit bola berongga)

3- (untuk titik uji ada di luar bola berongga)

 

Untuk grafik medan listrik E vs posisi r, buat script dengan kode berikut.

clc; clear; close all;

 

% Menjalankan fungsi dalam satu script

r_values = linspace(0, 6, 100);

E_values = arrayfun(@(r) medan_listrik(r, 1, 2, 3, 1e-6), r_values);

 

% Plot grafik

figure;

plot(r_values, E_values); grid on;

xlabel('Posisi r'); ylabel('Medan Listrik (N/C)');

title('Grafik Medan Listrik vs Posisi r');

 

% Definisi fungsi harus di akhir script

function E = medan_listrik(r, a, b, c, Q)

    epsilon_0 = 8.85e-12;

    if r < a

        rho = 3*Q / ((4/3)*pi*a^3);

        E = (rho * r) / (3 * epsilon_0);

        disp('Titik uji ada di dalam bola padat');

    elseif r < b

        E = (3*Q) / (4*pi*epsilon_0*r^2);

        disp('Titik uji ada di antara bola padat dan bola berongga');

    elseif r < c

        E = 0;

        disp('Titik uji ada di dalam kulit bola berongga');

    else

        E = (2*Q) / (4*pi*epsilon_0*r^2);

        disp('Titik uji ada di luar bola berongga');

    end

end

 

Setelah itu simpan dengan format file dan beri nama (contoh: mainhukumgauss.m)

Lalu di Command Windows ketik nama script yang telah dibuat (misalnya mainhukumgauss)

Maka akan muncul grafik seperti di bawah ini.

 

GAYA GRAVITASI BOLA PADAT

 

 

Sesuai konsep gravitasi, gaya gravitasi yang dialami benda bermassa  akibat bola padat bermassa  akan berbeda kriteria ketika berada dalam bola padat ataupun ketika berada di dalam bola padat. Sesuai konsep mekanika diperoleh:

Untuk kondisi  (di luar bola padat), maka berlaku

                                                                                                      (2.7)

Untuk kondisi  (di dalam bola padat), maka berlaku

                                                                                                    (2.8)

Atau

                                                                                                    (2.9)

Buatlah fungsi dari persamaan (2.7) dan (2.9) menggunakan statement if dengan input variasi posisi Anda berada di dalam, di permukaan atau di luar bumi. Output program adalah untuk mengetahui posisi Anda berada (Hint: gunakan disp dengan karakter di dalam, di luar atau di permukaan bumi) dan besar gaya gravitasi vs jarak terhadap pusat bola/bumi.

Jawab: ketik kode berikut di script yang baru sebagai berikut.

clc; clear; close all;

 

% Parameter

G = 6.674e-11; % Konstanta gravitasi (m^3/kg/s^2)

M = 5.972e24;  % Massa bumi (kg)

R = 6371000;   % Jari-jari bumi (m)

m = 70;        % Massa benda (kg)

 

% Variasi jarak r dari pusat bumi

r_values = linspace(0, 2*R, 100);

 

% Hitung gaya gravitasi

F_values = zeros(size(r_values));

 

for i = 1:length(r_values)

    r = r_values(i);

   

    if r < R

        % Jika r lebih kecil dari R, berarti masih di dalam bola padat

        F_values(i) = G * M * m * r / R^3;

        disp(['r = ', num2str(r), ' m (Anda berada di dalam bola padat)']);

    elseif r == R

        % Jika r sama dengan R, berarti di permukaan bola padat

        F_values(i) = G * M * m / R^2;

        disp(['r = ', num2str(r), ' m (Anda berada di permukaan bola padat)']);

    else

        % Jika r lebih besar dari R, berarti di luar bola padat

        F_values(i) = G * M * m / r^2;

        disp(['r = ', num2str(r), ' m (Anda berada di luar bola padat)']);

    end

end

 

% Menampilkan gaya gravitasi di permukaan bumi

F_surface = G * M * m / R^2;

disp(['Gaya gravitasi di permukaan bumi: ', num2str(F_surface), ' N']);

 

% Plot grafik gaya gravitasi vs jarak

figure;

plot(r_values, F_values, 'b', 'LineWidth', 2);

grid on;

xlabel('Jarak dari pusat bumi (m)');

ylabel('Gaya Gravitasi (N)');

title('Grafik Gaya Gravitasi vs Jarak');

legend('Gaya Gravitasi');

 

Setelah itu simpan dengan format file dan beri nama (contoh: maingayagravitasipadat.m)

Lalu di Command Windows ketik nama script yang telah dibuat (misalnya maingayagravitasipadat)

Maka akan muncul grafik seperti di bawah ini.

Untuk mengetahui posisi kita di luar, permukaan atau di dalam bumi, ketik script berikut:

>> r = input('Masukkan nilai r dalam meter: ');  % Meminta input dari pengguna

R = 6371000; % Jari-jari bumi dalam meter

 

if r < R

    disp(['r = ', num2str(r), ' m (Anda berada di dalam bola padat)']);

elseif r == R

    disp(['r = ', num2str(r), ' m (Anda berada di permukaan bola padat)']);

else

    disp(['r = ', num2str(r), ' m (Anda berada di luar bola padat)']);

end

Masukkan nilai r dalam meter:

 

Kemudian kita masukkan 5000000, maka outputnya

r = 5000000 m (Anda berada di dalam bola padat)

 

Bila kita masukkan 6371000, maka outputnya

r = 6371000 m (Anda berada di permukaan bola padat)

 

Bila kita masukkan 7000000, maka outputnya

r = 7000000 m (Anda berada di luar bola padat)

 

HUKUM ARCHIMEDES

Sebuah balok bermassa 2 kg tercelup ke dalam fluida yang memiliki massa jenis 100 . Jika diketahui konstanta gravitasi 9,8 , benda tersebut akan mengalami gaya ke atas yang besarnya:

                                                                                (2.10)

Tentukan kondisi benda yang tercelup dengan ketentuan

 benda tenggelam

 benda melayang

 benda terapung

Dalam kondisi benda tercelup sebagian maka  bukanlah volume benda seluruhnya.

1.      Dengan memvariasikan volume benda, buatlah algoritma untuk menggambarkan kondisi benda yang tercelup dengan menggunakan statement if.

2.      Buatlah grafik hubungan gaya ke atas terhadap volume.

Jawab: ketik kode berikut di script yang baru sebagai berikut.

clc; clear; close all;

 

% Parameter

rho_f = 1000; % Massa jenis fluida (kg/m^3) (contoh: air)

m = 2;        % Massa benda (kg)

g = 9.8;      % Percepatan gravitasi (m/s^2)

 

% Hitung berat benda

W = m * g;

 

% Variasi volume benda (dari kecil ke besar)

V_values = linspace(0.001, 0.01, 100); % Volume dalam m^3

Fb_values = rho_f * g * V_values; % Hitung gaya ke atas

 

% Menentukan kondisi benda berdasarkan gaya ke atas

kondisi = strings(size(V_values));

 

for i = 1:length(V_values)

    if Fb_values(i) > W

        kondisi(i) = "Terapung";

    elseif Fb_values(i) == W

        kondisi(i) = "Melayang";

    else

        kondisi(i) = "Tenggelam";

    end

end

 

% Menampilkan hasil dalam tabel

T = table(V_values', Fb_values', kondisi', ...

          'VariableNames', {'Volume (m^3)', 'Gaya ke Atas (N)', 'Kondisi Benda'});

disp(T);

 

% Plot Grafik dengan warna berbeda untuk setiap kondisi

figure;

hold on;

for i = 1:length(V_values)

    if kondisi{i} == "Terapung"

        plot(V_values(i), Fb_values(i), 'bo', 'MarkerFaceColor', 'b'); % Biru untuk Terapung

    elseif kondisi{i} == "Melayang"

        plot(V_values(i), Fb_values(i), 'go', 'MarkerFaceColor', 'g'); % Hijau untuk Melayang

    else

        plot(V_values(i), Fb_values(i), 'ro', 'MarkerFaceColor', 'r'); % Merah untuk Tenggelam

    end

end

 

xlabel('Volume Benda (m^3)');

ylabel('Gaya ke Atas (N)');

title('Grafik Kondisi Benda terhadap Volume');

 

% Tambahkan legenda secara eksplisit

legend({'Terapung (Biru)', 'Melayang (Hijau)', 'Tenggelam (Merah)'}, 'Location', 'northwest');

 

hold off;

 

Setelah itu simpan dengan format file dan beri nama  (contoh: mainhukumarchimedes2.m)

Lalu di Command Windows ketik nama script yang telah dibuat (misalnya mainhukumarchimedes2)

Maka akan muncul grafik seperti di bawah ini.

Selain grafik, di Command Windows juga menampilkan data berikut.

    Volume (m^3)    Gaya ke Atas (N)    Kondisi Benda

    ____________    ________________    _____________

 

         0.001              9.8          "Tenggelam"

     0.0010909           10.691          "Tenggelam"

     0.0011818           11.582          "Tenggelam"

     0.0012727           12.473          "Tenggelam"

     0.0013636           13.364          "Tenggelam"

     0.0014545           14.255          "Tenggelam"

     0.0015455           15.145          "Tenggelam"

     0.0016364           16.036          "Tenggelam"

     0.0017273           16.927          "Tenggelam"

     0.0018182           17.818          "Tenggelam"

     0.0019091           18.709          "Tenggelam"

         0.002             19.6          "Melayang" 

     0.0020909           20.491          "Terapung" 

     0.0021818           21.382          "Terapung" 

     0.0022727           22.273          "Terapung" 

     0.0023636           23.164          "Terapung" 

     0.0024545           24.055          "Terapung" 

     0.0025455           24.945          "Terapung" 

     0.0026364           25.836          "Terapung" 

     0.0027273           26.727          "Terapung" 

     0.0028182           27.618          "Terapung" 

     0.0029091           28.509          "Terapung" 

         0.003             29.4          "Terapung" 

     0.0030909           30.291          "Terapung" 

     0.0031818           31.182          "Terapung" 

     0.0032727           32.073          "Terapung" 

     0.0033636           32.964          "Terapung" 

     0.0034545           33.855          "Terapung" 

     0.0035455           34.745          "Terapung" 

     0.0036364           35.636          "Terapung" 

     0.0037273           36.527          "Terapung" 

     0.0038182           37.418          "Terapung" 

     0.0039091           38.309          "Terapung" 

         0.004             39.2          "Terapung" 

     0.0040909           40.091          "Terapung" 

     0.0041818           40.982          "Terapung" 

     0.0042727           41.873          "Terapung" 

     0.0043636           42.764          "Terapung" 

     0.0044545           43.655          "Terapung" 

     0.0045455           44.545          "Terapung" 

     0.0046364           45.436          "Terapung" 

     0.0047273           46.327          "Terapung" 

     0.0048182           47.218          "Terapung" 

     0.0049091           48.109          "Terapung" 

         0.005               49          "Terapung" 

     0.0050909           49.891          "Terapung" 

     0.0051818           50.782          "Terapung" 

     0.0052727           51.673          "Terapung" 

     0.0053636           52.564          "Terapung" 

     0.0054545           53.455          "Terapung" 

     0.0055455           54.345          "Terapung" 

     0.0056364           55.236          "Terapung" 

     0.0057273           56.127          "Terapung" 

     0.0058182           57.018          "Terapung" 

     0.0059091           57.909          "Terapung" 

         0.006             58.8          "Terapung" 

     0.0060909           59.691          "Terapung" 

     0.0061818           60.582          "Terapung" 

     0.0062727           61.473          "Terapung" 

     0.0063636           62.364          "Terapung" 

     0.0064545           63.255          "Terapung" 

     0.0065455           64.145          "Terapung" 

     0.0066364           65.036          "Terapung" 

     0.0067273           65.927          "Terapung" 

     0.0068182           66.818          "Terapung" 

     0.0069091           67.709          "Terapung" 

         0.007             68.6          "Terapung" 

     0.0070909           69.491          "Terapung" 

     0.0071818           70.382          "Terapung" 

     0.0072727           71.273          "Terapung" 

     0.0073636           72.164          "Terapung" 

     0.0074545           73.055          "Terapung" 

     0.0075455           73.945          "Terapung" 

     0.0076364           74.836          "Terapung" 

     0.0077273           75.727          "Terapung" 

     0.0078182           76.618          "Terapung" 

     0.0079091           77.509          "Terapung" 

         0.008             78.4          "Terapung" 

     0.0080909           79.291          "Terapung" 

     0.0081818           80.182          "Terapung" 

     0.0082727           81.073          "Terapung" 

     0.0083636           81.964          "Terapung" 

     0.0084545           82.855          "Terapung" 

     0.0085455           83.745          "Terapung" 

     0.0086364           84.636          "Terapung" 

     0.0087273           85.527          "Terapung" 

     0.0088182           86.418          "Terapung" 

     0.0089091           87.309          "Terapung" 

         0.009             88.2          "Terapung" 

     0.0090909           89.091          "Terapung" 

     0.0091818           89.982          "Terapung" 

     0.0092727           90.873          "Terapung" 

     0.0093636           91.764          "Terapung" 

     0.0094545           92.655          "Terapung" 

     0.0095455           93.545          "Terapung" 

     0.0096364           94.436          "Terapung" 

     0.0097273           95.327          "Terapung" 

     0.0098182           96.218          "Terapung" 

     0.0099091           97.109          "Terapung" 

          0.01               98          "Terapung"

Comments

Popular posts from this blog

Penerapan Hukum Bernoulli pada pesawat

Flowchart Fluida Dinamis

Storyline App Inventor Fulida Dinamis