Featured Post

Kecerdasaran Buatan

  Paradigma AI mengacu pada kerangka pemikiran dalam pengembangan kecerdasan buatan (AI). Terdapat empat paradigma utama: Acting Rationally:...

Kecerdasaran Buatan

Kecerdasaran Buatan

 


Paradigma AI mengacu pada kerangka pemikiran dalam pengembangan kecerdasan buatan (AI). Terdapat empat paradigma utama:


Acting Rationally: Paradigma ini fokus pada perilaku cerdas, di mana AI didesain untuk mencapai tujuan tertentu secara optimal tanpa mempertimbangkan kesadaran atau proses berpikir manusia. Tujuan utama adalah melakukan tindakan yang benar dalam situasi yang diberikan. Contoh: Sistem pemantauan lingkungan untuk mendeteksi polusi dan mengambil tindakan untuk meminimalkannya.


Thinking Humanly: Paradigma ini berupaya membuat mesin berpikir seperti manusia. Hal ini melibatkan pemodelan proses kognitif manusia seperti persepsi, belajar, dan penalaran. Contoh: Chatbot yang dirancang untuk berinteraksi dengan manusia dengan cara yang menyerupai percakapan manusia.


Thinking Rationally: Paradigma ini berkaitan dengan pembuatan AI yang berpikir sesuai dengan prinsip-prinsip logis dan penalaran yang rasional. Fokusnya adalah pada pengembangan sistem yang mampu menarik kesimpulan logis dari informasi yang diberikan. Contoh: Sistem penalaran yang dapat menarik kesimpulan logis dari data medis untuk membantu diagnosis.


Acting Humanly: Paradigma ini menekankan pada kemampuan AI untuk meniru perilaku manusia, baik dalam berinteraksi maupun dalam melakukan tugas tertentu. Contoh: Robot sosial yang dirancang untuk berinteraksi dan membantu manusia dalam kegiatan sehari-hari.


Contoh Teknologi Berdasarkan Masing-Masing Paradigma:

Acting Rationally: Sistem AI untuk pengelolaan lalu lintas kota yang memanfaatkan data sensor untuk mengoptimalkan aliran lalu lintas secara efisien dan mengurangi kemacetan.


Thinking Humanly: Chatbot dalam layanan pelanggan yang menggunakan pemrosesan bahasa alami dan pembelajaran mesin untuk menjawab pertanyaan pengguna secara mirip dengan interaksi manusia.


Thinking Rationally: Sistem AI untuk diagnosis medis yang menggunakan basis data besar untuk membuat inferensi logis dan memberikan rekomendasi diagnosis berdasarkan informasi yang diberikan.


Acting Humanly: Robot asisten rumah tangga yang dapat membantu dalam pekerjaan rumah sehari-hari dan berinteraksi dengan penghuni rumah seperti teman.


Ulasan tentang Teknologi Terkini yang Menggunakan AI

Salah satu contoh teknologi terkini yang menggunakan AI adalah teknologi pengenalan emosi dalam analisis video. Teknologi ini tidak secara langsung terhubung dengan paradigma tertentu, namun cenderung merujuk pada kombinasi paradigma acting rationally dan thinking humanly.


Pengenalan emosi dalam analisis video memanfaatkan algoritma pembelajaran mesin untuk mengidentifikasi ekspresi wajah dan ekspresi emosi manusia dalam video. Meskipun lebih cenderung pada paradigma "Acting Rationally" karena fokus pada tindakan yang cerdas (identifikasi emosi secara tepat), namun juga melibatkan unsur "Thinking Humanly" karena upaya untuk memahami dan merespons aspek-aspek emosional manusia.


Dalam hal ini, teknologi tersebut cenderung memadukan paradigma acting rationally dalam pengenalan yang tepat dengan nuansa thinking humanly dalam memahami dimensi emosi manusia yang kompleks.

Basis Data Lanjut - Oracle

Basis Data Lanjut - Oracle


1 Pertemuan 1 : Silabus dan aturan perkuliahan

    - Baca Sendiri Di Modul

1.1 Silabus dan aturan perkuliahan (materi sendiri)

    - Baca Sendiri Di Modul

2 Pertemuan 2 : Skema Relasi & SELECT

2.1 Skema Relasi HR (materi sendiri)

    - Baca Sendiri Di Modul

2.2 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

    - Baca Sendiri Di Modul

2.2.1 DP 1-3: Anatomy of a SQL Statement

    * Contoh SQL :
    Untuk menampilkan kolum berdasankan table    

  SELECT <column_name> FROM <table_name>;

   Untuk menghitung cara langsung aritmatika bisa : * / - + 
    Jika dia bernilai null maka akan - / null

  SELECT last_name, salary, salary + 300  FROM employees

    Untuk Membuat alias 

  SELECT last_name, salary, salary + 300 as "Gaji tambah 300"  FROM employees;

    Untuk Deskripsi Table Melihat Informasi type Data panjang dll

DESC departments;

    Untuk Mengabungkan Kata / Kolumn Dengan Concat 

Select department_id ||' ' ||department_name from departments; 

 

SELECT last_name || ' has a monthly salary of ' || salary || ' dollars.' AS Pay FROM employees;  

     Agar tidak terjadi duplikasi maka bisa menggunakan DISTINCT

SELECT DISTINCT department_id FROM employees;

2.2.2 DP 2-1: Columns, Characters and Rows

3 Pertemuan 3 : Selection & Sorting

3.1 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

3.1.1 DP 2-2: Limit Rows Selected

    Untuk membatasi atau mencari dengan kata kunci tertentu bisa menggunakan :

SELECT employee_id, first_name, last_name FROM employees WHERE employee_id = 101;

    Untuk Operator where bisa : = > = < <= <>

3.1.2 DP 2-3: Comparison Operators

     Untuk mencari data diantara bisa menggunakan > < atau lebih mudah dengan Between

Select last_name, salary from employees where salary BETWEEN 9000 and 11000;

    Untuk Mencari Data Yang Menggunakan OR Bisa menggunakan Opsi Lain Dengan IN

 Select city, state_province, country_id from locations where country_id IN('UK', 'CA');

    Untuk mencari kata semisal 1 huruf bebas dan dilanjut O dan setelah O bebas maka bisa menggunakan

Select last_name from employees where last_name LIKE '_o%';

    Untuk mencari sesuatu tetapi misalkan valuenya terdapat simbol "_" maka bisa menggunakan misalkan mencari _R% maka bisa

 Select last_name, job_id from employees where like '%\_R' ESCAPE '\';

    Untuk mencari data yang null bisa menggunakan

Select last_name, manager_id, from employees where manager_id IS NULL;

    Untuk mencari data yang tidak null bisa menggunakan

Select last_name, manager_id, from employees where manager_id NOT NULL;

3.1.3 DP 3-1: Logical Comparisons and Precedence Rules

    Untuk mencari data yang membutuhkan operator perbandingan dan harus terpenuhi keduanya bisa menggunakan AND

Select last_name,hire_date,job_id from employees where hire_date > '01-Jan-1998' AND job_id Like 'SA%';

     Untuk mencari data yang membutuhkan operator perbandingan dan salah satunya terpenuhi bisa menggunakan OR

Select last_name,hire_date,job_id from employees where hire_date > '01-Jan-1998' OR job_id Like 'SA%';

     Untuk mencari data yang tidak harus memiliki value diantaranya selain bisa menggunakan or bisa menggunakan NOT IN

Select last_name, manager_id, from employees where location_id NOT IN (1700,1800);

3.1.4 DP 3-2: Sorting Rows

      Untuk mengurutkan data berdasarkan data terkecil keterbesar bisa dikosongkan secara default atau titambah Order by <column_name> asc;

Select last_name, manager_id, from employees order by hire_date;

      Untuk mengurutkan data berdasarkan data terbesar keterkcil

Select last_name, manager_id, from employees order by hire_date desc;

     Untuk Multi Penguurutan mengurutkan data berdasarkan data terbesar keterkcil

Select last_name, manager_id, from employees order by hire_date desc, last_name asc;

 

4 Pertemuan 4 : Function & Single Row Functions

4.1 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

    Dual DUMMY :

SELECT (319/29) + 12 FROM DUAL;

4.1.1 DP 3-3: Introduction to Functions

4.1.2 DP 4-1: Case and Character Manipulation

   Case-Manipulation Functions

     - LOWER

SELECT last_name FROM employees WHERE LOWER(last_name) = 'abel';

    - UPPER

SELECT last_name FROM empl oyees WHERE UPPER(last_name) = 'ABEL';

    - INITCAP

SELECT last_name FROM employees WHERE INITCAP(last_name) = 'Abel';

Character-Manipulation Functions

    - CONCAT

SELECT CONCAT('Hello', 'World') FROM DUAL;

 

SELECT CONCAT(first_name, last_name) FROM employees; 

 

    - SUBSTR

SELECT SUBSTR('HelloWorld', 1, 5) FROM DUAL; 

 

    - LENGTH

SELECT LENGTH('HelloWorld') FROM DUAL;

    - INSTR

SELECT INSTR('HelloWorld', 'W') FROM DUAL;


SELECT last_name, INSTR(last_name, 'a') FROM employees; 

 

    - LPAD | RPAD

SELECT LPAD('HelloWorld', 15, '-') FROM DUAL; 

 

SELECT LPAD(last_name, 10, '*') FROM employees;

 

SELECT RPAD('HelloWorld', 15, '-') FROM DUAL; 

 

SELECT RPAD(last_name, 10, '*') FROM employees; 

    - TRIM

SELECT TRIM(LEADING 'a' FROM 'abcba') FROM DUAL; 

 

SELECT TRIM(TRAILING 'a' FROM 'abcba') FROM DUAL;

 

SELECT TRIM(BOTH 'a' FROM 'abcba') FROM DUAL;  

    - REPLACE

SELECT REPLACE('JACK and JUE', 'J', 'BL') FROM DUAL; 

 

SELECT REPLACE('JACK and JUE', 'J') FROM DUAL; 

 

SELECT REPLACE(last_name, 'a', '*') FROM employees; 

Input Manual :

SELECT first_name, last_name, salary, department_id FROM employees WHERE department_id=:enter_dept_id; 

4.1.3 DP 4-2: Number Functions

ROUND(column|expression, decimal places)

 

TRUNC(column|expression, decimal places) 

 

MOD(column|expression, 2)

4.1.4 DP 4-3: Date Functions

SELECT SYSDATE FROM DUAL;

    Beberapa Fungsi Terkait Date

  • MONTHS_BETWEEN
  • ADD_MONTHS
  • NEXT_DAY
  • LAST_DAY
  • ROUND(tanggal, 'Month/Year')
  • TRUNC(tanggal, 'Month/Year);

4.1.5 DP 5-1: Conversion Functions

  • TO_NUMBER(character string, 'format model') 
    SELECT TO_NUMBER('5,320', '9,999') AS "Number" FROM dual;
  • TO_DATE('November 3, 2001', 'Month dd, yyyy')
    SELECT TO_DATE('May10,1989', 'fxMonDD,YYYY') AS "Convert" FROM DUAL; 
    SELECT TO_DATE('Sep 07, 1965', 'fxMon dd, YYYY') AS "Date" FROM dual;
    07-Sep-1965
    SELECT TO_DATE('July312004', 'fxMonthDDYYYY') AS "Date" FROM DUAL;
    31-Jul-2004
    SELECT TO_DATE('June 19, 1990','fxMonth dd, YYYY') AS "Date" FROM DUAL;
    19-Jun-1990
    SELECT TO_DATE('27-Oct-95','DD-Mon-YY') AS "Date" FROM dual;
  • TO_CHAR (date column name, 'format model you specify') 
    SELECT TO_CHAR(hire_date, 'Month dd, YYYY') FROM employees;
    June 07, 1994
    SELECT TO_CHAR(hire_date, 'fmMonth dd, YYYY') FROM employees; 
    June 7, 1994
    SELECT TO_CHAR(hire_date, 'fmMonth ddth, YYYY') FROM employees;
    June 7th, 1994
    January 3rd, 1990
    SELECT TO_CHAR(hire_date, 'fmDay ddth Mon, YYYY') FROM employees;
    Tuesday 7th Jun, 1994
    SELECT TO_CHAR(hire_date, 'fmDay ddthsp Mon, YYYY') FROM employees;
    Tuesday, seventh Jun, 1994
    SELECT TO_CHAR(hire_date, 'fmDay, ddthsp "of" Month, Year') FROM employees;
    Tuesday, seventh of June, Nineteen Ninety-Four
    SELECT TO_CHAR(SYSDATE, 'hh:mm') FROM dual; 02:07
    SELECT TO_CHAR(SYSDATE, 'hh:mm pm') FROM dual; 02:07 am SELECT TO_CHAR(SYSDATE, 'hh:mm:ss pm') FROM dual; 02:07:23 am

4.1.6 DP 5-2: NULL Functions

    Misalkan terdapat data null dan data null tersebut harus berisi value maka bisa menggunakan :

SELECT country_name, NVL(internet_extension, 'None') AS "Internet extn" FROM wf_countries WHERE location = 'Southern Africa' ORDER BY internet_extension DESC;


SELECT last_name, salary, NVL2(commission_pct, salary + (salary * commission_pct), salary) AS income FROM employees WHERE department_id IN(80,90); 


SELECT first_name, LENGTH(first_name) AS "Length FN", last_name, LENGTH(last_name) AS "Length LN", NULLIF(LENGTH(first_name), LENGTH(last_name)) AS "Compare Them" FROM employees; 


SELECT last_name, COALESCE(commission_pct, salary, 10) AS "Comm" FROM employees ORDER BY commission_pct; 

 

4.1.7 DP 5-3: Conditional Expressions

SELECT last_name, CASE department_id WHEN 90 THEN 'Management' WHEN 80 THEN 'Sales' WHEN 60 THEN 'It' ELSE 'Other dept.' END AS "Department" FROM employees;


SELECT last_name, DECODE(department_id, 90, 'Management', 80, 'Sales', 60, 'It', 'Other dept.') AS "Department" FROM employees;

 

 

5 Pertemuan 5 : Multiple Row Functions (Group Functions)

5.1 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

5.1.1 DP 8-1: Group Functions

Daftar Group Yang Fungsi

  •   AVG
  • COUNT
  • MIN
  • MAX
  • SUM
  • VARIANCE
  • STDDEV

5.1.2 DP 8-2: COUNT, DISTINCT, NVL

SELECT COUNT(job_id) FROM employees; 

SELECT COUNT(*) FROM employees WHERE hire_date < '01-Jan-1996';

SELECT SUM(DISTINCT salary) FROM employees WHERE department_id = 90; 

5.1.3 DP 9-1: Using Group By and Having Clauses

SELECT COUNT(country_name), region_id FROM wf_countries GROUP BY region_id ORDER BY region_id;


SELECT department_id, job_id, count(*) FROM employees WHERE department_id > 40 GROUP BY department_id, job_id; 


SELECT department_id,MAX(salary) FROM employees GROUP BY department_id HAVING COUNT(*)>1 ORDER BY department_id; 


SELECT region_id, ROUND(AVG(population)) FROM wf_countries GROUP BY region_id HAVING MIN(population)>300000 ORDER BY region_id;  

 

5.1.4 DP 9-2: Using Rollup and Cube Operations and Grouping Sets

Gk tau blm dicoba

6 Pertemuan 6 : Join

6.1 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

6.1.1 DP 6-1: Cross Joins and Natural Joins

SELECT first_name, last_name, job_id, job_title FROM employees NATURAL JOIN jobs WHERE department_id > 80;

SELECT last_name, department_name FROM employees CROSS JOIN departments; 

6.1.2 DP 6-2: Join Clauses

SELECT first_name, last_name, department_id, department_name FROM employees JOIN departments USING (department_id); 

SELECT first_name, last_name, department_id, department_name FROM employees JOIN departments USING (department_id) WHERE last_name = 'Higgins';  

SELECT last_name, job_title FROM employees e JOIN jobs j ON (e.job_id = j.job_id); 

SELECT last_name, salary, grade_level, lowest_sal, highest_sal FROM employees JOIN job_grades ON(salary BETWEEN lowest_sal AND highest_sal);

SELECT last_name, department_name AS "Department", city FROM employees JOIN departments USING (department_id) JOIN locations USING (location_id);  

 

6.1.3 DP 6-3: Inner versus Outer Joins

SELECT e.last_name, d.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id);


SELECT e.last_name, d.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id); 


SELECT e.last_name, d.department_id, d.department_name FROM employees e FULL OUTER JOIN departments d ON (e.department_id = d.department_id); 


SELECT last_name, e.job_id AS "Job", jh.job_id AS "Old job", end_date FROM employees e LEFT OUTER JOIN job_history jh ON(e.employee_id = jh.employee_id);  

 

6.1.4 DP 6-4: Self-Joins and HIerarchical Queries

SELECT worker.last_name, worker.manager_id, manager.last_name AS "Manager name" FROM employees worker JOIN employees manager ON (worker.manager_id = manager.employee_id); 


SELECT employee_id, last_name, job_id, manager_id FROM employees START WITH employee_id = 100 CONNECT BY PRIOR employee_id = manager_id 


SELECT LEVEL, last_name || ' reports to ' || PRIOR last_name AS "Walk Top Down" FROM employees START WITH last_name = 'King' CONNECT BY PRIOR employee_id = manager_id; 


SELECT LPAD(last_name, LENGTH(last_name)+ (LEVEL*2)-2,'_') AS "Org_Chart" FROM employees START WITH last_name = 'King' CONNECT BY PRIOR employee_id = manager_id; 


SELECT LPAD(last_name, LENGTH(last_name) + (LEVEL*2)-2, '_') AS ORG_CHART FROM employees START WITH last_name = 'Grant' CONNECT BY employee_id = PRIOR manager_id 

6.1.5 DP 7-1: Oracle Equijoin and Cartesian Products



SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1 = table2.column2;

SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1 = table2.column2; 

SELECT employees.last_name, departments.department_name FROM employees, departments WHERE employees.department_id = departments.department_id; 

SELECT last_name, e.job_id, job_title FROM employees e, jobs j WHERE e.job_id = j.job_id AND department_id = 80; 

SELECT employees.last_name, departments.department_name FROM employees, departments; 

SELECT employees.last_name, employees.job_id, jobs.job_title FROM employees, jobs WHERE employees.job_id = jobs.job_id AND employees.department_id = 80; 

SELECT last_name, city FROM employees e, departments d, locations l WHERE e.department_id = d.department_id AND d.location_id = l.location_id; 

6.1.6 DP 7-2: Oracle Nonequijoins and Outer Joins

SELECT last_name, salary, grade_level, lowest_sal, highest_sal FROM employees, job_grades WHERE (salary BETWEEN lowest_sal AND highest_sal); 

SELECT e.last_name, d.department_id, d.department_name FROM employees e, departments d WHERE e.department_id = d.department_id(+); 

SELECT e.last_name, d.department_id, d.department_name FROM employees e, departments d WHERE e.department_id(+) = d.department_id; 

7 Pertemuan 7 : Subquery & Set Operators

7.1 DP Database Programming with SQL Learner - Indonesian (Oracle Academy)

7.1.1 DP 10-1: Fundamentals of Subqueries

7.1.2 DP 10-2: Single-Row Subqueries

7.1.3 DP 10-3: Multiple-Row Subqueries

7.1.4 DP 10-4: Correlated Subqueries

7.1.5 DP 9-3: Using Set Operators



--SElECT * FROM countries;

--SELECT country_name FROM countries;

--SELECT employee_id FROM employees where last_name LIKE '%a%';

--select last_name, salary, 12*salary+10 from employees;

--select last_name, job_id, salary, commission_pct, salary*commission_pct as "Mantep" from employees;

--DESC departments;

--Select department_id ||' '|| department_name from departments;

--SELECT last_name || ' has a monthly salary of ' || salary || ' dollars.' AS "as" from employees;

-- Select last_name || ' Hallo '|| salary from employees;

--Select DISTINCT department_id from departments;

--select * from employees where employee_id = 101;

--select * from employees where last_name = 'Taylor';

--select last_name, salary from employees where salary BETWEEN 1000 AND 1000000;

--select city, state_province, country_id from locations where country_id IN('UK', 'CA');

--select last_name from employees where last_name  LIKE '__o%';

--select last_name, job_id from employees where job_id like '%\_R%' ESCAPE '\';

--select last_name, job_id from employees where job_id like '_R%';

--Select last_name,salary from employees where salary is not null;

--select last_name,salary,commission_pct from employees where commission_pct is null;

--select last_name,department_id from employees where department_id > 50 AND salary < 12000;

--select last_name, TO_CHAR(hire_date, 'dd-mm-YYYY'), job_id from employees where hire_date > '01-Jan-1998' AND job_id LIKE 'SA%';

--select * from departments where location_id = 2500 OR manager_id =124;

--select * from departments where location_id NOT IN(1700,1800);

--select last_name||' '||salary*1.06 AS "Pegawai dan gaji", department_id, first_name

--from employees where department_id IN(50,80) AND first_name like 'C%' OR last_name like '%s';

--select employee_id, last_name as "test" from employees order by employee_id desc, "test" asc;

--Select (319/29) + 12 from dual;

--select UPPER(last_name), INITCAP(first_name) ||' '|| INITCAP(last_name) as "nama_lengkap" from employees where LOWER(last_name) = 'abel';

--select concat('Hello', 'World') from dual;

--select substr('Aingmaung', 1,5) from dual;

--select substr('Aingmaung', 5) from dual;

--select substr(last_name,1,4) from employees;

--select length(last_name) from employees;

-- instr untuk mencari huruf w 

--select instr('HelloWord', 'W') from dual; 

--select lpad('HellowWorld',100,'*') from dual;

--trim untuk menghapus

-- LEADING DIDEPAn

-- TRAILING DIBELAKANG

-- BOTH SEMUA

--select trim(BOTH 'L' from UPPER(last_name)) from employees;

-- replace untuk mengganti

--select replace(UPPER(last_name), 'AB', 'JULIANTO') from employees;

--select lower(last_name) || lower(substr(first_name,1,1)) as "User Name" from employees;

--select lower(last_name) || lower(substr(first_name,1,1)) as "User Name" from employees where department_id = 10;

--select lower(last_name) || lower(substr(first_name,1,1)) as "User Name" from employees where department_id =:enter_dept_id

--Select round(45.925,2) from dual; //45.93

--select round(45.925,-1) from dual; //50

-- Turun

--select trunc(45.925,2) from dual; //45.92

--select trunc(45.925,-1) from dual; //40

--select MOD(10,2) from dual;

--select sysdate from dual;

--select sysdate+10 from dual;

--select last_name, (sysdate-hire_date)/7 from employees;

--select employee_id, (end_date-start_date)/365 as "Tenure in last" from job_history;

--cari orang yang telah bekerja lebih dari 240 bulan

--select last_name, hire_date from employees where MONTHS_BETWEEN(SYSDATE,hire_date) > 240;

--select ADD_MONTHs(SYSDATE, 12) from dual

--select NEXT_DAY(SYSDATE,'SATURDAY') As "next Sabtu" from dual;

--select last_day(sysdate) from dual;

--

--select hire_date, round(hire_date,'Month'), trunc(hire_date, 'Month') from employees;

--select employee_id, hire_date,

--    ROUND(MONTHS_BETWEEN(SYSDATE,hire_date)) as "TENURE",

--    ADD_MONTHS(hire_date,6) as REVIEW,

--    NEXT_DAY(hire_date,'FRIDAY'), 

--    LAST_DAY(hire_date)

--from employees where months_between(SYSDATE, hire_date) > 36;

--select to_char(hire_date, 'Month dd, YYYY') from employees; //June 07, 1994 

--select to_char(hire_date,'fmMonth dd, YYYY') from employees; // June 7, 1994 

--select to_char(hire_date, 'fmMonth ddth, YYYY') from employees; // June 7th, 1993 

--select to_char(hire_date,'fmDay ddth Mon, YYYY') from employees; // Monday 17th Jun, 2023 

--select to_char(hire_date, 'fmDay ddthsp Mon, YYYY') from employees; // Monday seventeenth Jun, 2023 

--select to_char(hire_date, 'fmDay, ddthsp "of" Month, Year') from employees; // Monday, seventeen of june, Twenty Thirteen

--select to_char(SYSDATE,'hh:mm'),to_char(SYSDATE,'hh:mm pm'),to_char(SYSDATE,'hh:mm:ss pm') from dual;

--select to_char(salary, '$99,999') as "Gaji",  to_char(salary, '99999.99') as "gajubulat" from employees; // $24.000

--select to_number('5,424', '9,999') as "Number" from dual;

--select last_name, to_char(salary,'999,9') from employees where department_id = 80;

--select to_date('November 3, 2001', 'Month dd, yyyy') from dual;

--select to_date('May10, 1989', 'fxMonDD, YYYY') as "Convert" from dual;

--select to_date('Sep 07, 1965', 'fxMon dd, YYYY') as "Date",  to_date('July312004', 'fxMonthDDYYYY'),  to_date('June 19, 1998', 'fxMonth dd, YYYY') from dual;

--select to_date('27-Oct-95', 'DD-Mon-YYYY') ,to_date('27-Oct-95', 'DD-Mon-RR')from dual;

--select last_name, to_char(hire_date, 'DD-Mon-YY') from employees where hire_date < to_date('01-Jan-90', 'DD-Mon-YY');

--select last_name, nvl(commission_pct,0) from employees;

--select last_name, salary, nvl2(commission_pct, salary +(salary*commission_pct),  salary) as "income" from employees;

--select first_name, 

--    length(first_name) as "Panajng FN",

--    last_name,

--    nullif(length(first_name),length(last_name)) as"compere"

--from employees;

--select last_name,   

--    COALESCE(commission_pct,salary,10)

--    as "Com"

--from employees

--ORDER BY commission_pct;

--select last_name,

--    case department_id

--        when 90 THEN 'Management'

--        when 80 THEN 'Sales'

--        else 'Other'

--    end as "department"

--from employees;

--select last_name,

--    DECODE(department_idselect last_name,

--    case department_id

--        when 90 THEN 'Management'

--        when 80 THEN 'Sales'

--        else 'Other'

--    end as "department"

--from employees;select last_name,

--    case department_id

--        when 90 THEN 'Management'

--        when 80 THEN 'Sales'

--        else 'Other'

--    end as "department"

--from employees;select last_name,

--    case department_id

--        when 90 THEN 'Management'

--        when 80 THEN 'Sales'

--        else 'Other'

--    end as "department"

--from employees;,

--    90, 'Management',

--    80, 'Sales',

--    'Other')

--from employees;


--select department_id, avg(salary) from employees group by department_id order by department_id;employees

--employees

Supply Chain Management atau Manajemen Rantai Pasok

Supply Chain Management atau Manajemen Rantai Pasok





Konsep Rantai Pasok :

Kenapa Alasan Munculnya Supply Chain  ? 
Karena kesadaran pelaku untuk memenuhi kebutuhan pelanggan dengan produk yang murah dan berkualitas dan perbaikan tidak cukup hanya pada internal perusahaan tetapi juga faktor eksternal perusahaan.

Supply Chain - Rantai Pasok :
  • Jaringan Fisik Perusahaan yang terlibat dalam kegiatan manufaktur perusahaan mulai dari pengadaan bahan baku dari supplier hingga pengiriman ke pelanggan.
  • Perusahaan yang terlibat biasany :
    • Supplier
    • Pabrik / Perusahaan
    • Distributor
    • Toko / Ritel/ Perseorangan
    • Jasa Logistik -> perusahaan pendukung
Hal yang dikelola di Supply Chain - Rantai Pasok :
  1. Aliran barang dari hulu kehilir contohnya bahan baku yang dikirim dari supplier ke pabrik, setelah diproduksi selesai dikirim ke distributor, pengecer dan kemudian ke pemakai akhir
  2. Aliran uang dan sejenisnya yang mengalir dari hilir ke hulu
  3. Aliran informasi yang bisa terjadi hulu kehilir atau sebaliknya

Supply Chain Management 
Merupakan suatu Konsep pengelolaan produk melalui integrasi yang terbentuk diantara pemasok (Supplier), pembuat (Produsen), Penyalur (Distributor), gudang (Warehouse) dan penjual (Retail) serta konsumen sehingga diperoleh pola distribusi produk dengan jumlah, lokasi dan waktu yang tepat
  • Metode / Alat untuk pengelolaan Rantai Pasok Siklus yang lengkap, Mulai dari bahan mentah (Supplier), Kegiatan Operasional Perusahaan Hingga Kedistribusi ke Pelanggan.
  • Serangkaian kegiatan yang meluputi koordinasi, penjadwalan, dan pengendalian terhadap pengadaan, produksi, persediaan dan pengiriman produk.
  • Orientasinya bukan hanya terhadap pengelolaan internal tetapi external juga.
Goal Dari SCM :
SCM fokus pada efisiensi integrasi dari supplier, perusahaan, gudang dan pasar yang menjual dan mendiststribukan barang dengan :
  1. Lokasi yang tepat
  2. Jumlah yang tepat
  3. Waktu yang tepat
Untuk meminimalkan total biaya dan juga memenuhi kebutuhan pelanggan.

Memuaskan konsumen dengan bekerja sama untuk menghasilkan produk yang murah, dikirimkan tepat waktu dan berkualitas bagus
Tujuan :
  1. Mengoptimalkan Pengiriman
  2. Meminimalkan Ongkos
  3. Meningkatkan Pelayanan
Elemen SCM
  1. Produksi
  2. Inventory
  3. Lokasi
  4. Transportasi
  5. Informasi'
Jenis Persediaan

  1. Raw Material (Bahan Baku):
    Deskripsi: Bahan baku merupakan komponen dasar yang digunakan dalam proses produksi. Bahan ini belum mengalami proses pengolahan dan biasanya diperoleh dari pemasok eksternal. Contoh bahan baku termasuk logam, kertas, plastik, dan bahan kimia.
    Peran: Bahan baku menjadi bahan dasar untuk produk akhir dan memainkan peran penting dalam menentukan kualitas dan karakteristik produk.
  2. Barang Komoditi:
    Deskripsi: Barang komoditi adalah barang yang tidak mengalami banyak perubahan selama proses produksi. Mereka cenderung memiliki nilai standar dan diperdagangkan di pasar komoditas. Contoh barang komoditi meliputi logam dasar, energi, dan pertanian.
    Peran: Barang komoditi umumnya diperdagangkan dan dapat menjadi bagian integral dari berbagai jenis industri.
  3. Barang Setengah Jadi:
    Deskripsi: Barang setengah jadi adalah produk yang telah melalui sebagian proses produksi tetapi belum sepenuhnya menjadi produk jadi. Ini merupakan tahap antara bahan baku dan produk jadi. Contoh barang setengah jadi termasuk suku cadang dalam proses manufaktur.
    Peran: Barang setengah jadi merupakan bagian dari rantai produksi dan menjadi dasar untuk pembuatan produk jadi.
  4. Barang Produk (Produk Jadi):
    Deskripsi: Barang produk adalah produk yang sudah melalui semua tahap produksi dan siap untuk dijual kepada pelanggan akhir. Ini adalah produk yang dapat digunakan atau dikonsumsi langsung oleh konsumen. Contoh barang produk termasuk mobil, pakaian jadi, dan perangkat elektronik.
    Peran: Barang produk adalah hasil akhir dari seluruh proses produksi dan merupakan fokus utama dalam penawaran kepada pelanggan.
Area Cakupan Supply Chain Management :
  1. Pengembangan Produk
    Melakukan riset pasar, merancang produk baru, melibatkan supplier dalam perancangan produk baru.
  2. Pengadaan
    Memilih supplier, mengevaluasi kinerja supplier, melakukan pembelian bahan baku dan komponen, memonitoring supply risk, membina dan memelihara hubungan dengan supplier.
  3. Perencanaan & Pengendalian
    Demand planning, peramalan permintaan, perencanaan kapasitas, perancanaan produksi dan persediaan.
  4. Operasi / Produksi
    Eksekusi produksi, pengedalian kualitas.
  5. Pengiriman / Distribusi
    Perencanaan jaringan distribusi, penjadwalan pengiriman, mencari dan memelihara hubungan dengan jasa pengiriman, memonitoring service level di tiap pusat distribusi.
Komponen SCM (Menurut Turban, 2004).

  • Upsteam Supply Chain (Hulu)
    • Hubungan antara perusahaan dengan penyalurnya (Supplier)
    • Aktivitas Utama : Pengadan / Pengelolaan Bahan Baku
  • Internal Supply Chain
    • Kegiatan inhouse didalam perusahaan
    • Akivitas Utama : pengendalian persediaan, managemen produksi
  • Downstream Supply Chain(Hilir)
    • Hubungan antara perusahan dengan pengguna akhir (Konsumen)
    • Akivitas Utama : Distribusi
Pendekan Dalam SCM

  1. In Push System (MTS)
    Tujuan umum: Mengoptimalkan proses produksi untuk biaya dan efisiensi
    Karakteristik umum: Pengembangan produk baru yang dipimpin oleh manufaktur Integrasi data yang buruk melalui penggunaan teknologi yang terbatas, siklus logn dan waktu respons, dan tingkat inventaris yang tinggi.
    Penggunaan adalah : Manajemen data independen oleh anggota rantai pasokan. penggunaan edi yang terbatas
  2. In Pull System (MTO)
    Tujuan umum: Meningkatkan kualitas produk dan layanan
    Karakteristik umum : Didorong oleh penelitian pasar, teknologi yang digunakan untuk mencapai penelitian dan integrasi data, siklus dan waktu respons yang singkat, tingkat inventaris yang rendah
    Penggunaan adalah : Sistem internal yang terintegrasi, berbagi informasi di antara anggota rantai pasokan. Penggunaan EDI dan e-commerce secara ekstensif, sering kali melalui pertukaran B2B dan perantara

Langkah Pembuatan Model Rantai Pasok
  1. Siapkan Proses Bisnis dan data yang berkaitan dengan seluruh kegiatan rantai pasok perusahaan
  2. Tentukan pendekatan rantai pasok yang ada (Push/Pull, MTO/MTS)
  3. Tentukan 3 aliran yang ada di rantai pasok (Barang, Informasi, Keuangan – Optional)
  4. Gambarkan menggunakan alat bantu pemodelan


PENGELOLAAN PENGADAAN & PERSEDIAAN :

Tugas Pengadaan : 
  1. Merencang Hubungan yang tepat dengan supplier
  2. Memilih Supplier
  3. Memilih dan menentukan teknologi yang cocok
  4. Memelihara data item yang dibutuhkan dan data supplier
  5. Menentukan jumlah pengadaan dan melakukan pembelian
  6. Mengevaluasi Kinerja Supplier
Jenis Pembelian : 
  1. Pembelian Rutin
  2. Pembelian dengan tender/ lelang
Masalah Pengadaan : 
  1. Ketidakpastian Jumlah Pengadaan Bahan Baku
  2. Kekurangan & Kelebihan Jumlah Bahan Baku
Solusi yang ditawarkan - Metode : 
  1. Metode deret waktu ( Time Series)
    1. Metode Averaging : Simple Average, Single Moving Average.
  2. Metode Pemulusan (Smoothing)
    1. Single Exponential Smoothing
    2. Double Exponential Smooting
  3. Trend Linear
Persediaan : 
  1. Direncanakan
    Sengaja Membuat Lebih Banyak
  2. Ketidaktahuan
    1. Akibat permintan yang terlalu sedikit disbanding perkiraan
    2. Biasanya untuk perusahaan -> make to stock
    3. Ketidakpastian Permintaan
Fungsi Persediaan : 
  1. Menghindari keterlambatan pengiriman
  2. Mengindari part / bagian yang rusak
  3. Menghindari kenaikan harga
  4. Menghindari tidak ada barang  (Langka)
  5. Menjamin Kelangsungan Produksi
Alat Ukur Persediaan (Monitoring) : 
  1. Tingkat Perputaran Persediaan (Inventory Turnover Rate) : Melihat seberapa cepat produk atau barang mengalir terhadap rata-rata jumlah persediaan
  2. Inventory Days Of Supply : Rata rata jumlah hari suatu perusahaan biasa beroperasi dengan jumlah persediaan yang dimiliki
  3. Fill Rate : Persentase jumlah item yang tersedia ketika diminta oleh pelanggan
Klasifikasi Persediaan: 

1. Berdasarkan Bentuknya:
    Bahan Baku (Raw Material):
    Deskripsi: Bahan baku adalah barang mentah yang digunakan sebagai input awal dalam proses         produksi. Ini adalah komponen dasar yang diubah menjadi produk jadi.
    Contoh: Logam, kertas, bahan kimia.
b. Barang Setengah Jadi:
Deskripsi: Barang setengah jadi adalah produk yang telah melalui sebagian proses produksi tetapi belum sepenuhnya menjadi produk jadi.
Contoh: Suku cadang dalam proses manufaktur.
c. Produk Jadi (Finished Product):
Deskripsi: Produk jadi adalah hasil akhir dari seluruh proses produksi dan siap untuk dijual kepada pelanggan.
Contoh: Mobil, pakaian jadi, perangkat elektronik.
2. Berdasarkan Fungsinya:
a. Pipeline/Transit Inventory:
Deskripsi: Persediaan yang sedang dalam perjalanan dari pemasok atau produsen ke gudang atau pelanggan.
Contoh: Barang yang sedang dalam pengiriman.
b. Cycle Stock:
Deskripsi: Persediaan yang digunakan secara rutin dalam siklus normal produksi dan penjualan.
Contoh: Persediaan yang ada di gudang untuk memenuhi permintaan rutin.
c. Safety Stock:
Deskripsi: Persediaan tambahan yang diadakan untuk melindungi terhadap fluktuasi tak terduga dalam permintaan atau keterlambatan pasokan.
Contoh: Persediaan cadangan untuk mengatasi ketidakpastian.
d. Anticipation Stock:
Deskripsi: Persediaan yang dibuat berdasarkan antisipasi terhadap perubahan musiman atau perubahan dalam permintaan pasar.
Contoh: Persediaan tambahan untuk menghadapi peningkatan permintaan selama musim liburan.
3. Berdasarkan Sifat Ketergantungan:
a. Dependent Demand Item:
Deskripsi: Barang atau bahan yang permintaannya tergantung pada permintaan untuk produk lain.
Contoh: Suku cadang untuk produk tertentu.
b. Independent Demand Item:
Deskripsi: Barang atau bahan yang permintaannya tidak tergantung pada permintaan untuk produk lain.
Contoh: Produk jadi yang dijual langsung kepada pelanggan.
Klasifikasi ini membantu perusahaan dalam mengelola persediaan mereka dengan lebih efektif, memahami kebutuhan, dan mengoptimalkan proses produksi serta distribusi.

Asumsi Solusi : 
Tahapan yang dilakukan 
  1. Tahapan Peramalan Kebutuhan Produk
  2. Tahapan Monitoring Persediaan Bahan Baku
  3. Tahapan Pengadaan Bahan Baku
Pengelola Produksi Dan Distribusi 
Penjadwalan Produksi :
  • Mengalokasikan sumber daya produksi (Material, Mesin, Operator) yang tersedia untuk menentukan waktu dimulainya operasi dan kapan operasi tersebut harus selesai dalam sejumlah pekerjaan.
  • Keputusan yang dibuat dalam Penjadwalan, Yaitu :
    • Pengurutan Pekerjaan (Sequencing)
    • Waktu Mulai Dan Selesai (Timing)
    • Urutan Proses Suatu Pekerjaan (Routing)
  • Tujuan Penjadwalan Produksi
    • Menyelesaikan produksi tepat waktu
    • Meminimalisasi keterlambatan
    • Memenuhi spesifikasi yang ditetapkan diawal
    • Memaksimalkan output
    • Minimasi Biaya Produksi
    • Mengurangi Makespan (Total Waktu Proses Yaitu Dibutuhkann
Waktu Produksi Dipengaruhi  :
  1.    MTO
    1. Jumlah pemesanan Konsumen
    2. Penentuan Waktu Selesai pemesanan
  2. MTS
    1. Rencana Jumlah Produksi
    2. Persediaan Bahan Baku
Kapasitas Produksi
Tahapan Produksi
Jumlah Mesin
Jumlah SDM

Jenis Penjadwalan Produksi
  1. Job Shop
    1. setiap pekerjaan memiliki urutan operasi unik
    2. Pola berbeda untuk tiap pekerjaan
  2. Flow shop
    1. Semua tugas akan mengalir dengan urutan yang sama
  3. Mixed Flow Shop
    1. Tahapan produksi dengan aliran campuran
    2. Aliran Searah tetapi pola yang berbeda

Metode Penjadwalan
  1. FCFS (First Come First Served) 
    Memprioritaskan Job yang datang lebih awal untuk dikerjakan terlebih dahulu
  2. EDD(Early Due Date)
    Memprioritaskan job yang mempunyai tanggal  batas waktu penyerahan due
  3. STP (Short Processing Time)
    Job dengan waktu terpendek akan dikerjakan terlebih dahulu. Tidak peduli dengan Due date atau order baru
  4. LPT (Longest Processing) 
    Job dengan proces terbesar akan dikerjakan terlebih dahulu. Tidak peduli dengan due date atau order baru.

Pengelola Distribusi 
  • Fungsi Dasar Manajemen Distribusi & Transportasi
    • Menentukan metode transportasi yang akan digunakan
    • Melakukan penjadwalan dan menentukan rute pengiriman
    • Melakukan konsolidasi informasi dan pengiriman
    • Menangani Pengembalian return
Strategi Distribusi
  • Pengiriman Langsung (Direct Shipment)
  • Pengiriman Melalui Warehouse
  • Cross Docking
Model Distribusi
  • Intensive Distribution
  • Selectivve Distribution
  • Exclusive Distribution
Penentuan Rute Dan Jadwal Pengiriman
  • Tujuan Penjadwalan
    • Minimumkan Biaya Pengiriman
    • Minimumkan Waktu
    • Meminimumkan Jarak Tempuh
Model Distribusi
  • DRP (Distribution Resource Planning)
    • Algoritma Simulated Annealing
    • Saving Matrix
    • Clarke And Wright Saving Algorithm
  • Alokasi kapasitas Kendaraan
  • Minimasi total biaya distribusi
  • penentuan Rute Terpendek

Perencanaan Proyek Part - 2

Perencanaan Proyek Part - 2





Work Breakdown Structure (WBS)

Teknik untuk :
  • Membagi keseluruhan proyek ke dalam komponen-komponen
  • Memecah komponen ke level-level berikutnya sampai dengan tugas
  • Sampai dengan setiap tugas merupakan unit yang dapat dikelola (misalnya oleh manajer teknik) 
    Direncanakan
    Dianggarkan
    Dijadwalkan
    Dikendalikan
  • Menampilkan gambar/grafik tentang hirarki proyek
Tujuan :
  • Melengkapi komunikasi antar personel proyek
  • Menjaga konsistensi dalam pengendalian dan pelaporan
  • Cara efektif untuk melengkapi tugas manajemen
Manfaat : 
  • Mengurangi kompleksitas
  • Fasilitas penjadwalan dan pengendalian
Pendekatan untuk mengembangkan WBS
  1. Menggunakan pedoman
  2. Pendekatan analogi
  3. Pendekatan dari atas ke bawah
  4. Pendekatan dari bawah ke atas
  5. Pendekatan pemetaan pikiran
Langkah membuat WBS
  • Pecah setiap fungsi ke dalam tiga sub fungsi :
    1. Menerima masukan & memasukkannya ke bentuk yang berkaitan (kegiatan memiliki input)
    2. Menstransformasikan masukan ke dalam keluaran yang dibutuhkan (kegiatan merupakan proses)
    3. Menyiapkan keluaran kedalam bentuk akhir yang diminta (kegiatan memiliki output)
  • Lakukan dekomposisi secara iteratif
  • Tidak seluruh cabang mempunyai level yang sama
  • Jika WBS sangat kompleks untuk ditampilkan dalam satu peta, maka pecahkan setiap level subfungsi dalam peta yang terpisah
  • Kaji & perbaiki WBS oleh semua kelompok yang berkaitan
Tips Membuat WBS
  • Buatlah WBS bersama tim proyek
  • WBS minimal memiliki 3 level
  • Bedakan antara perkerjaan dan proses mengerjakan
  • WBS item merupakan kata kerja transitif
  • Setiap pekerjaan / item WBS di sub level harus meunjukan bagian pekerjaan dari level atasnya
  • WBS mungkin terdapat perubahan selama proyek akan berlangsung
WBS (Bentuk Hirarki)



WBS (Bentuk Struktur)




Perencanaan Proyek

Perencanaan Proyek




Perencanaan Proyek

  • Merupakan dokumen resmi proyek yang diacu dalam pelaksanaan,
    pengawasan, dan penutupan proyek, yang menjamin proyek mencapai
    sasarannya bila diikuti dengan baik.
  • Disetujui oleh pemberi kerja.
  • Diberikan kepada pihak-pihak yang dicantumkan dalam rencana manajemen komunikasi.
  • Dilengkapi dengan rincian pendukungnya.


Tujuan Perencanaan Proyek

  • Sebagai pedoman pelaksanaan, pengawasan dan penutupan proyek
  • Mendokumentasi asumsi-asumsi yang dijadikan dasar dalam perencanaan
  • Mendokumentasi keputusan penting dan pertimbangannya
  • Memfasilitasi komunikasi diantara stakeholder
  • Mendefinisikan pemeriksaan (review) manajemen dalam hal: isi,cakupan, waktu
  • Sebagai dasar (baseline) untuk menilai kinerja dalam kegiatan pengawasan proyek

Elemen Rencana Proyek

  • Lingkup Proyek, alternatif & feasibility
  • Membagi proyek dalam rincian kegiatan
  • Jadwal kegiatan
  • Rencana komunikasi
  • Menentukan standar & prosedur proyek
  • Identifikasi & perkiraan resiko
  • Membuat budget
  • Rencana Proyek Dasa

Langkah Perencanaan Proyek

  1. Menentukan sasaran & lingkup proyek
  2. Menentukan lifecycle
  3. Membuat struktur organisasi/tim proyek
  4. Memilih tim proyek
  5. Menentukan resiko-resiko
  6. Membuat Work Breakdown Structure (WBS)
  7. Identifikasi tugas/aktivitas dan ketergantungannya
  8. Estimasi
  9. Menentukan sumber-sumber daya
  10. Membuat jadwal kegiatan






Memahami Fungsi Model Kompilator untuk Meningkatkan Kinerja

Memahami Fungsi Model Kompilator untuk Meningkatkan Kinerja


Model kompilator 

Model kompilator adalah sebuah program yang berfungsi untuk menerjemahkan kode sumber dari bahasa pemrograman ke dalam bentuk instruksi mesin yang dapat dipahami oleh komputer. Kompilator terdiri dari beberapa bagian yang saling berhubungan dan saling melengkapi dalam melakukan proses kompilasi. Berikut adalah fungsi umum bagian-bagian kompilator:


Program Sumber

Program sumber adalah kode yang ditulis oleh programmer dalam bahasa pemrograman tertentu seperti C++, Java, Python, dan lain-lain. Kode sumber ini akan menjadi input bagi kompilator untuk diproses menjadi program executable.


Lexical Analyzer / Scanner

Lexical analyzer atau scanner berfungsi untuk menganalisis dan memproses program sumber menjadi serangkaian token. Token adalah satuan terkecil dalam sebuah bahasa pemrograman yang memiliki arti atau makna tertentu. Scanner akan membaca program sumber dan mengidentifikasi setiap token yang ada, seperti nama variabel, tipe data, operator, dan lain-lain.


Syntax Analyzer / Parser

Setelah program sumber diproses oleh scanner, selanjutnya syntax analyzer atau parser akan memeriksa apakah struktur kode sumber telah mematuhi aturan bahasa pemrograman yang digunakan. Parser akan memeriksa sintaksis kode sumber dan menghasilkan tree struktur dari program sumber yang memperlihatkan hubungan antara komponen-komponen dalam kode sumber.


Semantic Analyzer

Setelah program sumber diproses oleh parser, selanjutnya semantic analyzer akan memeriksa apakah program sumber telah memenuhi aturan semantik dari bahasa pemrograman yang digunakan. Semantic analyzer akan memeriksa makna dari kode sumber, seperti tipe data yang digunakan, pemanggilan fungsi, dan lain-lain.


Intermediate Form

Intermediate form adalah bentuk perantara dari program sumber yang telah melalui proses scanning, parsing, dan semantic analysis. Intermediate form dapat berupa kode assembler, bytecode, atau bahasa antara lain. Intermediate form ini digunakan sebagai dasar untuk pembuatan kode objek.


Code generator

Code generator berfungsi untuk menghasilkan kode objek dari intermediate form yang telah dihasilkan sebelumnya. Code generator akan memproses intermediate form dan menghasilkan kode objek yang siap dieksekusi oleh komputer.


Code Optimizer

Code optimizer adalah bagian kompilator yang berfungsi untuk memperbaiki dan mengoptimalkan kode objek. Code optimizer akan melakukan pengoptimalan terhadap kode objek sehingga dapat berjalan lebih cepat atau menggunakan lebih sedikit memori.


Dalam keseluruhan, setiap bagian dalam model kompilator memiliki peran penting dalam melakukan proses kompilasi program sumber. Proses ini sangat penting untuk menghasilkan program yang benar dan efektif serta dapat dieksekusi oleh komputer.

Apa itu proyek perangkat lunak ?

Apa itu proyek perangkat lunak ?

Proyek Perangkat Lunak

Proyek merupakan usaha formal yang ditetapkan dalam suatu waktu tertentu, dengan beberapa karakteristik ,yaitu :

  • Diawali pada waktu tertentu
  • Ditetapkan dengan pasti dan baik tujuan maupun lingkup kerja
  • Ditetapkan dengan baik hasil/produknya, termasuk kriteria performansi produk
  • Ditetapkan dengan baik kriteria penyelesaian proyek
  • Ditetapkan titik akhir atau waktu penyelesaian.

 Sifat Proyek :


  • Memiliki tujuan yang unik
  • Berlangsung sementara
  • membutuhkan sumber daya dari berbagai bidang
  • Memiliki sponsor atau konsumen utama yang menjadi penentu dalam hal finansial dan sasaran proyek.
  • Mengandung ketidakpastian, karena lingkungan proyek dapat berubah dan proyek harus meresponnya.

Tiga Batasan :

  • Setiap proyek dibatasi dalam cara berbeda oleh : 
  • Scope : Pekerjaan apa yang harus diselesaikan
  • Time : waktu yang diperlukan untuk menyelesaikannya ?
  • cost  : berapa biayanya ?

    Adapun tugas manajer proyek adalahj menyeimbangkan ketiganya.

Penentu Keberhasilan Proyek :

  1. Budget
  2. Client Acceptance
  3. Schedule
  4. Performance

Empat Dimensi Kepentingan Keberhasilan Proyek 




Apa itu proyek ?

Apa itu proyek ?


Proyek adalah suatu kegiatan yang direncanakan dan dilaksanakan sebagai kesatuan yang terdiri dari serangkaian aktivitas dengan menggunakan sumber daya untuk mendapatkan manfaat (Gray, Simanjuntak, Sabur, Maspaitella, & Varley, 2007, p. 1). Proyek juga dapat diartikan sebagai serangkaian aktivitas yang saling terkait, dimulai dari titik awal, berakhir pada titik akhir, dan menghasilkan hasil tertentu. Karena proyek biasanya melibatkan beberapa fungsi organisasi, maka diperlukan berbagai keahlian dari berbagai profesi dan organisasi.


Menurut Soeharto (1999), proyek dapat dikelompokkan menjadi beberapa jenis, antara lain:


  1. Proyek Engineering Konstruksi, yang terdiri dari pengkajian kelayakan, desain engineering, pengadaan, dan konstruksi.
  2. Proyek Engineering Manufaktur, yang dimaksudkan untuk membuat produk baru, meliputi pengembangan produk, manufaktur perakitan, uji coba fungsi dan operasi produk yang dihasilkan.
  3. Proyek Penelitian dan Pengembangan, yang bertujuan untuk melakukan penelitian dan pengembangan dalam rangka menghasilkan produk tertentu.
  4. Proyek Pelayanan Manajemen, yang tidak memberikan hasil dalam bentuk fisik, tetapi laporan akhir, misalnya merancang sistem informasi manajemen.
  5. Proyek Kapital, yang berkaitan dengan penggunaan dana kapital untuk investasi.
  6. Proyek Radio-Telekomunikasi, yang bertujuan untuk membangun jaringan telekomunikasi yang dapat menjangkau area yang luas dengan biaya minimal.
  7. Proyek Konservasi Biodiversitas, yang berkaitan dengan usaha pelestarian lingkungan.
  8. Proyek Perangkat Lunak adalah kegiatan perangkat lunak yang bertujuan mencapai tujuan tertentu dengan syarat-syarat tertentu. Syarat-syarat tersebut meliputi: tujuan yang ditentukan dengan jelas, waktu yang terbatas, melibatkan sumber daya yang beragam dan saling berkaitan, tersedia dengan jelas biaya atau modal, dan terdapat unsur risiko (proyek, bisnis, sosial, politik, dsb).


Manajemen proyek adalah aplikasi pengetahuan, keahlian, peralatan, dan teknik terhadap aktivitas proyek supaya dapat mencapai tujuan proyek (PMI*, Project Management Body of Knowledge (PMBOK Guide), 2000, p.6). Batasan Proyek Perangkat Lunak (PPL) dibatasi oleh ruang lingkup, waktu yang terbatas, dan modal atau biaya yang telah ditentukan. Manajemen Proyek Perangkat Lunak (MPPL) bertanggung jawab untuk mengatur dan mengelola ketiga batasan tersebut.


Dalam mengukur biaya proyek perangkat lunak yang sederhana, mahasiswa dapat mengikuti langkah-langkah berikut:


Identifikasi dan daftarkan seluruh aktivitas yang terkait dengan proyek perangkat lunak

Selain itu, terdapat juga proyek perangkat lunak (PPL) yang merupakan salah satu jenis proyek yang cukup populer di kalangan pelajar dan mahasiswa yang mengambil jurusan teknologi informasi. PPL adalah kegiatan pembuatan perangkat lunak yang bertujuan untuk mencapai tujuan tertentu dengan syarat-syarat tertentu. Untuk menjalankan sebuah proyek perangkat lunak, ada beberapa syarat yang harus dipenuhi, antara lain tujuan yang jelas, batasan waktu yang jelas, melibatkan sumber daya yang bervariatif, tersedia dengan jelas biaya atau modal, dan terdapat unsur risiko.


Manajemen proyek juga sangat penting dalam menjalankan sebuah proyek, termasuk proyek perangkat lunak. Manajemen proyek adalah aplikasi pengetahuan, keahlian, peralatan, dan teknik terhadap aktivitas proyek untuk mencapai tujuan proyek. PMBOK Guide (Project Management Body of Knowledge) mengatur dan mengelola ketiga batasan pada proyek perangkat lunak, yaitu ruang lingkup, waktu, dan modal.


Dalam menjalankan proyek perangkat lunak, sangat penting untuk menentukan batasan yang jelas, antara lain ruang lingkup, waktu, dan modal. Batasan-batasan ini akan membantu mengatur dan mengelola proyek secara lebih teratur, sehingga tujuan proyek dapat dicapai dengan lebih efektif dan efisien.


Dalam hal ini, peran manajemen proyek juga sangat penting, karena manajemen proyek akan membantu memastikan bahwa semua sumber daya yang ada dimanfaatkan dengan efektif dan efisien untuk mencapai tujuan proyek. Dengan demikian, proyek perangkat lunak dapat dijalankan dengan lebih teratur, dan hasil akhir proyek dapat dicapai dengan lebih baik dan efektif.


Secara umum, proyek perangkat lunak merupakan salah satu jenis proyek yang cukup populer di kalangan mahasiswa dan pelajar yang mengambil jurusan teknologi informasi. Untuk menjalankan proyek perangkat lunak dengan baik, sangat penting untuk menentukan batasan yang jelas, serta melakukan manajemen proyek yang baik dan efektif.