1. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses
Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya.

2. - Mutual Exclusion
- Hold and Wait
- Circular Waiting
- No Preemption

Deadlock harus memenuhi semua syarat no 3

3. - Mutual Exclusion
Serially-shareable resources (mis. Buffer)
Contoh: Critical section mengharuskan mutual exclusion (termasuk resource), sehingga potensi proses akan saling menunggu (blocked).

- Hold & wait :
Situasi dimana suatu proses sedang hold suatu resource secara eksklusif dan ia menunggu mendapatkan resource lain (wait).

- No-Preemption Resouce :
Resource yang hanya dapat dibebaskan secara sukarela oleh proses yang telah mendapatkannya.
Proses tidak dapat dipaksa (pre-empt) untuk melepaskan resource yang sedang di hold

- Circular wait
Situasi dimana terjadi saling menunggu antara beberapa proses sehingga membentuk waiting chain (circular)
Misalkan proses (P0, P1, .. Pn) sedang blok menunggu resources: P0 menunggu P1, P1 menunggu P2, .. dan Pn menunggu P0.

4. Mengabaikan, menganggap bahwa deadlock tidak akan pernah terjadi.
Membiarkan terjadinya deadlock, lalu kemudian segera diperbaiki/recover.
Menggunakan protokol untuk meyakinkan bahwa Deadlock tidak akan pernah terjadi.

5. - Deadlock Prevention: Pencegahan adanya faktor-faktor penyebab deadlock

- Deadlock Avoidance: Menghindari dari situasi yang potensial dapat mengarah menjadi deadlock

- Deadlock Detection: Jika deadlock ternyata tidak terhindari maka bagaimana mendeteksi terjadinya deadlock, dilanjutkan dengan penyelamatan (recovery).

6. a. Jangan memulai proses apa pun jika proses tersebut akan membawanya pada kondisi deadlock, sehingga tidak mungkin terjadi deadlock karena pada saat akan menuju deadlock, proses sudah dicegah.

b. Jangan memberi kesempatan pada suatu proses untuk meminta sumber daya lagi jika penambahan ini akan membawa kita pada suatu keadaan deadlock.

7. Algoritma “deadlock-avoidance” secara dinamik akan memeriksa alokasi resource apakah dapat mengarah ke status (keadaan) tidak aman (misalkan terjadi circulair wait condition)


1. - $ cd : menuju ke direktori home
- $ pwd : untuk melihat direktori yang aktif atau sedang di gunakan
- $ ls -al : melihat isi direktori
- $ cd . : melihat direktori aktual dan parent directory
- $ pwd : melihat direktori yang aktif
- $ ls -al : melihat isi direktori
- $ cd .. : menuju direktori satu level ke atas
- $ pwd : melihat direktori yang akif
- $ ls -al : melihat isi direktori
- $ cd /etc : masuk ke direktori etc
- $ls -al | more : untuk melihat isi direktori tetapi hanya sebagian yang di tampilkan sehingga harus menekan tombol untuk melihat semuanya.
- $ cat passwd : untuk melihat isii file text
- $ cd - : masuk ke direktori sebelumnya
- $ pwd : melihat direktori yang aktif

2. ukuran file dan direktoi terbesar adalah : -rw------- 1 hatemyself hatemyself 1196032 2010- 10-28 18:09 .xsession-errors.old

3. file yang terbentuk adalah : graph_jan, graph_feb, graph_mar, report_jan, report_feb, report_mar

4. Pohon Direktori pembuatan mkdir



5. mv {graph_jan,graph_feb,graph_mar} SO/graphs
6. mv {report_jan,report_feb} SO/graphs
7. cd SO/report, kemudian rm report_jan


1. Gambar direktori linux



2./ etc : Berisi file administrative ( konfigurasi dll ) dan file executable atau script yang berguna untuk administrative system
/ dev : Berisi file khusus yang merepresentasikan peralatan hardware seperti memori, disk, printer, tape, floopy, jaringan.
/ bin : Berisi program standar linux ( binary )
/ usr/sbin : berisi utilitas linux
/ usr/lib : berisi program library yang di perlukan untuk kompilasi program ( misalnya C). berisi intruksi (command) misalnya untuk print, Spooler (lpadmin).

3. - aturan penamaan file dan direktori : Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter special yaitu garis bawah, titik,koma dan lainnya kecuali spasi dan karakter, linux membedakan huruf kecil dan huruf besar.


4. Path absolut adalah path absolut dimulai dengan tanda garis (“ / “ )
Path relative adalah path yang tidak di awali dengan garis miring isinya nama direktori yang harus di lewati dari current directory.
.
5. Perintah cd : perintah tersebut di pakai untuk mengubah direktori

6. Perintah ls : perintah tersebut di pakai untuk melihat isi current directory atau direktori tertentu

7. Perintah cp : perintah tersebut adalah untuk meng-copy file dan direktori

8. Perintah mv : perintah tersebut adalah perintah untuk memindahkan dan atau mengubah nama file dan direktori

9. Perintah rm : perintah tersebut adalah perintah untuk menghapus file

10. Perintha touch : perintah tersebut di gunakan untuk membuat file kosong atau mengubah file

11. Perintah mkdir : perintah tersebut adalah perintah membuat direktori baru

12. Perintah rmdir : perintah tersebut adalah perintah untuk menghapus direktori kosong

13. Perintah file : perintah tersebut adlah perintah untuk meihat tipe file

14. Perintah cat : perintah untuk menampilkan isi file

15. Perintah less : perintah untuk melihat halaman teks halaman per halaman.


<html>
<head>
<script LANGUAGE = "Javascript">

function Urutkan (form)
 {
    DataKosong= false;
    DataInputan = form.Data.value;
    inputData = DataInputan.split (",");
    for (var i = 0; i<inputData.length; i++)
    {
        inputData [i] = parseInt (inputData[i],10);
    if (isNaN (inputData [i]) )
    {
      DataKosong = true;
      break;
    }
    }

inputData = bubbleSort (inputData, 0, inputData.length-1);
if (DataKosong)
 {
   alert ("Silakan Entri Dulu Data, Pisahkan dengan tanda Koma");
   form.Data.focus();
 }
   else
   form.Hasil.value = DataString (inputData,0);
 }


function DataString (ArrayData, Angka)
 {
   if ( (ArrayData.length - 1) >= Angka)
   return (ArrayData[Angka] + "," + DataString (ArrayData, (Angka + 1) ) );
   else
   return "";
 }

function bubbleSort (ArrayData, Mulai, MulaiBaru)
 {
   for (var i=MulaiBaru-1; i>=Mulai; i--)
   {
          for (var j=Mulai; j<=i; j++)
         {
        if (ArrayData[j+1] < ArrayData [j] )
        {
           var DataTemporer = ArrayData [j];
           ArrayData [j] = ArrayData [j+1];
           ArrayData[j+1] = DataTemporer;
          }
       }
   }

return ArrayData;
}
</script>
</head>

<body>
<center>
<form>
  Masukan Deretan Angka "," Pisahkan dengan Koma :
  <hr>
  <input type = text name=Data size=30 Value="">
  <br>
  <input type=button value="Urutkan" onClick="Urutkan (this.form)">
  <br>
    <br>
    Hasil Pengurutan :
    <hr>
    <input type=text name=Hasil size=30>
    </form>
</center>
</body>
</html>


Instalasi Linux Ubuntu
Nama : Agah Nurdin Nugraha
Npm : 43E57006095002
Prodi : Teknik Informatika Semester 2
Kelas : pagi

Langkah-Langkah Menginstall Ubuntu

Disini akan di jelaskan secara step by step cara menginstall Ubuntu. Sebagai catatan harddisk yang digunakan adalah 10Gb (belum di partisi) memory 256MB, Prosesor Intel P4 2.4GHz dan proses penginstallasian ini menggunakan VMware Workstation Sebelum meng-install Ubuntu pada BIOS harus di set Boot Device Priority-nya dulu, dalam menginstall Ubuntu Boot Device Priority harus di arahkan ke CDROM. Untuk masuk ke BIOS tiap Motherboard mempunyai standart sendiri. Namun sebagian besar tinggal menekan tombol delete atau F2. Ketika membooting pertama kali tekan F2 atau del untuk masuk BIOS, anda harus menekan nya dengan cepat, sebab bila tidak komputer akan masuk ke OS di hardisk. Apabila anda &acirc;��lebih cepat&acirc;�� dari loading komputer anda maka tampilanya akan muncul sebagai berikut:















Kemudian simpan konfigurasinya dan kemudian reboot ulang














Mulai menginstal
Sete;ah di restart maka akan muncul tampilan berikut (apabila komputer di booting via cd-room)















Pilih &quot;Start or install Ubuntu&quot;, tunggu hingga muncul layar seperti di bawah ini














Gambar di atas menunjukan bahwasanya kita berhasil menjlankan ubuntu live cd. Di live cd kita bisa menjajal kemampuan ubuntu tanpa harus menginstal ke hardisk, pada saat anda dapat menulis dokumen,berinternetan layaknya anda sudah menginstal ke hardisk. Dan perlu di ingat bahwasanya ini hanya bersifat readonly yang berarti semua dokumen yang di simpan di /home hanyalah sementara dan akan hilang jika kita reboot ulang. Kita asumsikan anda mempunyai hardisk baru 10 GB belum di partisi dan akan di instal ubuntu.

Langkah selanjutnya kita harus mempartisi hardisk dulu, klik
&quot;System&gt;Administration&gt;Gnome Partition Editor&quot;




















Hingga muncul tampilan sebagai berikut














Karena kita akan membuat partisi baru maka klik kanan di area hitam muda hingga muncul seperti gambar diatas












Klik create kemudian tunggu










Klik kanan di area hitam muda lagi hingga muncul gambar di atas. Dan jangan lupa kita harus menentukan berapa besar partisi yang akan digunakan. Disini saya mempunyai hardisk 10 GB dengan 2 partisi yaitu 8,7 GB untuk ext3 dan sisanya untuk swap. Klik add bila kita sudah mengkonfigurasinya













Setelah kita mengklik add maka akan muncul warna biru pada area hitam muda, pada gambar di atas masih terdapat area hitam muda hal ini dikarenakan masih adanya ruang sisa. Untuk itu maka klik kanan lagi pilih new
















Pada gambar di atas area yang kosong tadi akan digunakan sebagai partisi swap, kemudian klik add, (linux minimal membutuhkan partisi swap dan root) setelah itu bila kita ingin melakukan tindakan pemartisian hardisk yang telah di lakukan tadi maka klik apply hingga muncul tampilan sebagai berikut







Klik aplly lagi, kemudian tunggu loadingnya











Setelah proses pemartisian hardisk selesai maka akan muncul tampilan sebagai berikut










Kemudian klik close . Untuk langsung menginstalnya kita dapat mengklik icon INSTAL di Desktop dan tunggu loadingnya hingga muncul tampilan sebagai berikut















Dalam gambar di atas kita disuruh untuk menemukan bahasa yang akan di gunakan, dalam gambar diatas saya memilih bahasa inggris sebagai Bahasa yang akan di gunakan namun bila menghendaki bahasa Indonesia bisa memilih Bahasa Indonesia. Kemudian klik Forward hingga muncul tampilan sebagai berikut















Di sini kita akan menunjukan di mana kita berada, karena dengan menunjukan dimana kita berada system Ubuntu akan menyetel Format waktu GMT di sini saya menggunakan Jakarta, bila sudah selesai klik forward
















Pada gambar di atas kita di suruh untuk menentukan Jenis Keyboard yang kita gunakan di Indonesia kebanyakan menggunakan American English, klik forward hingga muncul gambar sebagai berikut
















Tampilan ini di maksudkan untuk mengisikan identitas kita perlu di ingat saat mengisi username huruf yang digunakan harus kecil semua dan tidak boleh ada spasi, hal yang sama saat kita mengisi nama komputer kita. Klik forward hingga muncul gambar sebagai berikut
















Dari tampilan di atas ada dua pilihan yaitu erase disk dan manually edit. Yang dimaksud dngan erase disk adalah menghapus semua isi dari hardisk namun ini cukup berbahaya apabila anda mempunyai data yang sudah di simpan di hardisk. Untuk amannya pilih manually edit partition Klik forward hingga muncul gambar sebagai berikut















Karena kita tadi sudah membuat partisi maka klik forward hingga muncul gambar sebagai berikut














Dari gambar di atas kita di suruh untuk menentukan mount point dari dua partisi yang telah kita buat tadi, buatlah seperti gambar di atas. Klik forward hingga muncul gambar sebagai berikut















Ini adalah komfigurasi global yang telah kita buat untuk menginstall, Klik Install (bila kita sudah mantap dengan konfigurasinya) hingga muncul gambar sebagai berikut






Bila komputer anda menunjukan gambar seperti ini, maka Ubuntu sedang menyaln system ke dalam komputer anda . Waktu yang di butuhkan untuk selesai loadingnya tergantung performa dari komputer yang anda miliki, sebagai perbandingan ketika saya menggunakan pentium 4 dengan memory 512 MB dibutuhkan waktu sekitar 15 menit saja. Setelah itu tunggu hingga muncul tampilan layar sebagai berikut











Bila tampilan layar di komputer tampak seperti di atas maka berarti instalasi ubuntu di komputer anda telah selesai.
klik restart now
Diposkan oleh Anjas saepulloh di 23:55 0 komentar
PC COMPONENT
Nama : Anjas Saepulloh
NPM : 43E57006095006
Prodi : Teknik Informatika Semester 2
Kelas : Malam

2.1. Cassing dan Power Supply

Cassing merupakan tempat dari komponen &acirc;�� komponen yang akan kita rakit. Cassing terdiri dari bermacam &acirc;�� macam bentuk antara lain :

a. Cassing Desktop

b. Cassing Tower

c. Cassing Slim








Power Supply merupakan sumber energi untuk sebuah komputer yang berfungsi mengubah arus AC menjadi DC. Jenis power supply untuk PC yang beredar dipasaran untuk komputer rakitan ada 2 :

a. AT

&Acirc;&middot; Kabel power mainboard terpisah dengan nama pin 8 dan pin 9

&Acirc;&middot;

Cara mematikan komputer masih manual melalui to

mbol / switch






b. ATX

&Acirc;&middot; Kabel Power Mainboard tidak terpisah

&Acirc;&middot; Untuk mematikan komputer bisa melalui system operasi karena o

n/off-nya dikendalikan oleh maindboard

&Acirc;&middot; Tips !!! Untuk menguji kondisi power supply masih berfungsi atau tidak, kita bisa menghubungkan konektor dari kabel berwarna hijau dengan salah satu konektor kabel berwarna hitam (grounding) atau abu&acirc;��abu.
Perhatikan ! Periksa apakah kipas (fan) power supply tersebut berputar atau tidak. Kalau setelah dihubungkan ternyata kipas tidak berputar, maka ada kemungkinan power supply rusak.

D:\Tugas Galery\Instalasi Komputer\ATX 24 pin PSU to 20 pin mainboard power adapter.jpg









(Powersupply ATX 24 pin)

D:\Tugas Galery\Instalasi Komputer\tutorial-24pin_atx_power_co.jpgUntuk saat ini Power Supply tipe konektor ATX lebih banyak digunakan (yang terbaru ATX conn 24 pin)












(ATX 24 pin PSU to 20 pin mainboard power adapter)

Daya yang di keluarkan terdiri dari 100 watt, 150 watt, 200 watt, 250 watt, 300 watt, 35

0 watt, 350 watt, 400 watt, 450 watt, 500 watt, 550 watt, 600 watt, hingga 650 watt.

Berikut ini rincian output tegangan power supply ATX untuk mainboard (Motherboard) 400-450 watt:

1. Kabel Hitam : 7 kabel merupakan grounding

2. Kabel Merah : 4 kabel, output +5 volt, 35A

3. Kabel Putih : 1 kabel, output -5 volt, 0,5A

4. Kabel Kuning : 1 kabel, output +12 volt, 15-18A

5. Kabel biru : 1 kabel, output -12volt, 0,8A

6. Kabel Orange : 3 kabel, output +2,2 volt, 22A

7. Kabel Hijau : 1 kabel, PS-ON (untuk switch)

8. Kabel Grey : 1 kab

el (Abu-abu) PW-OK

Rincian pengeluaran tegangan power supply untuk floppy disk drive, hard disk, cd-room, dan media tambhan lainnya :

1. Kabel Merah : 1 kabel, output 5 volt (+)

2. Kabel Hitam : 2 kabel, grounding (-)

3. Kabel Kuning : 1 kabel output 12 volt (+)



















2.2. Mainboard

Motherboard adalah papan dimana komponen-komponen komputer ditancapkan dan dapat saling berhubungan. Tipe &acirc;�� tipe mainboard ini banyak sekali, namun kualitas motherboard ini ditentukan dengan chipset yang tertanam didalamnya seperti Gigabyte, Intel, SIS, Nvidia, Nfor

ce, VIA dan lain sebagainya.
















(Mainboard ASRock K7VT4A Pro Mainboard Labeled German)

Contoh komponen pendukung mainboard, lengkap dengan spesifikasinya:

CPU

&Acirc;&middot; LGA 775

Chipset

&Acirc;&middot; Northbridge : Intel 955X

&Acirc;&middot; Southbridge : Intel ICH7R

Memory

&Acirc;&middot; Type: Dual channel, DDRII 667/533/400. ECC

&Acirc;&middot; DIMM slots: 4 DIMMs for DDR2 8GB Max

Front Side Bus

&Acirc;&middot; 1066/800/533 MHz FSB

Expansion Slots

&Acirc;&middot; 1 x PCI Express 100MHz X 16

&Acirc;&middot; 2 x PCI Express 100MHz X 1

&Acirc;&middot; 3 x PCI

&Acirc;&middot; 1 x DPS slot

Esternal Hardware

&Acirc;&middot; Broadcom 5751&acirc;��2

&Acirc;&middot; Realtek ALC882M

&Acirc;&middot; 6&acirc;�� Serial ATA II, 3&acirc;�� PATA

&Acirc;&middot; Silicon Image Sil3132 SATA II controller

GigaRAID ITE 8212 IDE RAID controller

IEEE1938 1394b

Internal I/O Connectors

&Acirc;&middot; 1 x U-Plus D.P.S connentor

&Acirc;&middot; 6 x Serial ATA II 3.0Gb/s connector

&Acirc;&middot; 1 x UDMA ATA 100/66/33 connector

&Acirc;&middot; 2 x UDMA ATA 133/100/66 connector

&Acirc;&middot; 1 x FDD connector

&Acirc;&middot; 2 x IEEE 1394b connector (supports 3 port)

&Acirc;&middot; 2 x USB 2.0/1.1 connector (supports 4 ports)

&Acirc;&middot; 3 x cooling fan pin headers

&Acirc;&middot; 1 x game/midi connector

&Acirc;&middot; Bluetooth

Dari spesifikasi yang tertera di atas , kita dapat mengetahui beberapa hal, yakni:

Untuk socket dan processor menggunakan type LGA 775 (jenis processor terbaru intel type EE berkecepatan 1066Mhz, keluaran tahun 2005).











AMD 64 Athln-3200+, Pentium_M Centrino 2.0Ghz, Celeron 2.0Ghz, Cyrix 3 600MHz dll.

(socket LGA 775)

Beberapa hal lain yang perlu diperhatikan untuk mengenali mainboard dan komponen yang terdapat didalamnya (on-board):

&Acirc;&middot; Konektor Power

Adalah pin yang menghubungkan antara mainboard dengan power supply pada cassing. Untuk mainboard dengan konektor AT, maka power supply yang dibutuhkan juga type AT. Sedangkan mainboard dengan konektor ATX , maka power supplynya harus ATX.

&Acirc;&middot; Slot/socket Processor

CPU Slot/socket

Pentium (Classic) : Socket 4/5/7

Pentium over drive : Socket 4/5/7

Pentium MMX : Socket 7

AMD K6 1,2,3 : Socket 7

Pentium Pro : Socket 8

Cyrix : socket 370

Celeron : Socket 370

Celeron P2-P3 : Slot 1

Athlon : Slot A

Duron, Athlon XP : Socket A/462/754/939

Opteron : Socket 940

Xeon : Slot 2

Itanium : Socket 418

Itanium 2 : Socket 611

Pentium 4 : Socket 423/478/LGA775

Pentium 4-based Xeon, Xeon MP : Socket 603

Slot Memory

Pada mainboard terdapat beberapa slot memory PC yang umum , yaitu :

&Atilde;� SIMM (Single Inline Memory Module) pin=72

&Atilde;� DIMM (Dual Inline Memory Module) pin=168/184

&Atilde;� RIMM (Rambus Inline Memory Module) pin=184

&Atilde;� Micro-DIMM pin=68/144/172

&Atilde;� SO DIMM (untuk Laptop) pin=72/144/200

Bateray CMOS

Berfungsi untuk memberikan tenaga pada mainboard didalam mengenali konfigurasi yang terpasang sewaktu komputer dimatikan atau belum mendapat suplay daya dari power supply, salah satunya adalah untuk pengaturan jam.

BIOS (Basic Input Output System)

Yaitu kumpulan informasi dari sebuah motherboard berupa software yang berisi perintah &acirc;�� perintah dasar. BIOS berfungsi sebagai sarana komunikasi antara system operasi dengan hardware yang terdapat / terhubung pada mainboard.

CMOS (Complementary Metal Oxide Semiconductor)

Sebuah sirkuit terintgrasi (IC) atau chip yang menampung informasi BIOS. Software BIOS biasanya diakses/dikonfigurasi pada setup CMOS saat PC melakukan booting (sirkuit ini merupakan ROM komputer).

Chipset

Adalah chip-chip yang mengatur aliran data antara subsystem sebuah PC, dan menentukan piranti apa saja yang didukung oleh mainboard tersebut. Pada mainboard terdpat 2 chip utama:

1. Chip Northbridge yang mengontrol aliran data dari processor, port AGP dan memory utama

2. Chip Southbridge yang mengontrol aliran data dari bus PCI, interface hardisk dan peralatan PC eksternal lainnya.

FSB

Yaitu kecepatan BUS dari system pada mainboard . Pentium 3 memiliki FSB 100 atau 133 MHz. Sementara P4 memiliki FSB 400Mhz(4x 100 MHz) hingga 1066MHz. Processor AMD Duron memiliki FSB 200MHz (2x100 MHz) dan Athlon memiliki FSB 266 MHz. Clock speed sebuah processor merupakan perkalian sebuah nilai (multiplier)dengan FSB. Misalnya P3 800Mhz adalah hasil dari perkalian 6,6 x 133 MHz atau8 x100Mhz.

Processor

Processor merupakan otak atau mesin dari sebuah PC, terkadang disebut mikroprocessor atau juga Central Processing Unit (CPU), yang melakukan perhitungan (fungsi ALU) dan pemrosesan sistem.

D:\Tugas Galery\Instalasi Komputer\1.jpgKetika kita menyebutkan kata &acirc;��processor&acirc;�� maka seringkali yang terbayang kemudian adalah image perusahaan pembuat processor tersebut, seperti intel,AMD,VIA/Cyrix,dll. Kemudian diikuti dengan seri keluaran produk tersebut dan keterangan tentang kecepatannya , seperti pentium 4 &acirc;�� 2.4GHz,


<!-- TWO STEPS TO INSTALL BUBBLE SORT:

  1.  Copy the coding into the HEAD of your HTML document
  2.  Add the last code into the BODY of your HTML document  -->

<!-- STEP ONE: Paste this code into the HEAD of your HTML document  -->

<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  David Sturgeon (sturgeon.auto@gsln02e.et.gs.com) -->
<!-- Web Site:  http://www.doc.ic.ac.uk/~dms99 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function doSort(form) {
nanExists = false;
inputString = form.numbers.value;
inputNumbers = inputString.split(",");
for (var i = 0; i < inputNumbers.length; i++) {
inputNumbers[i] = parseInt(inputNumbers[i], 10);
if (isNaN(inputNumbers[i])) {
nanExists = true;
break;
   }
}
inputNumbers = bubbleSort(inputNumbers, 0, inputNumbers.length - 1);
if (nanExists)
form.answers.value = "Invalid Input, numbers must be seperated by commas";
else
form.answers.value = resultString(inputNumbers, 0);
}
function resultString(inputArray, num) {
if ((inputArray.length  - 1) >= num)
return (inputArray[num] + "," + resultString(inputArray,(num + 1)));
else return "";
}
function bubbleSort(inputArray, start, rest) {
for (var i = rest - 1; i >= start;  i--) {
for (var j = start; j <= i; j++) {
if (inputArray[j+1] < inputArray[j]) {
var tempValue = inputArray[j];
inputArray[j] = inputArray[j+1];
inputArray[j+1] = tempValue;
      }
   }
}
return inputArray;
}
//  End -->
</script>
</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>

<center>
<form>
<table border=1>
<td>Enter numbers here:  <input type=text name=numbers size=75 value="4,2,5,1,7,8,9,3,6,3,6,2,9,8,5,2,6,7,3,4,5,6,8,1,9,4,3,6,2,5,8,4"></td>
<tr>
<td>The sorted numbers are: <input type=text name=answers size=75></td>
</tr>
<tr>
<td colspan=2 align=center><input type=button value="Sort!" onClick="doSort(this.form)"></td>
</tr>
</table>
</form>
</center>

<p><center>
<font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>

<!-- Script Size:  1.92 KB -->


<html>
<head><title> Dijkstra Algorithms </title></head>
<body>
<script language = "javascript">

var NilaiAcuan = 10000
var TakTerdefinisi = -1
var NamaVerteks = new Array ('A','B','C','D','E','F')
var Matriks = new Array (6)

function Bobot (a,b)
{
return Matriks [a][b]
}

function Di jkstra (JumlahVerteks,Awal,d)
{
var posisi = new Array(JumlahVerteks)
var i
var Kunjungan = new Array(JumlahVerteks)
var Sebelum = new Array(JumlahVerteks)

for (i=0; i<JumlahVerteks; i++)
{
posisi[i] = NilaiAcuan
Sebelum[i] = TakTerdefenisi
Kunjungan[i] = false
}

posisi[Awal] = 0

var Verteks;
for (Verteks=0; Verteks < JumlahVerteks; Verteks++)
{
var JarakTerpendek = NilaiAcuan, Berhenti = -1
for (i=0; i<JumlahVerteks; i++)
{
if (!Kunjungan[i])
{
if(posisi[i] <= JarakTerpendek)
{
JarakTerpendek = posisi[i]; Berhenti = i;
}
}
}
Kunjunagn[Berhenti] = true;

for(i=0; i<JumlahVerteks; i++)
{
if(!Kunjungan[i])
{
var w = Bobot(Berhenti, i);
if (Posisi[i] = Posisi[Berhenti]+w < Posisi[i])
{

Posisi[i] = Posisi[Berhenti] + w;
Sebelum[i] = Berhenti;
}
}
}
}

i=d;

if (Posisi[i] < NilaiAcuan)

{

var Lintasan = NamaVerteks[i];
var Verteks = i;
while (Verteks>0)
{

Verteks = Sebelum[Verteks];
if (Verteks>=0) Lintasan = NamaVerteks[Verteks] + '->' + Lintasan;
{

message("Jarak : " +Posisi[i]+' ("Lintasan+')'+"<br>');
}
else

{
message("Tidak Ada Jalur");
}

}

funtion int()
{
var x = NilaiAcuan
Matriks[0] = new Array (0,2,3,x,x,x)
Matriks[1] = new Array (2,0,3,6,x,x)
Matriks[2] = new Array (3,3,0,3,5,x)
Matriks[3] = new Array (x,6,3,0,1,3)
Matriks[4] = new Array (x,x,5,1,0,1)
Matriks[5] = new Array (x,x,x,3,1,0)

var Awal = '<prev>'
Awal = Awal + 'A--2-b-6--D--3-F'+'<br>'
Awal = Awal + ' \ | /| / '<br>'
Awal = Awal + ' 3 3 3 1 1 '<br>'
Awal = Awal + ' \ | / | / '<br>'
Awal = Awal + ' \|/ |/ '<br>'
Awal = Awal + ' C--5-E '<br>'
Awal = Awal +'</prev>'

message(Awal.replace(/(\d)+/g, '<font color="red>$1</font>');}

int()
var Dari = 0 // A
var Ke = 5 // F
Di jkstra (Matriks.length,Dari,Ke);
//-->
</script>
</body>
</html>



























<html>
<head>
<title>Linked List</title></head>
<body>
<script language = "JavaScript">
<!--
function LinkedList()
{
this._panjang = 0;
this._kepala = null;
}

LinkedList.prototype =
{
constructor : LinkedList,

tambah : function(data)
{
var node = {data : data, next:null};
var NodeTanda;

if (this._kepala === null)
{
this._kepala = node;
} else
{
NodeTanda = this._kepala;
while (NodeTanda.next)
{
NodeTanda = NodeTanda.next;
}
NodeTanda.next = node;
}

this._panjang++;
},

Item : function(index)
{
if (index > -1 && index < this._panjang)
{
var NodeTanda = this._kepala,
i=0;
while (i++ < index)
{
NodeTanda = NodeTanda.next;
}
return NodeTanda.data;
} else
{
return null;
}
},

Buang : function(index)
{
if( index > -1 && index < this._panjang)
{
var NodeTanda = this._kepala,previous, i=0;
if (index === 0)
{
this._kepala = NodeTanda.next;
} else
{
while(i++ < index)
{
previous = NodeTanda;
NodeTanda = NodeTanda.next;
}
previous.next = NodeTanda.next;
}
this._panjang--;
return NodeTanda.data;
} else
{
return null;
}
},

Ukuran : function()
{
return this._panjang;
},

toArray : function()
{
var result = [],
NodeTanda = this._kepala;
while (NodeTanda)
{
result.push(NodeTanda.data);
NodeTanda = NodeTanda.next;
}
return result;
},

toString : function()
{
return this.toArray().toSring();
}

}

var list = new LinkedList();
list.tambah("Teknik Informatika");
list.tambah("Teknik Komputer");
list.tambah("Komputer Akutansi");
list.tambah("Computer Nerworking");

document.write("Isi LinkedList <br>");
document.write("--------------- <br>");
for (i=0;i<4;i++)
{
document.write(list.Item(i) + "<br>");
}
document.write("----------------<br>");

alert("Isi LinkedList awal = " + list.Item(0));
alert("1 Item pada LinkedList dibuang, yaitu = " + list.Item(1));
list.Buang(1);
document.write("<br><br>");
document.write("Isi LinkedList Terakhir <br>");
document.write("--------------- <br>");
for (i=0;i<4;i++)
{
if (list.Item(i) == null)
{
document.write("--");
} else {
document.write(list.Item(i) + "<br>");
}
}
document.write("----------------<br>");
//-->
</script>
</body>
</html>













<html>
<head>
<title>Sisip Linked List</title>
</head>
<body>
<script language="javascript">
<!--
function linkedlist() {
this.panjang = 0;
this.kepala = null;
}

linkedlist.prototype =
{
constructor : linkedlist,

//Metode untuk menambah data
tambah: function (data) {
var node = {data:data,next:null};
var NodeTanda;

if (this.kepala === null)
{
this.kepala = node;
}
else
{
NodeTanda = this.kepala;
while (NodeTanda.next)
{
NodeTanda = NodeTanda.next;
}
NodeTanda.next = node;
}
this.panjang++;
},

//Metode untuk menampilkan data
item: function(index) {
if (index > -1 && index < this.panjang)
{
var NodeTanda = this.kepala,i = 0;
while(i++ < index)
{
NodeTanda = NodeTanda.next;
}
return NodeTanda.data;
}
else
{
return null;
}
},

//Metode untuk membuang data
buang: function(index) {
if (index > -1 && index < this.panjang)
{
var NodeTanda = this.kepala, previous, i = 0;

// Membuang kepala
if (index === 0)
{
this.kepala = NodeTanda.next;
}
else
{
//Mencari index yang tepat
while(i++ < index)
{
previous = NodeTanda;
NodeTanda = NodeTanda.next;
}
previous.next = NodeTanda.next;
}
//decrement panjang
this.panjang--;
//return data
return NodeTanda.data;
}
else
{
return null;
}
},

//Metode untuk menyisipkan data
sisip: function(index,data) {
var node = {data:data,next:null};
var NodeTanda = this.kepala, i = 1;

if (index === 0)
{
node.next = this.kepala;
this.kepala = node;
}
else
{
while (i++ < index)
{
NodeTanda = NodeTanda.next;
}
node.next = NodeTanda.next;
NodeTanda.next = node;
}
this.panjang++;
},

//Metode untuk melihat ukuran panjang linked list
ukuran: function() {
return this.panjang;
},

//Metode untuk merubah ke Array
toArray: function() {
var result = [];
var NodeTanda = this.kepala;

while(NodeTanda) {
result.push(NodeTanda.data);
NodeTanda = NodeTanda.next;
}
return result;
},

//Metode untuk merubah ke String
toString: function() {
return this.toArray().toString();
}

};

//Fungsi untuk menampilkan isi variabel list
function tampil()
{
for (i=0; i<6; i++)
{
document.write(list.item(i) + "<br>");
}
document.write("<hr>");
}

var list = new linkedlist();

//Menambah data ke variabel pada list
list.tambah("Teknik Informatika");
list.tambah("Teknik Komputer");
list.tambah("Komputer Akutansi");
list.tambah("Computer Nerworking");
list.tambah("Manajemen Informatika");
list.tambah("Sistem Informatika");

document.write("Isi LinkedList : <br>");
tampil();

//Membuang salahsatu isi variabel list
list.buang(1);

document.write("Isi LinkedList : (Setelah data pada index ke-1 dibuang) <br>");
tampil();

//Menyisipkan data ke variabel list
list.sisip(2,"Teknik Nuklir");

document.write("Isi LinkedList : (Setelah menyisipkan data di index ke-2) <br>");
tampil();

document.write("Panjang variabel list adalah = ");
document.write(list.ukuran());
//-->
</script>
</body>
</html>


<html>
<head>
<title>Struktur Data Stack</title>
<script language = "JavaScript">
var stack=new Array();
function Input_ke_Stack(data)
{
   stack.push(data);
}
   function Ambil_dari_Stack()
     {
       var data_dari_stack = stack.pop();
       if(data_dari_stack ==undefined)
       return "Stack Sudah Kosong";
      else
      return data_dari_stack;
     }
       function TampilkanStack(list)
         {
           list.options.length = 0;
           for(var i=0;i<stack.length;i++){
           var data = new Option(stack[i]);
           list.options[list.options.length]=data;
         }
    }
</script>
</head>
<body>
<form>
<input type=text name=textSimpan size=25>
<input type=button value="Masukan ke Stack"
onClick='Input_ke_Stack(textSimpan.value);
textSimpan.value="";
TampilkanStack(mediaList);'>
<select name="mediaList"size=12>
<option>Tampilkan data...
</select>
<input type=text name=textAmbil size=20>
<input type=button value="Ambil dari Stack"
onClick="textAmbil.value=Ambil_dari_Stack();
TampilkanStack(mediaList);">
</form>
</body>
</html>




<html>
<head>
<title>program queue dengan pop dan unshift JavaScript</title>
<script language="JavaScript">

function DataQueue()
{
     var queue=[];
     queue.unshift(1);
     queue.unshift(2);

     var i=queue.pop();
     document.write(i+"<br/>");
     queue.unshift(3);
     queue.unshift(4);
     var i=queue.pop();
     document.write(i+"<br/>");
}

</script>
</head>
<body>
<form name="FormStrukturData">
<input name="btnQueue" value="Queue" type="button" onClick="DataQueue();"/>
</form>
</body>
</html>




<html>
<head><title> Memanipulasi Data Pegawai </title>
<script language = "javascript" type="text/javascript">
<!--
var DBPegawai = new Array();
function Pegawai(Fields_NIP,
Fields_Nama,
Fields_Gaji_Per_Jam,
Fields_Jam_Kerja,
Fields_Gaji_Total)
{
       this.NIP = Fields_NIP;
       this.Nama = Fields_Nama;
       this.Gaji_Per_Jam = Fields_Gaji_Per_Jam;
       this.Jam_Kerja = Fields_Jam_Kerja;
       this.Gaji_Total = Fields_Gaji_Total;
}
    function inputPegawai()
       {
          var Nama,Gaji_Per_Jam, Jam_Kerja, Gaji;
          while ( NIP = window.prompt("Ketikan NIP (Nomor Induk Pegawai)\n\n Click 'cancel' untuk Berhenti !!."))
            {

               Nama = window.prompt ("Nama Pegawai :");
               Gaji_Per_Jam = parseInt (window.prompt("Gaji Per Jam :"));
               Jam_Kerja = parseInt (window.prompt("Jumlah Jam Kerja :"));
               Gaji = Gaji_Per_Jam * Jam_Kerja;
               DBPegawai[DBPegawai.length] = new Pegawai(NIP,Nama,Gaji_Per_Jam,Jam_Kerja,Gaji);
           }
       ShowPegawai();
       }
    function ShowPegawai(){

    document.write("<table border ='1'>"+"<tr>"+"<th>NIP</th><th>Nama<     /th><th>Gaji Per Jam</th><th>Jam Kerja</th>"+"<th>Gaji Total</th>"+"</tr>");

for (i=0; i < DBPegawai.length; i++){
document.write("<tr>"+
"<td>" + DBPegawai[i].NIP + "</td>" +
"<td>" + DBPegawai[i].Nama + "</td>" +
"<td align='right'>" + DBPegawai[i].Gaji_Per_Jam + "</td>" +
"<td align='right'>" + DBPegawai[i].Jam_Kerja + "</td>" +
"<td align='right'>" + DBPegawai[i].Gaji_Total + "</td>" +
"</tr>");
}
document.write ("</table>");
}
//-->
</script>
</head>
<body onload ="inputPegawai();">
</body>
</html>



<html>
<head>
<title>Modul 2. Latihan 2: Mengisi Array dengan mengentri dari Input Box</title>
</head>
<body>
<script language="javascript">
<!--
var tempat = [];
var data = prompt ("Ketik jumlah maksimum Array : ");

for (m=1; m<=data; m++)
{
var bil = prompt("Masukkan bilangan : ")
tempat[m] = bil;
}

for (n=1; n<=data; n++)
{
document.write("Elemen Array (" +n+ ") = " +tempat[n]+ "<BR>")
}
//-->
</script>
</body>
</html>



<html>
<head>
<title>Modul 2. Latihan 3: Program menampilkan deret Fibonacci</title>
</head>
<body>
<script language="javascript">
<!--
function fibonacci(n)
{
var i;
var array_fib = new Array();

array_fib.push(0);
array_fib.push(1);

for (i=0; i<n; i++)
{
array_fib.push(array_fib[0] + array_fib[1]);
array_fib.shift();
}
return array_fib[0];
}

for (i=0; i<=20; i++)
document.write("Fibonacci(" +i+ ") = " +fibonacci(i) + "<br>");

//-->
</script>
</body>
</html>



<html>
<head>
<title>Modul 3. Latihan 2: Program entri data pegawai</title>
<script language="javascript">
<!--
var dbPegawai = new Array();

function pegawai(f_nip,f_nama,f_gaji_per_jam,f_jam_kerja,f_gaji_total)
{
this.nip = f_nip;
this.nama = f_nama;
this.gaji_jam = f_gaji_per_jam;
this.jam_kerja = f_jam_kerja;
this.gaji_total = f_gaji_total;
}

function inputPegawai()
{
          var nama, gaji_per_jam, jam_kerja, gaji;
          while ( nip = window.prompt("Ketikkan NIP (Nomor Induk Pegawai)\n" +
     "Click 'cancel' untuk berhenti !!"))
        {
        nama = window.prompt ("Nama Pegawai :");
           gaji_per_jam = parseInt(window.prompt("Gaji per jam :"));
           jam_kerja = parseInt(window.prompt("Jumlah jam kerja :"));
           gaji    = gaji_per_jam * jam_kerja;
          dbPegawai[dbPegawai.length] = new pegawai(nip,nama,gaji_per_jam,jam_kerja,gaji);
}
             showPegawai();
}

                 function showPegawai()
              {
           document.write("<table border='1'>" +
                   "<tr>" +
                   "<th>NIP</th><th>Nama</th><th>Gaji per Jam</th><th>Jam Kerja</th>" +
"<th>Gaji Total</th>" +
"</tr>");

                  for (i=0; i<dbPegawai.length; i++)
         {
document.write("<tr>" +
                      "<td>" + dbPegawai[i].nip + "</td>" +
"<td>" + dbPegawai[i].nama + "</td>" +
                      "<td align='right'>" + dbPegawai[i].gaji_jam + "</td>" +
                      "<td align='right'>" + dbPegawai[i].jam_kerja + "</td>" +
                      "<td align='right'>" + dbPegawai[i].gaji_total + "</td>" +
"</tr>");
                   }
document.write("</table>");
}

//-->
</script>
</head>

<body onload = "inputPegawai();">
</body>
</html>



<html>
<head>
<title>Modul 3. Latihan 3: Program penggunaan Record</title>
<script language="javascript">
<!--
var databaseMHS = new Array();

function nilaiMHS(v_npm, v_nama, v_prodi)
{
   this.npm = v_npm;
   this.nama = v_nama;
   this.prodi = v_prodi;
   this.absen = 0;
   this.tugas = 0;
   this.uts = 0;
   this.uas = 0;
   this.total = 0;
}

   function tambah()
     {
       databaseMHS[0] = new nilaiMHS("B009", "Agah Nurdin", "TI");
       databaseMHS[1] = new nilaiMHS("B010", "Teuku Randy", "TI");
       databaseMHS[2] = new nilaiMHS("B011", "Siti Khadijah", "TK");
      databaseMHS[3] = new nilaiMHS("B012", "Maryam", "KA");
      databaseMHS[4] = new nilaiMHS("B013", "Tio", "KA");
     }

       function tampilkan()
         {
            var spasi = ""
            spasi += "<table border='1'>" +
            "<tr><th>NPM</th> <th>Nama</th> <th>Prodi</th> <th>Absen</th>" +
            "<th>Tugas</th> <th>UTS</th>  <th>UAS</th>   <th>Total</th></tr>";

             for (i=0; i<databaseMHS.length; i++)
                 {
                     spasi +="<tr>" +
                     "<td>" + databaseMHS[i].npm + "</td>" +
                     "<td>" + databaseMHS[i].nama + "</td>" +
                     "<td align='left'>" + databaseMHS[i].prodi + "</td>" +
                     "<td align='center'>" + databaseMHS[i].absen + "</td>" +
                     "<td align='center'>" + databaseMHS[i].tugas + "</td>" +
                     "<td align='center'>" + databaseMHS[i].uts + "</td>" +
                     "<td align='center'>" + databaseMHS[i].uas + "</td>" +
                     "<td align='center'>" + databaseMHS[i].total + "</td>" +
                     "</tr>";
                  }
         spasi += "</table>";
        document.getElementById("hasil").innerHTML = spasi;
       }

     function hitung()
      {
          for (i=0; i<databaseMHS.length; i++)
       {
          if (databaseMHS[i].npm == document.getElementById("npm").value)
         {
              databaseMHS[i].absen = document.getElementById("absen").value;
              databaseMHS[i].tugas = document.getElementById("tugas").value;
              databaseMHS[i].uts = document.getElementById("uts").value;
              databaseMHS[i].uas = document.getElementById("uas").value;
              n_absen = (databaseMHS[i].absen * 0.1);
              n_tugas = (databaseMHS[i].tugas * 0.2);
              n_uts   = (databaseMHS[i].uts * 0.3);
              n_uas   = (databaseMHS[i].uas * 0.4);
             databaseMHS[i].total = n_absen + n_tugas + n_uts + n_uas;

            break;
         }
      }
   document.getElementById("npm").value = "";
   document.getElementById("absen").value = "";
   document.getElementById("tugas").value = "";
   document.getElementById("uts").value = "";
   document.getElementById("uas").value = "";
   document.getElementById("npm").focus();

   tampilkan();
}
//-->
</script>
</head>

<body onload = "tambah(); tampilkan();">
`
<table border="0" bgcolor = 0FFDDF>

<tr><th align = right>NPM</th> <th>:</th>
<th align = left>
<input id="npm" type="text" size="15" maxlength="14">
</th>
</tr>

<tr><th align = right>Nilai Absen</th> <th>:</th>
<th align = left>
<input id="absen" type="text" size="4" maxlength="2">
</th>
</tr>

<tr><th align = right>Nilai Tugas</th> <th>:</th>
<th align = left>
<input id="tugas" type="text" size="4" maxlength="2">
</th>
</tr>

<tr><th align = right>Nilai UTS</th> <th>:</th>
<th align = left>
<input id="uts" type="text" size="4" maxlength="2">
</th>
</tr>

<tr><th align = right>Nilai UAS</th> <th>:</th>
<th align = left>
<input id="uas" type="text" size="4" maxlength="2">
</th>
</tr>

<tr>
<th align = center colspan=3>
<input type="button" value="Hitung Nilai" onclick="hitung()">
</th>
</tr>
</table>

<hr>
Data Kuliah Akhir Mahasiswa <br>
Mata Kuliah Struktur Data
<hr>

<table>
<tr><td colspan=5><div id="hasil">Area Hasil</div></td></tr>
</table>
<br>

</script>
</body>
</html>



<html>
<head>
<title>Latihan desain Formulir </title>
</head>
<body>
<script language=javascript>
  function aktif()
  {
    document.fnfAgvtiE.textnpm.disabled= false;

  }
</script>
<style type=text/css>
  table.fnf {border: 1px;}
</style>
<form name = fnfAgvtiE >
  <table class=fnf>
     <tr><td colspan = 3>Form Entri Data Mahasiswa</td></tr>
     <tr><td>NPM</td><td>:</td><td><input type = text name =textnpm size= 14 maxlength=14></td></tr>
     <tr><td>Nama</td><td>:</td><td><input type = text name =textnama size= 34 maxlength=44></td></tr>
     <tr><td>Prodi</td><td>:</td>
        <td><select name=comboprodi onChange='javascript:btnaktif.disabled=false; '>
         <option value=TI selected>Teknik Informatika</option>
         <option value=SI >Sistem Informasi</option>
         <option value=KA >Komputerisasi Akuntansi</option>
         <option value=TK >Teknik Komputer</option>
         <option value=MI >Manajemen Informatika</option>
         </select>
         </td></tr>
    <tr><td colspan=3 align=left>
<input type=button  value=Aktif name=btnaktif onmouseover= 'javascript: textnpm.disabled=false; textnpm.size=50; textnama.disabled=false;'>
<input type=button  value=NonAktif name=btnnonaktif onmouseover= 'javascript: textnpm.disabled=true; textnpm.size=14; textnama.disabled=true;'> </td></tr>
  </table>
</form>
</body>
</html>





<HTML>

<HEAD>

<TITLE> Belajar Array </TITLE>

</HEAD>

<BODY>

<SCRIPT LANGUAGE = "JavaScript">

<!--

alert (" Program Input Nama Hari ");

var hari = new Array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

{

var x = prompt ("Input angka hari = \n masukan angka antara 1 s/d 7 !!");

document.write ("Nama Hari Yang Anda Minta adalah : Hari " );

document.write(hari[x] + "<BR>");

}

alert ("Selamat Belajar Array");

alert ("Semoga Memperoleh Ilmu Yang bermanfaat");

//-->

</SCRIPT>

</BODY>

</HTML>






 <HTML>
<HEAD>
<TITLE>Tipe Bilangan</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "JavaScript">
<!--
var a=15;
b=14;

tambah = a + b;
kali = a * b;

document.write("Penambahan (" +a+ " + " +b+ ") = " + tambah);
document.write("<BR>");
document.write("Perkalian (" +a+ " x " +b+ ") = " + kali);
document.write("<BR>");

//-->
</SCRIPT>
</BODY>
</HTML>
 


<HTML>
<HEAD>
<TITLE>Belajar Array</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "JavaScript">
<!--
    var DATA_KU = new Array ("Saya","Sedang","Senang");

    for (i=0; i<3; i++)
    {
        document.write(DATA_KU[i] +"<br>");
    }
   
    alert ("Selamat Belajar Struktur Data");
    alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");

//-->
</SCRIPT>
</BODY>
</HTML>


<HEAD>
<TITLE>Belajar Array</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "JavaScript">
<!--
    var DATA_KU = new Array ("Saya","Sedang","Senang","Senang");

    for (i=0; i<4; i++)
    {
        document.write(DATA_KU[i] +"<br>");
    }
   
    alert ("Selamat Belajar Struktur Data");
    alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");

//-->
</SCRIPT>
</BODY>
</HTML>


<HTML>
<HEAD>
<TITLE>Belajar Array</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "JavaScript">
<!--
    var DATA_KU = new Array ("Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu");

    for (i=0; i<7; i++)
    {
        document.write(DATA_KU[i] +"<br>");
    }
   
    alert ("Selamat Belajar Struktur Data");
    alert ("Semoga Memperoleh Ilmu Yang Bermanfaat");

//-->
</SCRIPT>
</BODY>
</HTML>



<HTML>
<HEAD>
<TITLE>Tipe Bilangan</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "JavaScript">
<!--
var a=15;
b=14;

tambah = a + b;
kali = a * b;

document.write("Penambahan (" +a+ " + " +b+ ") = " + tambah);
document.write("<BR>");
document.write("Perkalian (" +a+ " x " +b+ ") = " + kali);
document.write("<BR>");

//-->
</SCRIPT>
</BODY>
</HTML>



<html>
<head>
<title>Konversi Antar Sistem Bilangan</title>
</head>
<body>
<script language = "Javascript">
<!--
var bil = new Number (25);
document.write("Bilangan Desimal : "+bil+ "<BR>");
document.write("<HR>");

document.write("Biner : "+bil.toString(2) + "<BR>");
document.write("Oktal : "+bil.toString(8) + "<BR>");
document.write("Heksa : "+bil.toString(16) + "<BR>");

//-->
</script>
</body>
</html>



<html>
<head>
<title>Membuat Fungsi Matematika Dengan JavaScript</title>
</head>
<body>
<script language = "Javascript">
<!--
function jumlah (x,y) {
var hasil = x + y;

return (hasil);
}
var a = parseInt(prompt("Ketikan Bilangan A = \n Ingat Jangan String"));
var b = parseInt(prompt("Ketikan Bilangan B = \n Ingat Jangan String"));
var z = jumlah(a,b);

document.write(z);
document.write("<BR>");
document.write("<hr>");
document.write("Tipe Datanya adalah = " + typeof(z));

//-->
</script>
</body>
</html>


<em>Ampersands & angle brackets need to be encoded.</em><html>
<head>
<title>Mencari persamaan kuadrat</title>
</head>
<body>
<script language="JavaScript">
<!--
function akar(a,b,c)
{
var d = (b*b)-(4*a*c);
return(d);
}

var a=parseFloat(prompt("Menghitung akar persamaan kuadrat \n masukan nilai A=\n"));
var b=parseFloat(prompt("Menghitung akar persamaan kuadrat \n masukan nilai B=\n"));
var c=parseFloat(prompt("Menghitung akat persamaan kuadrat \n masukan nilai C=\n"));

var z=akar(a,b,c);
document.write("Nilai akar kuadrat =" +z+"<BR>");
document.write("<BR>");
document.write("<HR>");

if (z>0)
{
var x1= (-b - Math.sqrt(z))/(2*a);
var x2= (-b + Math.sqrt(z))/(2*a);

document.write("Nilai x1=" +x1+ "<BR>");
document.write("Nilai x1=" +x2+ "<BR>");
document.write("<BR>");
document.write("<HR>");
alert("anda telah berhasil selamat");
} else

if (z==0)
{
document.write("tidak ada akar real");
alert("anda belum berhasil coba lagi");
}
if (z<0)

{
document.write("tidak ada akar real");
alert("anda belum berhasil coba lagi");
}

//-->
</script>
</body>
</html>



TUGAS 1 (BESARAN FISIKA)

1). Apakah yang dimaksud dengan besaran, besaran pokok, dan besaran turunan? Berilah masing-masing tiga contoh besaran pokok dan turunan yang Anda temukan dalam kehidupan sehari-hari, beserta satuannya!

Jawab :
* Besaran :Besaran merupakan segala sesuatu yang dapat diukur dan dinyatakan dengan angka,
    contoh : panjamg tali,panjang lemari dll.
* Besaran Pokok adalah besaran yang satuannya telah ditetapkan terlebih dahulu dan tidak diturunkan   dari besaran lain
   contoh: Panjang, Massa, Waktu, Suhu, Kuat Arus, Jumlah molekul, Intensitas Cahaya.
* Besaran turunan adalah besaran yang satuannya diturunkan dari besaran pokok atau besaran yang didapat dari penggabungan besaran-besaran pokok.
  contoh: Kecepatan, Percepatan, Massa Jenis, Berat jenis, Gaya, Usaha, Daya

2). Lengkapilah tabel konversi berbagai satuan di bawah ini:

a. 1,5 km = ................ m.
b. 1 liter = ................ cc
c. 2.000 kg/m^3 = ................ gram/cm^3
d. 20 inchi = ................ cm
e. 36 km/jam = ................ m/s
f. 10 m^2 = ............... cm^2

Jawab :
a). 1,5 km = 1,5 x 1000 m
                = 1500 m
b). 1 liter = 1000 cm^3
              = 1000 cc
c). 2.000 kg/m^3 = 2000 x 103/106 grm/cm^3
                           = 2000 x 10-3 grm/cm^3
                           = 2 grm/cm^3
d). 20 inchi = 20 x 2,54 cm
                 = 50,8 cm
e). 36 km/jam = 36 x 1000/3600 m/s
                     = 10 m/s
f). 10 m^2 = 10 x 104
              = 100.000 cm^2



Tugas Bab 2 (VEKTOR)

Tugas bab 2:
1). Sebuah benda bergerak seperti berikut ini:
a. 45 derajat arah utara
b. 90 derajat arah Timur
c. 90 derajat arah barat dan
d. 45 derajat arah barat,
Gambar Vektor pergerakan dari benda tsb, dan jumlahkan secara geometri



2). Sebuah materi bergerak dari titik a ke b, jika koordinat titik a = 3i + 3j – 3k dan b = 2i + j + 3k, tentukan koordinat perpindahan dan Besar vektor perpindahan materi tersebut.
 JAWAB:
  a = 3i + 3j – 3k  , b = 2i + j + 3k
     = (3,-1)                = (2,1)
besar vektor (-1,2) = -2i + j + k

3). Dua buah vektor diberikan sebagai :
         a = 4i - 3j + k dan b = -i + j+ 4k
Tentukan :
a. a + b
b. a – b
c. Vektor c agar a – b + c = 0

Jawab :
a) a + b = (4i – 3j + k) + (-i + j + 4k)
             =(4i+(-i))(-3j+j)(k+4k)
             = 3i – 2j + 5k

b) a – b = (4i – 3j + k) – (-i + j + 4k
             = 5i – 4j – 3k

c)(a – b) + c = 0
                 c = 0 (a – b)
                 c = 0 – (5i – 4j – 3k)
                 c = -5i + 4j + 3k

4). Dik: a = 3i + 3j – 3k dan b = 2i + j + 3k

      Dit:  sudut antara 2 vektor dengan menggunakan perkalian skalar
              a . b= ab cos θ.

Jawab :
A.B=AB Cos θ
<=>(3i+3j-3k)(2i+j+3k) Cos θ
<=>6+3-9 Cos θ
<=>0 Cos θ
Cos θ = 0 (90 derajat)

5). Diberikan 3 buah vektor :
Dik:
a = 3i + 3j – 2k
b = -i – 4j + 2k
c = 2i + 2j + k
Dit: Tentukan :  a.(b x c)

Jawab :

<=> a . (b x c) = (3i + 3j – 2k) . [(-i – 4j + 2k) x (2i + 2j + k)]
<=> (3i + 3j – 2k) . (8i – 5j + 6k)
<=> 24 – 15 – 12
<=> -3



tugas Bab 3

1). Dik: fungsi x(t) = 5t3  Dit : tentukan kecepatan sesaat pada saat t = 2 s .
JAWAB :
Fungsi kecepatan:
v(t) = 3.5 t3-1
      = 15t2
Kecepatan pada t = 2 second.
v(2) = 15(2).2
       = 60 m/s

2).Persamaan gerak suatu partikel dinyatakan oleh fungsi x = (1/10)t2 dimana x dalam m dan t dalam s.
a. Hitung kecepatan rata-rata dalam selang t = 3 s sampai t = 4 s
b. Hitung kecepatan sesaat pada t = 5 s
c. Hitung percepatan rata-rata dalam selang t = 3 s sampai t = 4 s
d. Hitung percepatan sesaat pada t = 5 s


JAWAB :
a. Kecepatan rata-rata dari t = 3 s sampai t = 4 s :
x = (1/10)t2
V = Δ x
Δ t = (1/10)(4)2 - (1/10)(3)2
               ------------------
                     (4-3)
= 1,6 - 0,9
= 0,7 m/s

b. Kecepatan sesaat pada t=5:
v(t) = 2(1/10)t2-1
      = (1/5)t
v(5) = (1/5).5
       = 1 m/s

c. Percepatan rata-rata dari t = 3 s sampai t = 4 s.
V = Δ v
Δ t
= (1/5).4 - (1/5).3
(4-3)
= 0,8 - 0,6
1
= 0,2 m/s2

d. Percepatan sesaat pada t=5:
a(t) = 1/5t1-1
      = 1/5
a(5) = 1/5 m/s2


3.Posisi sebuah bola yang dipukul vertikal ke atas dinyatakan oleh persamaan y = 7t-5t2 dengan y dalam m dan t dalam s. Tentukan :
a. Kelajuan awal bola
b. Kecepatan pada saat t = 0,5 s
c. Ketinggian maksimum yang dicapai bola
JAWAB :
a. Kelajuan awal bola:
v(t) = 1.7.t1-1 – 2.5.t2-1
      = 7 – 10t
v(0) = 7 – 10(0)
       = 7 – 0
       = 7 m/s

b. Kecepatan pada saat t = 0,5 s
v(t) = 7 – 10t
v(0,5) = 7 – 10(0,5)
          = 7 – 5
          = 2 m/s

c. Ketinggian maksimum bola:
Dari persamaan y = 7t-5t2 diketahui :
Vo = 7

V2 = Vo2 – 2gh
   0 = 72 – 2.10.h
   0 = 49 – 20h
20h = 49
    h = 49/20
       = 2,45 meter

4.Sebuah batu bata jatuh bebas dari atap sebuah gedung tinggi. Setelah 3 s batu menyentuh tanah. Tentukan :
a. Berapa kecepatannya pada saat menyentuh tanah?
b. Berapa tinggi gedung itu?
JAWAB :
a. Kecepatan saat menyentuh tanah:
V = Vo – gt
    = 0 – 10.3
    = - 30 m/s

b. Tinggi gedung:
h = -Vo.t – ½ gt2
   = -0 – ½.10.(3)2
   = - 45 meter

5.Seorang anak melempar batu ke dalam sumur dengan kecepatan awal 3 m/s. anak itu mendengar bunyi batu mengenai dasar sumur setelah 2 sekon. Tentukan :
a. Kecepatan batu saat mengenai dasar sumur
b. Kedalaman sumur (g=9,8 m/s2)?
JAWAB :
a. Kecepatan batu saat mengenai dasar sumur:
V = -Vo – gt
    = -3 – 10.2
    = -3 - 20
    = -23 m/s

b. Kedalaman sumur:
h = -Vo.t – ½.gt2
   = -3.2 – ½.9,8.(2)2
   = -6 – 19,6
   = -25,6 meter

6.Sebuah batu dilempar vertikal ke atas dengan kelajuan 20 m/s. Ambil g = 10 m/s2. Tentukan :
a. Tinggi maksimum yang dicapai batu
b. Lama batu di udara
c. Selang waktu batu mencapai ketinggian 15 m di atas tempat pelemparan
JAWAB :
a. Tinggi maksimum:
V2 = Vo2 – 2.g.hmaks
02 = 202 – 2.10.hmaks
  0 = 400 – 20hmaks
20hmaks = 400
    hmaks = 400
                  ------
                    20
    hmaks = 20 m

b. Lama batu di udara:
V = Vo – g.tnaik
0 = 20 – 10.tnaik
0 = 20 – 10.tnaik
10.tnaik = 20
     tnaik = 2

hmaks = Vo.t turun – ½.g.(t turun)2
      20 = 0 – ½.10.(t turun)2
      20 = - 5(t turun)2
(t turun)2 = 20/5
              = 4
t turun = √4
t turun = 2

t naik + t turun = 2 + 2 = 4 detik.

c. Selang waktu batu mencapai ketinggian 15 m di atas tempat pelemparan
y = Vo.t – ½.g.t2
15 = 20.t – ½.10.t
15 = 20t – 5t2
5t2 – 20t + 15 = 0
t = -b + √b2 – 4ac
       -----------------
              2a
= -(-20) + √(-20)2 – 4.5.15
        -------------------------
                   2.5
= 20 + √400 – 300
       ---------------
             10

= 20 + √100
      ---------
         10

= 20 + 10
    ---------
       10

t1= 30/10
   = 3
Jadi besar waktu awal adalah 3 s

maka besar t2 = 20 - 10
                            --------
                               10
                      = 10/10
                      = 1 s

Mengenai Saya

Tv Oline

 

     
   
 
Silahkan Pilih Chanel Kesayangan Anda..!!
 
       
     

 

Tv Oline

 

     
   
 
Silahkan Pilih Chanel Kesayangan Anda..!!
 
       
     

 

Total Tayangan Halaman


Followers

Sample Widget