Jumat, 23 Mei 2025

Menulis Karya Ilmiah – Berperan dalam Konservasi Alam Indonesia

 

PETUNJUK MEMBUAT KARYA ILMIAH

Mata Pelajaran: Bahasa Indonesia 
Kelas: XI SMK
Materi: Menulis Karya Ilmiah – Berperan dalam Konservasi Alam Indonesia
Waktu Pelaksanaan: 2–3 JP (±120 menit)
Skor Maksimal: 100


A. Tujuan Ujian Praktik

Mengukur kemampuan murid dalam:

  • Mengidentifikasi permasalahan lingkungan sekitar.

  • Merumuskan gagasan dan solusi konservasi alam secara ilmiah.

  • Menyusun karya ilmiah sesuai struktur yang benar.

  • Menulis dengan bahasa baku dan logis berdasarkan fakta atau data sederhana.


B. Petunjuk Umum

  1. Menulis Karya Ilmiah dilakukan secara kelompok kecil (maks. 6 orang).

  2. Setiap kelompok membuat satu karya ilmiah dalam sebnayk 6-12 halaman

  3. Karya ilmiah harus ditulis dengan bahasa baku, sistematis, dan orisinal.

  4. Murid boleh mengakses informasi dari internet, buku, artikel berita, atau observasi langsung (dengan mencantumkan sumber).

  5. Setelah selesai,karya ilmiah dibuatkan hardcopy/dicetak

  6. Kumpulkan karya ilmiah pada waktu yang telah ditentukan.


C. Tema Utama

“Berperan dalam Konservasi Alam Indonesia Lewat Karya Ilmiah”

Murid dapat memilih subtopik berikut sebagai fokus penulisan:

  • Pengelolaan sampah berbasis sekolah atau komunitas.

  • Reboisasi atau penghijauan di lingkungan sekolah.

  • Pelestarian sumber daya air.

  • Kampanye hemat energi atau listrik.

  • Edukasi terhadap masyarakat tentang perubahan iklim.

  • Inovasi ramah lingkungan untuk anak muda.


D. Struktur Karya Ilmiah yang Wajib Disusun

  1. Judul

  2. Pendahuluan

    • Latar belakang

    • Rumusan masalah

    • Tujuan penulisan

  3. Pembahasan

    • Data/temuan lapangan atau pustaka

    • Analisis permasalahan

    • Solusi atau gagasan konservasi

  4. Penutup

    • Kesimpulan

    • Saran

  5. Daftar Pustaka (minimal 2 sumber)


E. Kriteria Penilaian (Rubrik Ringkas)

Aspek PenilaianSkor Maksimal
Struktur dan sistematika20
Ketepatan dan relevansi isi25
Bahasa (baku, logis, ejaan)15
Orisinalitas dan kreativitas gagasan20
Penggunaan data dan sumber yang benar10
Kerapian, format, dan teknis10
Total Skor100

F. Penutup

  • Murid yang terindikasi menjiplak karya dari internet secara penuh akan diberi nilai 0.

  • Guru/penguji dapat meminta presentasi singkat untuk klarifikasi karya ilmiah.

Kamis, 15 Mei 2025

Menulis karya ilmiah dengan tema "Peran Flora dan Fauna dalam Konservasi Alam"

karya ilmiah dengan tema "Peran Flora dan Fauna dalam Konservasi Alam"

susunan sistematis karya ilmiah pada umumnya seperti dibawah ini:


PERAN FLORA DAN FAUNA DALAM KONSERVASI ALAM

BAB I – PENDAHULUAN

1.1 Latar Belakang

Alam merupakan sistem yang kompleks dan saling bergantung antara komponen biotik dan abiotik. Di dalamnya, flora (tumbuhan) dan fauna (hewan) memainkan peran vital dalam menjaga keseimbangan ekosistem. Namun, degradasi lingkungan akibat aktivitas manusia seperti deforestasi, perburuan liar, dan pencemaran telah mengancam kelangsungan hidup flora dan fauna. Oleh karena itu, upaya konservasi menjadi penting untuk mempertahankan keanekaragaman hayati dan kelestarian lingkungan. Karya ilmiah ini bertujuan untuk membahas peran penting flora dan fauna dalam mendukung konservasi alam secara berkelanjutan.

1.2 Rumusan Masalah

  • Apa peran flora dalam konservasi alam?

  • Apa peran fauna dalam konservasi alam?

  • Bagaimana keterkaitan flora dan fauna dalam menjaga keseimbangan ekosistem?

1.3 Tujuan Penulisan

  • Menjelaskan kontribusi flora dalam menjaga lingkungan.

  • Menjelaskan kontribusi fauna terhadap keberlangsungan ekosistem.

  • Menunjukkan hubungan saling ketergantungan antara flora dan fauna dalam konservasi.

1.4 Manfaat Penulisan

  • Meningkatkan kesadaran masyarakat akan pentingnya pelestarian flora dan fauna.

  • Memberikan wawasan ilmiah bagi pelajar dan mahasiswa mengenai pentingnya konservasi.


BAB II – TINJAUAN PUSTAKA

2.1 Konservasi Alam

Konservasi alam adalah usaha untuk menjaga dan melestarikan lingkungan alamiah serta keanekaragaman hayati yang ada di dalamnya (Soemarwoto, 2001). Prinsip konservasi adalah mempertahankan keseimbangan ekosistem demi keberlanjutan kehidupan semua makhluk hidup.

2.2 Flora dan Peranannya dalam Ekosistem

Flora menyediakan oksigen melalui proses fotosintesis, menyerap karbon dioksida, mengatur siklus air, dan menjadi tempat tinggal serta makanan bagi berbagai spesies fauna. Hutan hujan tropis, misalnya, berperan sebagai paru-paru dunia.

2.3 Fauna dan Peranannya dalam Ekosistem

Fauna membantu penyerbukan, penyebaran biji, pengendalian hama, serta menjaga keseimbangan rantai makanan. Misalnya, lebah sebagai agen penyerbuk, dan burung pemangsa yang mengontrol populasi hewan kecil.


BAB III – PEMBAHASAN

3.1 Peran Flora dalam Konservasi Alam

  1. Menjaga Kesuburan Tanah: Akar tumbuhan mencegah erosi dan menjaga struktur tanah.

  2. Pengatur Iklim: Hutan menyerap gas rumah kaca dan memengaruhi pola curah hujan.

  3. Penyedia Habitat: Tumbuhan menjadi tempat tinggal dan sumber makanan bagi banyak hewan.

  4. Pelindung Keanekaragaman Hayati: Kawasan hutan tropis menampung 80% spesies dunia.

3.2 Peran Fauna dalam Konservasi Alam

  1. Penyebar Benih dan Penyerbuk: Hewan seperti burung, kelelawar, dan serangga membantu regenerasi tanaman.

  2. Pengontrol Populasi: Predator menjaga populasi hewan lain agar tetap seimbang.

  3. Indikator Kesehatan Ekosistem: Keberadaan atau hilangnya spesies tertentu mencerminkan kualitas lingkungan.

  4. Pembentuk Lanskap: Herbivora besar seperti gajah membuka jalur hutan, menciptakan ekosistem baru.

3.3 Keterkaitan antara Flora dan Fauna dalam Ekosistem

Flora dan fauna memiliki hubungan simbiosis yang mendukung stabilitas ekosistem. Tanpa tumbuhan, banyak hewan tidak akan memiliki sumber makanan dan tempat berlindung. Sebaliknya, tanpa hewan, regenerasi tumbuhan terganggu karena penyerbukan dan penyebaran benih tidak berjalan efektif.


BAB IV – KESIMPULAN DAN SARAN

4.1 Kesimpulan

Flora dan fauna memainkan peran penting dalam konservasi alam melalui berbagai mekanisme alami yang menjaga keberlangsungan dan keseimbangan ekosistem. Mereka bukan hanya objek konservasi, melainkan juga agen aktif dalam menjaga stabilitas lingkungan.

4.2 Saran

  • Pemerintah dan masyarakat perlu meningkatkan kesadaran akan pentingnya pelestarian flora dan fauna melalui edukasi dan kampanye lingkungan.

  • Penegakan hukum terhadap pelaku perusakan lingkungan dan perdagangan ilegal spesies harus diperketat.

  • Generasi muda perlu didorong untuk terlibat aktif dalam kegiatan konservasi berbasis komunitas dan teknologi.


DAFTAR PUSTAKA

  • Soemarwoto, O. (2001). Ekologi, Lingkungan Hidup dan Pembangunan. Jakarta: Djambatan.

  • Primack, R. B. (2010). Essentials of Conservation Biology. Massachusetts: Sinauer Associates.

  • Sudarmadji, S. (2003). Pelestarian Keanekaragaman Hayati. Yogyakarta: UGM Press.

Senin, 21 April 2025

Penerapan Logika dan Algoritma dalam Game Berbasis Web

 

Apa itu HTML Canvas?

Elemen HTML <canvas>digunakan untuk menggambar grafik, dengan cepat, melalui skrip (biasanya JavaScript).

Elemen tersebut <canvas>hanyalah wadah untuk grafik. Anda harus menggunakan skrip untuk benar-benar menggambar grafik tersebut.

Canvas memiliki beberapa metode untuk menggambar jalur, kotak, lingkaran, teks, dan menambahkan gambar.


Kanvas HTML Dapat Menggambar Teks

Kanvas dapat menggambar teks berwarna, dengan atau tanpa animasi.


Kanvas HTML Dapat Menggambar Grafik

Canvas memiliki fitur hebat untuk presentasi data grafis dengan gambaran grafik dan bagan.

Contoh Kanvas

Dalam HTML, suatu <canvas>elemen terlihat seperti ini:

<canvas id="myCanvas" width="200" height="100"></canvas>

Atribut iddiperlukan (sehingga dapat dirujuk oleh JavaScript).

Atribut widthdan heightmenentukan ukuran kanvas.

Tips: Ukuran kanvas default adalah 300px (lebar) x 150px (tinggi).

Tip: Anda dapat memiliki beberapa <canvas>elemen pada satu halaman HTML.

Secara default, <canvas>elemen tidak memiliki batas dan konten.

Untuk menambahkan batas, gunakan styleatribut:

coba masukkan kode html berikut:

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>

canvas {

    border: 1px solid #d3d3d3;

    background-color: #f1f1f1;

}

</style>

</head>

<body onload="startGame()">

<script>


function startGame() {

    myGameArea.start();

}


var myGameArea = {

    canvas : document.createElement("canvas"),

    start : function() {

        this.canvas.width = 480;

        this.canvas.height = 270;

        this.context = this.canvas.getContext("2d");

        document.body.insertBefore(this.canvas, document.body.childNodes[0]);

    }

}


</script>


<p>kita sudah membuat kanvas tempat membuat game! (or at least an empty canvas)</p>


</body>

</html>

Tambahkan Komponen

Buat konstruktor komponen, yang memungkinkan Anda menambahkan komponen ke dalam gamearea.

Konstruktor objek disebut component, dan kita membuat komponen pertama kita, yang disebut myGamePiece:

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>

canvas {

    border:1px solid #d3d3d3;

    background-color: #f1f1f1;

}

</style>

</head>

<body onload="startGame()">

<script>


var myGamePiece;


function startGame() {

    myGameArea.start();

    myGamePiece = new component(30, 30, "red", 10, 120);

}


var myGameArea = {

    canvas : document.createElement("canvas"),

    start : function() {

        this.canvas.width = 480;

        this.canvas.height = 270;

        this.context = this.canvas.getContext("2d");

        document.body.insertBefore(this.canvas, document.body.childNodes[0]);

    }

}


function component(width, height, color, x, y) {

    this.width = width;

    this.height = height;

    this.x = x;

    this.y = y;    

    ctx = myGameArea.context;

    ctx.fillStyle = color;

    ctx.fillRect(this.x, this.y, this.width, this.height);

}


</script>


<p>kita sudah menambah komponen game pada kanvas, sebuah kotak merah!</p>


</body>

</html>


Dapatkan Kendali

Sekarang kita ingin mengendalikan kotak merah.

Tambahkan empat tombol, atas, bawah, kiri, dan kanan.

Tulis fungsi untuk setiap tombol untuk menggerakkan komponen ke arah yang dipilih.

Buat dua properti baru di componentkonstruktor, lalu beri nama speedXdan speedY. Properti ini digunakan sebagai indikator kecepatan.

Tambahkan fungsi dalam componentkonstruktor, yang disebut newPos(), yang menggunakan properti speedXdan speedYuntuk mengubah posisi komponen.

Fungsi newpos dipanggil dari fungsi updateGameArea sebelum menggambar komponen:

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>

canvas {

    border:1px solid #d3d3d3;

    background-color: #f1f1f1;

}

</style>

</head>

<body onload="startGame()">

<script>


var myGamePiece;


function startGame() {

    myGamePiece = new component(30, 30, "red", 10, 120);

    myGameArea.start();

}


var myGameArea = {

    canvas : document.createElement("canvas"),

    start : function() {

        this.canvas.width = 480;

        this.canvas.height = 270;

        this.context = this.canvas.getContext("2d");

        document.body.insertBefore(this.canvas, document.body.childNodes[0]);

        this.interval = setInterval(updateGameArea, 20);

    },

    clear : function() {

        this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);

    }

}


function component(width, height, color, x, y) {

    this.width = width;

    this.height = height;

    this.speedX = 0;

    this.speedY = 0;

    this.x = x;

    this.y = y;    

    this.update = function() {

        ctx = myGameArea.context;

        ctx.fillStyle = color;

        ctx.fillRect(this.x, this.y, this.width, this.height);

    }

    this.newPos = function() {

        this.x += this.speedX;

        this.y += this.speedY;        

    }    

}


function updateGameArea() {

    myGameArea.clear();

    myGamePiece.newPos();    

    myGamePiece.update();

}


function moveup() {

    myGamePiece.speedY -= 1; 

}


function movedown() {

    myGamePiece.speedY += 1; 

}


function moveleft() {

    myGamePiece.speedX -= 1; 

}


function moveright() {

    myGamePiece.speedX += 1; 

}

</script>

<div style="text-align:center;width:480px;">

  <button onclick="moveup()">UP</button><br><br>

  <button onclick="moveleft()">LEFT</button>

  <button onclick="moveright()">RIGHT</button><br><br>

  <button onclick="movedown()">DOWN</button>

</div>


<p>If you click a button the red square will start moving. Click the same button many times, and it will move faster and faster.</p>

</body>

</html>

Berhenti Bergerak

Jika Anda mau, Anda dapat membuat kotak merah berhenti saat Anda melepaskan tombol.

Tambahkan fungsi yang akan mengatur indikator kecepatan ke 0.

Untuk menangani layar normal dan layar sentuh, kami akan menambahkan kode untuk kedua perangkat:

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>

canvas {

    border:1px solid #d3d3d3;

    background-color: #f1f1f1;

}

</style>

</head>

<body onload="startGame()">

<script>


var myGamePiece;


function startGame() {

    myGamePiece = new component(30, 30, "red", 10, 120);

    myGameArea.start();

}


var myGameArea = {

    canvas : document.createElement("canvas"),

    start : function() {

        this.canvas.width = 480;

        this.canvas.height = 270;

        this.context = this.canvas.getContext("2d");

        document.body.insertBefore(this.canvas, document.body.childNodes[0]);

        this.interval = setInterval(updateGameArea, 20);

    },

    clear : function() {

        this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);

    }

}


function component(width, height, color, x, y) {

    this.width = width;

    this.height = height;

    this.speedX = 0;

    this.speedY = 0;

    this.x = x;

    this.y = y;    

    this.update = function() {

        ctx = myGameArea.context;

        ctx.fillStyle = color;

        ctx.fillRect(this.x, this.y, this.width, this.height);

    }

    this.newPos = function() {

        this.x += this.speedX;

        this.y += this.speedY;        

    }    

}


function updateGameArea() {

    myGameArea.clear();

    myGamePiece.newPos();    

    myGamePiece.update();

}


function moveup() {

    myGamePiece.speedY = -1; 

}


function movedown() {

    myGamePiece.speedY = 1; 

}


function moveleft() {

    myGamePiece.speedX = -1; 

}


function moveright() {

    myGamePiece.speedX = 1; 

}


function clearmove() {

    myGamePiece.speedX = 0; 

    myGamePiece.speedY = 0; 

}

</script>

<div style="text-align:center;width:480px;">

  <button onmousedown="moveup()" onmouseup="clearmove()" ontouchstart="moveup()">UP</button><br><br>

  <button onmousedown="moveleft()" onmouseup="clearmove()" ontouchstart="moveleft()">LEFT</button>

  <button onmousedown="moveright()" onmouseup="clearmove()" ontouchstart="moveright()">RIGHT</button><br><br>

  <button onmousedown="movedown()" onmouseup="clearmove()" ontouchstart="movedown()">DOWN</button>

</div>


<p>Jika Anda mengklik tombol, kotak merah akan mulai bergerak. Pergerakan akan berhenti saat Anda berhenti menekan tombol.</p>

<p>Kita telah menambahkan perintah "ontouchstart" pada tombol, untuk membuat contoh ini berfungsi pada perangkat sentuh.</p>

</body>

</html>



Jumat, 11 April 2025

Penggunaan Logika dan Algoritma dalam Game Berbasis Web

1. Pengertian Logika dan Algoritma

  • Logika adalah dasar pengambilan keputusan dalam game. Misalnya: jika karakter menyentuh musuh, maka nyawa berkurang.

  • Algoritma adalah langkah-langkah sistematis yang dijalankan untuk mencapai suatu tujuan, seperti perhitungan skor, pengaturan gerak, dan deteksi tabrakan.


💻 STRUKTUR PEMBUATAN GAME

Kita akan menggunakan tiga file terpisah:

  1. index.html → struktur halaman

  2. style.css → tampilan visual

  3. script.js → logika dan algoritma game


🧱 1. File HTML (index.html)

html
<!DOCTYPE html> <html> <head> <title>Game Lompat</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Game Lompat</h1> <div id="gameArea"> <div id="character"></div> <div id="obstacle"></div> </div> <p id="scoreDisplay">Skor: 0</p> <script src="script.js"></script> </body> </html>

🎨 2. File CSS (style.css)

css
#gameArea { width: 500px; height: 300px; border: 2px solid black; position: relative; overflow: hidden; } #character { width: 30px; height: 30px; background: blue; position: absolute; bottom: 10px; left: 50px; } #obstacle { width: 30px; height: 30px; background: red; position: absolute; bottom: 10px; right: 0; animation: moveObstacle 2s linear infinite; } @keyframes moveObstacle { from { right: 0; } to { right: 500px; } }

⚙️ 3. File JavaScript (script.js)

javascript
let score = 0; document.addEventListener("keydown", function(event) { const char = document.getElementById("character"); if(event.code === "Space") { char.style.bottom = "100px"; setTimeout(() => { char.style.bottom = "10px"; }, 500); } });

💾 Cara Menyimpan dan Menjalankan di Notepad

Langkah-langkah:

  1. Buka Notepad (atau Notepad++)

  2. Salin masing-masing kode ke Notepad

    • Simpan file HTML sebagai: index.html

    • Simpan file CSS sebagai: style.css

    • Simpan file JavaScript sebagai: script.js

  3. Pastikan ketiga file berada dalam folder yang sama

  4. Klik dua kali file index.html → akan terbuka di browser


🔗 Cara Menghubungkan File

  • CSS dihubungkan menggunakan:

    html
    <link rel="stylesheet" href="style.css">
  • JavaScript dihubungkan menggunakan:

    html
    <script src="script.js"></script>