Sunday, 30 October 2016

Program array dan fungsi di MATLAB


                Ada yang tau matlab? Aplikasi memang kurang popular dibandingkan dengan aplikasi pemrograman lain seperti codeblock, dll. Tapi tidak jarang program ini digunakan diberbagai perguruan tinggi yang ada mata kuliah teknologi informasi.
            Nah buat kamu mungkin yang pakai program ini. Ada nih satu contoh program array dan fungsi:





Program utama :
clear all
clc

pil=1; %deklarasi awal
y=1; %deklarasi awal
disp('Finz Program'); %menampilkan tulisan
while pil~=5 %%selama variable pil bukan 5 program akan terus berjalan
    menu %memanggil fungsi menu
    pil=input('Pilihan : '); %input pilihan menu yang akan dipakai (1-5)
    switch pil; %mengganti kasus sesuai input dari variable pil
        case 1 %kasus jika pil=1
            fprintf('\n'); %mencetak spasi
            [s,masuk]=masukan; %memanggil fungsi masukan
            data(y)=s; %data ke y samadengan s(variable balik dari fungsi)
            y=y+1; %nilai y ditambah 1 setelah operasi selesai
        case 2 %kasus jika pil=2
            fprintf('\n'); %mencetak spasi
            printdata(data); %memanggil fungsi printdata
        case 3 %kasus jika pil=3
            fprintf('\n'); %mencetak spasi
            data=ubahdata(data); %memanggil fungsi ubahdata
        case 4 %kasus jika pil=4
            fprintf('\n'); %mencetak spasi
            caridata(data); %memanggil fungsi caridata
    end
    fprintf('\n'); %mencetak spasi
end

Simpan dengan nama ‘menu.m’
function menu %fungsi menu
    disp('1. Masukkan Nilai Tabel'); %menampilkan tulisan
    disp('2. Tampilkan Tabel'); %menampilkan tulisan
    disp('3. Mengubah Isi Tabel'); %menampilkan tulisan
    disp('4. Pencarian Suatu Bilangan'); %menampilkan tulisan
    disp('5. Exit'); %menampilkan tulisan
end

Simpan dengan nama ’masukan.m’.
function [data,masuk]=masukan %fungsi masukan dengan parameter input dan nilai balik
    masuk=input('Masukkan sebuah nilai x(0<=x<=10000) : ');
    while masuk<0 || masuk>10000 %selama variable masuk kurang dari 0 atau lebih dari 10000
        disp('Input salah nilai x berada antara 0 sampai 10000'); %menampilkan tulisan
        masuk=input('Masukkan sebuah nilai x(0<=x<=10000) : '); %mengulangi input variable
    end
    if masuk>=0 || masuk<=10000 %jika variable masuk didalam domain(0<=masuk<=10000
        data=masuk; %maka masuk dimasukkan ke dalam variable data.
    end
    disp('Data berhasil dimasukkan dalam tabel'); %menampilkan tulisan
end

Simpan dengan nama’ubahdata.m’
function data=ubahdata(data) %fungsi ubahdata dengan parameter dan nilai balik
    x=input('Masukkan indeks tabel yang ingin anda ubah : ');
    ubah=input('Masukkan sebuah nilai x(0<=x<=10000) : '); %memasukkan nilai yang diubah
    data(x)=ubah; %data ke x akan diubah sesuai dengan masukan ubah
    fprintf('Data pada tabel indeks ke %d berhasil diubah\n',x); %menampilkan tulisan
end

Simpan dengan nama ‘caridata.m’
function caridata(data) %fungsi caridata dengan parameter input
    x=input('Masukkan bilangan yang ingin anda cari : '); %menginput bilangan yang dicari
    sum=0; %deklarasi awal
    for i=1:length(data); %pengulangan dari 1 sampai panjang data
        if data(i)==x %jika data sama dengan variable yang dimasukkan
            sum=sum+1; %jumlah sum akan ditambah 1
        end
    end
    if sum~=0 %jika sum tidak 0
        s='ada'; %maka ada
    else
        s='tidak ada'; %maka tidak ada
    end
    fprintf('%d %s pada tabel\n',x,s); %menampilkan keterangan dari variable yang dimasukkan
end

       
Simpan dengan nama ‘printdata.m’
function printdata(x) %fungsi printdata dengan parameter input x
    fprintf('Tabel memiliki %d buah nilai, yaitu : \n',length(x)); %menampilkan tulisan
    for i=1:length(x) %pengulangan dari 1 sampai panjang data
        fprintf('%d\n',x(i)); %menampilkan data ke i
    end
    fprintf('\n'); %membuat spasi
end
Catatan : Simpan semua file dalam folder yang sama dan soalnya bisa didownload melalui tautan dibawah ini.

Semoga bermanfaat…

No comments:

Post a Comment