Rabu, 04 April 2012

Ringkasan Sistem Operasi

Bagian 1 Konsep Dasar Perangkat Komputer 

Bab 1 Definisi Sistem Operasi
Sistem operasi didefinisikan sebagai sebuah program yang mengatur perangkat keras komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara para pengguna dengan perangkat keras. Sistem operasi bertugas untuk mengendalikan (kontrol) serta mengkoordinasikan pengunaan perangkat keras untuk berbagai program aplikasi untuk bermacam-macam pengguna. Dengan demikian, sebuah sistem operasi bukan merupakan bagian dari perangkat keras komputer, dan juga bukan merupakan bagian dari perangkat lunak aplikasi komputer, apalagi tentunya bukan merupakan bagian dari para pengguna komputer.

Bab 2 Perangkat Lunak Bebas
Arti bebas yang salah, telah menimbulkan persepsi masyarakat bahwa perangkat lunak bebas merupakan perangkat lunak yang gratis. Perangkat lunak bebas ialah perihal kebebasan, bukan harga. Konsep kebebasan yang dapat diambil dari kata bebas pada perangkat lunak bebas adalah seperti kebebasan berbicara bukan seperti bir gratis. Maksud dari bebas seperti kebebasan berbicara adalah kebebasan untuk menggunakan, menyalin, menyebarluaskan, mempelajari, mengubah, dan meningkatkan kinerja perangkat lunak. Suatu perangkat lunak dapat dimasukkan dalam kategori perangkat lunak bebas bila setiap orang memiliki kebebasan tersebut. Hal ini berarti, setiap pengguna perangkat lunak bebas dapat meminjamkan perangkat lunak yang dimilikinya kepada orang lain untuk dipergunakan tanpa perlu melanggar hukum dan disebut pembajak. Kebebasan yang diberikan perangkat lunak bebas dijamin oleh copyleft, suatu cara yang dijamin oleh hukum untuk melindungi kebebasan para pengguna perangkat lunak bebas. Dengan adanya copyleft maka suatu perangkat lunak bebas beserta hasil perubahan dari kode sumbernya akan selalu menjadi perangkat lunak bebas.
Kebebasan yang diberikan melalui perlindungan copyleft inilah yang membuat suatu program dapat menjadi perangkat lunak bebas. Keuntungan yang diperoleh dari penggunaan perangkat lunak bebas adalah karena serbaguna dan efektif dalam keanekaragaman jenis aplikasi. Dengan pemberian source code-nya, perangkat lunak bebas dapat disesuaikan secara khusus untuk kebutuhan pemakai. Sesuatu yang tidak mudah untuk terselesaikan dengan perangkat lunak berpemilik. Selain itu, perangkat lunak bebas didukung oleh milis-milis pengguna yang dapat menjawab pertanyaan yang timbul karena permasalahan pada penggunaan perangkat lunak bebas.

Bab 3 Perangkat Keras Komputer
Memori utama adalah satu-satunya tempat penyimpanan yang besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya sendiri. Memori utama adalah tempat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya (energi listrik) dimatikan. Kebanyakan sistem komputer menyediakan secondary storage sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah dapat menyimpan data dalam jumlah besar secara permanen.
Secondary storage yang paling umum adalah disk magnetik, yang meyediakan penyimpanan untuk program maupun data. Disk magnetik adalah alat penyimpanan data yang non-volatile yang juga menyediakan akses secara random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem ke sistem yang lain.
Beragam sistem penyimpanan dalam sistem komputer dapat disusun dalam hirarki berdasarkan kecepatan dan biayanya. Tingkat yang paling atas adalah yang paling mahal, tapi cepat. Semakin kebawah, biaya perbit menurun, sedangkan waktu aksesnya semakin bertambah (semakin lambat).

Bab 4 Proteksi Perangkat Keras
Sistem operasi harus memastikan operasi yang benar dari sistem komputer. Untuk mencegah pengguna program mengganggu operasi yang berjalan dalam sistem, perangkat keras mempunyai dua mode: mode pengguna dan mode monitor. Beberapa perintah (seperti perintah M/K dan perintah halt) adalah perintah khusus, dan hanya dapat dijalankan dalam mode monitor. Memori juga harus dilindungi dari modifikasi oleh pengguna. Timer mencegah terjadinya pengulangan secara terus menerus (infinite loop). Hal-hal tersebut (dual mode, perintah khusus, pengaman memori, timer interrupt) adalah blok bangunan dasar yang digunakan oleh sistem operasi untuk mencapai operasi yang sesuai.

Bagian II Konsep Dasar Sistem Operasi

Bab 5 Komponen Sistem Operasi
Tidak semua sistem operasi mempunyai struktur yang sama. Namun menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
• Managemen Proses.
• Managemen Memori Utama.
• Managemen Berkas.
• Managemen Sistem Masukan/Keluaran.
• Managemen Penyimpanan Sekunder.
• Sistem Proteksi.
• Jaringan.
• Command-Interpreter System.

Sedangkan menurut A.S. Tanenbaum, sistem operasi mempunyai empat komponen utama, yaitu:
• Managemen proses,
• Masukan/Keluaran
• Managemen Memori, dan
• Sistem Berkas.

Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Membuat dan menghapus proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.

Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti:
• Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.

Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary-storage.
• Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).

Komponen Sistem Operasi untuk sistem Masukan/Keluaran:
• Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
• Spooling: melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras masukan/keluaran tertentu.

Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen disk
seperti:
• free-space management.
• alokasi penyimpanan.
• penjadualan disk.

Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
• Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
• Menspesifikasi kontrol untuk dibebankan/diberi tugas.
• Menyediakan alat untuk pemberlakuan sistem.

Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.

Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements yang disebut: control-card interpreter, command-line interpreter dan dikenal sebagai shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada.

Bab 6 Sudut Pandang Alternatif
Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.
1. Pembuatan Program
2. Eksekusi Program
3. Operasi Masukan/Keluaran
4. Manipulasi Sistem Berkas
5. Komunikasi
6. Deteksi Error
Sistem operasi juga menyediakan layanan lain untuk mempertahankan efisiensi sistem itu sendiri yaitu:
1. Alokasi Sumber Daya
2. Accounting
3. Proteksi

System program menyediakan lingkungan yang memungkinkan pengembangan program dan eksekusi berjalan dengan baik.
Dapat dikategorikan:
• Managemen/manipulasi berkas
Membuat, menghapus, copy, rename, print, memanipulasi berkas dan direktori.
• Informasi status
Beberapa program meminta informasi tentang tanggal, jam, jumlah memori dan disk yang tersedia, jumlah pengguna dan informasi lain yang sejenis.
• Modifikasi berkas
Membuat berkas dan memodifikasi isi berkas yang disimpan pada disk atau tape.
• Pendukung bahasa pemrograman
Kadang kala compiler, assembler, interpreter dari bahasa pemrograman diberikan kepada pengguna dengan bantuan sistem operasi.
• Loading dan eksekusi program
Ketika program di-assembly atau di-compile, program tersebut harus di-load ke dalam memori untuk dieksekusi. Untuk itu sistem harus menyediakan absolute loaders, relocatable loaders, linkage editors, dan overlay loaders.
• Komunikasi
Menyediakan mekanisme komunikasi antara proses, pengguna, dan sistem komputer yang berbeda. Sehingga pengguna bisa mengirim pesan, browse web pages, mengirim e-mail, atau mentransfer berkas.

Bab 7 Struktur Sistem Operasi
Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, ada tiga cara sistem operasi yaitu:
 
  • Struktur Sederhana
Banyak sistem yang tidak terstruktur dengan baik, sehingga sistem operasi seperti ini dimulai
dengan sistem yang lebih kecil, sederhana, dan terbatas. Kemudian berkembang dengan cakupan
yang original.

  • Pendekatan Berlapis
Sedangkan menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:
• Lapisan 0
Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis. Lapisan ini mendukung dasar multi-programming pada CPU.
• Lapisan 1
Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.
• Lapisan 2
Menangani komunikasi antara masing-masing proses dan operator console. Pada lapis ini masing-masing proses secara efektif memiliki opertor console sendiri.
• Lapisan 3
Mengatur peranti M/K dan menampung informasi yang mengalir dari dan ke proses tersebut.
• Lapisan 4
Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori, console, atau managemen M/K.
• Lapisan 5
Merupakan operator sistem.

  • Kernel Mikro
Metode ini menyusun sistem operasi dengan menghapus semua komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai program sistem dan level pengguna. Hasilnya kernel yang lebih kecil. Pada umumnya mikrokernel mendukung proses dan menagemen memori yang minimal, sebagai tambahan utnuk fasilitas komunikasi.
 
Bab 8 Mesin Virtual Java
Sistem komputer dibangun atas lapisan-lapisan. Urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut:
• Perangkat keras
• Kernel
• Sistem program

Kelemahan atau kesulitan utama dari konsep VM adalah dalam hal sistem penyimpanan dan pengimplementasian.Dan keunggulannya dalam hal hal keamanan, VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian resources secara langsung, sehingga tidak ada masalah proteksi dalam VM.

Bagian III Proses dan Penjadualan
Bab 10 Konsep Proses
Secara tidak langsung, proses merupakan program yang sedang dieksekusi. Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section. Proses juga mencakup program counter, yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi seperti parameter metoda, alamat return dan variabel lokal, dan sebuah data section yang menyimpan variabel global.
Sama halnya dengan Silberschatz, Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variabel di dalamnya. Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.

Sebuah proses dibuat melalui system call create-process yang dilakukan oleh parent process. Setiap proses anakan (child process) dapat juga membuat proses baru. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh resource (waktu CPU, memory, berkas atau perangkat I/O) secara langsung dari sistem operasi atau proses tersebut berbagi resource dengan resource orang tuanya. Orang tua proses tersebut dapat membagi-bagi resource yang dimilikinya atau menggunakan secara bersama- sama resource yang dimilikinya dengan proses anakannya.
Ketika sebuah proses membuat proses baru maka terdapat dua kemungkinan dalam pelaksanaannya:
1. parent process tersebut berjalan secara konkuren dengan child process.
2. parent process tersebut menunggu hingga beberapa atau seluruh child process selesai.
Juga terdapat dua kemungkinan dalam pemberian ruang alamat (address space) proses yang baru:
1. proses tersebut merupakan duplikasi parent.
2. proses tersebut memiliki program yang diload ke ruang alamatnya.

Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi statement terakhir dan meminta sistem operasi untuk menghapus statement tsb dengan menggunakan system call exit. Pada
saat itu, proses dapat mengembalikan data (output) kepada proses parent-nya (melalui system call
wait). Semua resource yang digunakan oleh proses akan dialokasikan kembali ke tempat asalnya
oleh sistem operasi.
Suatu parent dapat mengakhiri eksekusi salah satu children-nya untuk alasan-alasan seperti:
• Child melampaui penggunaan resource yang telah dialokasikan. Dalam keadaan ini, parent perlu mempunyai mekanisme untuk memeriksa status children-nya.
• Task yang ditugaskan kepada child tidak lagi diperlukan.
• Parent berakhir dan sistem operasi tidak memperbolehkan suatu child untuk tetap menjalankan proses jika parent-nya sudah tidak ada. Jadi, jika suatu proses berakhir, maka semua children-nya juga harus diterminasi. Fenomena yang disebut cascading termination ini biasanya dimulai oleh sistem operasi.

Bila sebuah proses dieksekusi, maka statusnya akan berubah-ubah. Status dari sebuah proses mencerminkan aktivitas atau keadaan dari proses itu sendiri. Berikut ini adalah status-status yang mungkin dimiliki sebuah proses menurut Tanenbaum:
• Running: pada saat menggunakan CPU pada suatu waktu.
• Ready: proses diberhentikan sementara karena menunggu proses lain untuk dieksekusi.
• Blocked: tidak dijalankan sampai event dari luar, yang berhubungan dengan proses tersebut terjadi.
Sedangkan menurut Silberschatz, terdapat lima macam jenis status yang mungkin dimiliki oleh suatu proses:
• New: status yang dimiliki pada saat proses baru saja dibuat.
• Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
• Waiting: status yang dimiliki pada saat proses menunggu suatu event (contohnya: proses M/K).
• Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor.
• Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.
Ada tiga kemungkinan bila sebuah proses memiliki status running:
• Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.
• Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
• Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
• Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
• Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
• CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
• Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
• Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
• Informasi status M/K: Informasi termasuk daftar dari perangkat M/K yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
• PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Bab 13 Konsep Penjadualan
Sebuah proses, ketika sedang tidak dieksekusi, ditempatkan pada antrian yang sama. Disini ada dua kelas besar dari antrian dalam sebuah sistem operasi: permintaan antrian M/K dan ready queue. Ready queue memuat semua proses yang siap untuk dieksekusi dan yang sedang menunggu untuk dijalankan pada CPU. PCB dapat digunakan untuk mencatat sebuah ready queue. Penjadualan Long-term adalah pilihan dari proses-proses untuk diberi izin menjalankan CPU. Normalnya, penjadualan long-term memiliki pengaruh yang sangat besar bagi penempatan sumber daya, terutama managemen memori. Penjadualan short-term adalah pilihan dari satu proses dari ready queue.

Bab 14 Penjadualan CPU
1. Siklus Burst CPU-M/K
Keberhasilan dari penjadualan CPU tergantung dari beberapa properti prosesor. Pengeksekusian dari
proses tersebut terdiri atas siklus CPU ekskusi dan M/K Wait. Proses hanya akan bolak-balik dari
dua state ini. Pengeksekusian proses dimulai dengan CPU Burst, setelah itu diikuti oleh M/K burst,
kemudian CPU Burst lagi lalu M/K Burst lagi begitu seterusnya dan dilakukan secara bergiliran.
Dan, CPU Burst terakhir, akan berakhir dengan permintaan sistem untuk mengakhiri
pengeksekusian daripada melalui M/K Burst lagi.

2. Penjadualan Preemptive
Penjadualan CPU mungkin akan dijalankan ketika proses:
1. Berubah dari running ke waiting state
2. Berubah dari running ke ready state
3. Berubah dari waiting ke ready
4. Terminates

3. Penjadualan Non-Preemptive
Penjadualan non-preemptive terjadi ketika proses hanya:
1. berjalan dari running state sampai waiting state
2. dihentikan
Ini berarti cpu menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diinterupt). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk menginterupt pada metode penjadwalan preemptive)

4. Dispatcher
Komponen yang lain yang terlibat dalam penjadualan CPU adalan dispatcher. Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang fungsinya adalah:
1. Switching context
2. Switching to user mode
3. Lompat dari suatu bagian di progam user untuk mengulang progam.

Bab 15 Algoritma Penjadualan 
1. First-Come, First-Served
Algoritma ini merupakan algoritma yang paling sederhana. Dari namanya, kita dapat menebak kalau algoritma ini akan mendahulukan proses yang lebih dulu datang. Jadi proses akan mengantri sesuai waktu kedatangannya.

2. Shortest-Job First
Algoritma ini mempunyai cara yang berbeda untuk mengatur antrian di ready queue. Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst).

3. Priority
Algoritma ini mendahulukan prioritas terbesar. Kelemahannya, prioritas kecil tidak mendapat jatah CPU. Hal ini dapat diatasi dengan aging,yaitu semakin lama menunggu,prioritas semakin tinggi.

4. Round Robin
Algoritma ini menggilir proses-proses yang ada diantrian dengan jatah time quantum yang sama. Jika waktu habis,CPU dialokasikan keproses selanjutnya.

5. Multilevel Queue
Algoritma ini membagi beberapa antrian yang akan diberi prioritas berdasarkan tingkatan. Tingkatan lebih tinggi menjadi prioritas utama.

6. Multilevel Feedback Queue
Pada dasarnya sama dengan Multilevel Queue,bedanya pada algoritma ini diizinkan untuk pindah antrian.
Algoritma ini didefinisikan melalui beberapa parameter, antara lain:
• Jumlah antrian
• Algoritma penjadualan tiap antrian
• Kapan menaikkan proses ke antrian yang lebih tinggi
• Kapan menurunkan proses ke antrian yang lebih rendah
• Antrian mana yang akan dimasuki proses yang membutuhkan

Minggu, 01 April 2012

Praktikum 2.1 Variabel

Variabel dapat kita artikan sebagai sebuah wadah untuk menyimpan sesuatu. Dalam bahasa pemrograman wadah ini kita gunakan untuk menyimpan sebuah nilai pada suatu waktu tertentu, artinya sebuah variabel hanya dapat menyimpan satu nilai saja dalam satu waktu.
Secara tidak sengaja kita sudah menggunakan variabel pada modul 1, seperti $nama_belakang, $nama_depan, dan $harga. Dari semua contoh variabel tersebut kita dapat mengambil kesimpulan bahwa penamaan variabel dalam pemrograman PHP harus selalu dimulai dengan tanda dollar ($). Untuk aturan penamaan lainnya akan kita lihat pada praktikum.
Sebuah variabel terdiri dari bagian nama variabel dan nilai dari variabel itu. Karena hampir semua bahasa pemrograman menggunakan variabel secara rutin, alangkah baiknya jika kita memberi nama variabel dengan sesuatu yang mudah diingat dan dimengerti.

A. Penamaan Variabel
Ketik kode berikut menggunakan text editor lalu simpan dengan nama variabel-1.php pada root direktori web server

<html>
<head>
            <title>Praktikum 2.1 Variabel </title>
</head>

<body>
            <?php
                      $nim   = "..........";     //tulis nim
                      $nama = "..........";    //tulis nama

                      echo "<h1 align='center'>Praktikum 2.1 Variabel </h1>";
                      echo "<b>nama : </b>$nama";
                      echo "<b>NIM : </b>$nim";
            ?>
</body>
</html>

Outputnya seperti ini :
B. Penamaan Variabel II
Kode diatas di ubah sehingga outputnya seperti ini :
Seperti inilah codingnya :

<html>
<head>
            <title>Praktikum 2.1 Variabel </title>
</head>

<body>
            <?php
                      $nim   = "1008107020004";     //tulis nim
                      $nama = "Ghassan Mochammad";    //tulis nama

                      echo "<h1 align='center'>Praktikum 2.1 Variabel </h1>";
                      echo "<b>nama : </b>$nama<br>";
                      echo "<b>NIM : </b>$nim";
            ?>
</body>
</html>